| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 | # ===============================================# 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"])}# -----------------------------------------------# 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  ): DefaultResponse @auth(requires: ["manage:users", "manage:system"])  delete(    id: Int!  ): DefaultResponse @auth(requires: ["manage:users", "manage:system"])  resetPassword(    id: Int!  ): DefaultResponse}# -----------------------------------------------# TYPES# -----------------------------------------------type UserResponse {  responseResult: ResponseStatus!  user: User}type UserMinimal {  id: Int!  name: String!  email: String!  providerKey: String!  isSystem: Boolean!  createdAt: Date!}type User {  id: Int!  name: String!  email: String!  providerKey: String!  providerId: String  isSystem: Boolean!  isActive: Boolean!  isVerified: Boolean!  location: String!  jobTitle: String!  timezone: String!  createdAt: Date!  updatedAt: Date!  groups: [Group]!}
 |