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
- }
|