| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 | 
							- # ===============================================
 
- # GROUPS
 
- # ===============================================
 
- extend type Query {
 
-   groups(
 
-     filter: String
 
-     orderBy: String
 
-   ): [Group]
 
-   groupById(
 
-     id: UUID!
 
-   ): Group
 
- }
 
- extend type Mutation {
 
-   createGroup(
 
-     name: String!
 
-   ): GroupResponse
 
-   updateGroup(
 
-     id: UUID!
 
-     name: String!
 
-     redirectOnLogin: String!
 
-     permissions: [String]!
 
-     rules: [GroupRuleInput]!
 
-   ): DefaultResponse
 
-   deleteGroup(
 
-     id: UUID!
 
-   ): DefaultResponse
 
-   assignUserToGroup(
 
-     groupId: UUID!
 
-     userId: UUID!
 
-   ): DefaultResponse
 
-   unassignUserFromGroup(
 
-     groupId: UUID!
 
-     userId: UUID!
 
-   ): DefaultResponse
 
- }
 
- # -----------------------------------------------
 
- # TYPES
 
- # -----------------------------------------------
 
- type GroupResponse {
 
-   operation: Operation
 
-   group: Group
 
- }
 
- type Group {
 
-   id: UUID
 
-   name: String
 
-   isSystem: Boolean
 
-   redirectOnLogin: String
 
-   redirectOnFirstLogin: String
 
-   redirectOnLogout: String
 
-   permissions: [String]
 
-   rules: [GroupRule]
 
-   users(
 
-     page: Int
 
-     pageSize: Int
 
-     orderBy: UserOrderBy
 
-     orderByDirection: OrderByDirection
 
-     # Filter by name / email
 
-     filter: String
 
-     ): [UserMinimal]
 
-   userCount: Int
 
-   createdAt: Date
 
-   updatedAt: Date
 
- }
 
- type GroupRule {
 
-   id: UUID
 
-   name: String
 
-   mode: GroupRuleMode
 
-   match: GroupRuleMatch
 
-   roles: [String]
 
-   path: String
 
-   locales: [String]
 
-   sites: [UUID]
 
- }
 
- input GroupRuleInput {
 
-   id: UUID!
 
-   name: String!
 
-   mode: GroupRuleMode!
 
-   match: GroupRuleMatch!
 
-   roles: [String]!
 
-   path: String!
 
-   locales: [String]!
 
-   sites: [UUID]
 
- }
 
- enum GroupRuleMode {
 
-   ALLOW
 
-   DENY
 
-   FORCEALLOW
 
- }
 
- enum GroupRuleMatch {
 
-   START
 
-   EXACT
 
-   END
 
-   REGEX
 
-   TAG
 
-   TAGALL
 
- }
 
 
  |