123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180 |
- # ===============================================
- # USERS
- # ===============================================
- extend type Query {
- users: UserQuery
- }
- extend type Mutation {
- users: UserMutation
- }
- # -----------------------------------------------
- # QUERIES
- # -----------------------------------------------
- type UserQuery {
- list(
- filter: String
- orderBy: String
- ): [UserMinimal] @auth(requires: ["write:users", "manage:users", "manage:system"])
- search(
- query: String!
- ): [UserMinimal] @auth(requires: ["write:groups", "manage:groups", "write:users", "manage:users", "manage:system"])
- single(
- id: Int!
- ): User @auth(requires: ["manage:users", "manage:system"])
- profile: UserProfile
- lastLogins: [UserLastLogin] @auth(requires: ["write:groups", "manage:groups", "write:users", "manage:users", "manage:system"])
- }
- # -----------------------------------------------
- # MUTATIONS
- # -----------------------------------------------
- type UserMutation {
- create(
- email: String!
- name: String!
- passwordRaw: String
- providerKey: String!
- groups: [Int]!
- mustChangePassword: Boolean
- sendWelcomeEmail: Boolean
- ): UserResponse @auth(requires: ["write:users", "manage:users", "manage:system"])
- update(
- id: Int!
- email: String
- name: String
- newPassword: String
- groups: [Int]
- location: String
- jobTitle: String
- timezone: String
- dateFormat: String
- appearance: String
- ): DefaultResponse @auth(requires: ["manage:users", "manage:system"])
- delete(
- id: Int!
- replaceId: Int!
- ): DefaultResponse @auth(requires: ["manage:users", "manage:system"])
- verify(
- id: Int!
- ): DefaultResponse @auth(requires: ["manage:users", "manage:system"])
- activate(
- id: Int!
- ): DefaultResponse @auth(requires: ["manage:users", "manage:system"])
- deactivate(
- id: Int!
- ): DefaultResponse @auth(requires: ["manage:users", "manage:system"])
- enableTFA(
- id: Int!
- ): DefaultResponse @auth(requires: ["manage:users", "manage:system"])
- disableTFA(
- id: Int!
- ): DefaultResponse @auth(requires: ["manage:users", "manage:system"])
- resetPassword(
- id: Int!
- ): DefaultResponse
- updateProfile(
- name: String!
- location: String!
- jobTitle: String!
- timezone: String!
- dateFormat: String!
- appearance: String!
- ): UserTokenResponse
- changePassword(
- current: String!
- new: String!
- ): UserTokenResponse
- }
- # -----------------------------------------------
- # TYPES
- # -----------------------------------------------
- type UserResponse {
- responseResult: ResponseStatus!
- user: User
- }
- type UserLastLogin {
- id: Int!
- name: String!
- lastLoginAt: Date!
- }
- type UserMinimal {
- id: Int!
- name: String!
- email: String!
- providerKey: String!
- isSystem: Boolean!
- isActive: Boolean!
- createdAt: Date!
- lastLoginAt: Date
- }
- type User {
- id: Int!
- name: String!
- email: String!
- providerKey: String!
- providerName: String
- providerId: String
- providerIs2FACapable: Boolean
- isSystem: Boolean!
- isActive: Boolean!
- isVerified: Boolean!
- location: String!
- jobTitle: String!
- timezone: String!
- dateFormat: String!
- appearance: String!
- createdAt: Date!
- updatedAt: Date!
- lastLoginAt: Date
- tfaIsActive: Boolean!
- groups: [Group]!
- }
- type UserProfile {
- id: Int!
- name: String!
- email: String!
- providerKey: String
- providerName: String
- isSystem: Boolean!
- isVerified: Boolean!
- location: String!
- jobTitle: String!
- timezone: String!
- dateFormat: String!
- appearance: String!
- createdAt: Date!
- updatedAt: Date!
- lastLoginAt: Date
- groups: [String]!
- pagesTotal: Int!
- }
- type UserTokenResponse {
- responseResult: ResponseStatus!
- jwt: String
- }
|