123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174 |
- # ===============================================
- # USERS
- # ===============================================
- extend type Query {
- users (
- page: Int
- pageSize: Int
- orderBy: UserOrderBy
- orderByDirection: OrderByDirection
- # Filter by name / email
- filter: String
- ): [UserMinimal]
- userById(
- id: UUID!
- ): User
- lastLogins: [UserLastLogin]
- }
- extend type Mutation {
- createUser(
- email: String!
- name: String!
- password: String!
- groups: [UUID]!
- mustChangePassword: Boolean!
- sendWelcomeEmail: Boolean!
- ): UserResponse
- updateUser(
- id: UUID!
- patch: UserUpdateInput!
- ): DefaultResponse
- deleteUser(
- id: UUID!
- replaceId: UUID!
- ): DefaultResponse
- verifyUser(
- id: UUID!
- ): DefaultResponse
- activateUser(
- id: UUID!
- ): DefaultResponse
- deactivateUser(
- id: UUID!
- ): DefaultResponse
- enableUserTFA(
- id: UUID!
- ): DefaultResponse
- disableUserTFA(
- id: UUID!
- ): DefaultResponse
- resetUserPassword(
- id: Int!
- ): DefaultResponse
- updateProfile(
- name: String
- location: String
- jobTitle: String
- pronouns: String
- timezone: String
- dateFormat: String
- timeFormat: String
- appearance: UserSiteAppearance
- cvd: UserCvdChoices
- ): DefaultResponse
- uploadUserAvatar(
- id: UUID!
- image: Upload!
- ): DefaultResponse
- clearUserAvatar(
- id: UUID!
- ): DefaultResponse
- }
- # -----------------------------------------------
- # TYPES
- # -----------------------------------------------
- type UserResponse {
- operation: Operation
- user: User
- }
- type UserLastLogin {
- id: UUID
- name: String
- lastLoginAt: Date
- }
- type UserMinimal {
- id: UUID
- name: String
- email: String
- isSystem: Boolean
- isActive: Boolean
- createdAt: Date
- lastLoginAt: Date
- }
- type User {
- id: UUID
- name: String
- email: String
- auth: [UserAuth]
- hasAvatar: Boolean
- isSystem: Boolean
- isActive: Boolean
- isVerified: Boolean
- meta: JSON
- prefs: JSON
- createdAt: Date
- updatedAt: Date
- lastLoginAt: Date
- groups: [Group]
- }
- type UserAuth {
- authId: UUID
- authName: String
- strategyKey: String
- strategyIcon: String
- config: JSON
- }
- type UserTokenResponse {
- operation: Operation
- jwt: String
- }
- enum UserOrderBy {
- id
- email
- name
- createdAt
- updatedAt
- lastLoginAt
- }
- enum UserSiteAppearance {
- site
- light
- dark
- }
- enum UserCvdChoices {
- none
- protanopia
- deuteranopia
- tritanopia
- }
- input UserUpdateInput {
- email: String
- name: String
- newPassword: String
- groups: [UUID!]
- isActive: Boolean
- isVerified: Boolean
- meta: JSON
- prefs: JSON
- }
|