| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 | # ===============================================# GROUPS# ===============================================extend type Query {  groups: GroupQuery}extend type Mutation {  groups: GroupMutation}# -----------------------------------------------# QUERIES# -----------------------------------------------type GroupQuery {  list(    filter: String    orderBy: String  ): [GroupMinimal] @auth(requires: ["write:groups", "manage:groups", "manage:system"])  single(    id: Int!  ): Group @auth(requires: ["write:groups", "manage:groups", "manage:system"])}# -----------------------------------------------# MUTATIONS# -----------------------------------------------type GroupMutation {  create(    name: String!  ): GroupResponse @auth(requires: ["write:groups", "manage:groups", "manage:system"])  update(    id: Int!    name: String!    permissions: [String]!    pageRules: [PageRuleInput]!  ): DefaultResponse @auth(requires: ["write:groups", "manage:groups", "manage:system"])  delete(    id: Int!  ): DefaultResponse @auth(requires: ["write:groups", "manage:groups", "manage:system"])  assignUser(    groupId: Int!    userId: Int!  ): DefaultResponse @auth(requires: ["write:groups", "manage:groups", "manage:system"])  unassignUser(    groupId: Int!    userId: Int!  ): DefaultResponse @auth(requires: ["write:groups", "manage:groups", "manage:system"])}# -----------------------------------------------# TYPES# -----------------------------------------------type GroupResponse {  responseResult: ResponseStatus!  group: Group}type GroupMinimal {  id: Int!  name: String!  isSystem: Boolean!  userCount: Int  createdAt: Date!  updatedAt: Date!}type Group {  id: Int!  name: String!  isSystem: Boolean!  permissions: [String]!  pageRules: [PageRule]  users: [UserMinimal]  createdAt: Date!  updatedAt: Date!}type PageRule {  id: String!  deny: Boolean!  match: PageRuleMatch!  roles: [String]!  path: String!  locales: [String]!}input PageRuleInput {  id: String!  deny: Boolean!  match: PageRuleMatch!  roles: [String]!  path: String!  locales: [String]!}enum PageRuleMatch {  START  EXACT  END  REGEX}
 |