mirror of https://github.com/requarks/wiki
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
168 lines
2.5 KiB
168 lines
2.5 KiB
# ===============================================
|
|
# USERS
|
|
# ===============================================
|
|
|
|
extend type Query {
|
|
users (
|
|
page: Int
|
|
pageSize: Int
|
|
orderBy: UserOrderBy
|
|
orderByDirection: OrderByDirection
|
|
# Filter by name / email
|
|
filter: String
|
|
): [UserMinimal]
|
|
|
|
userById(
|
|
id: UUID!
|
|
): User
|
|
|
|
profile: UserProfile
|
|
|
|
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!
|
|
timezone: String!
|
|
dateFormat: String!
|
|
appearance: String!
|
|
): UserTokenResponse
|
|
|
|
changePassword(
|
|
current: String!
|
|
new: String!
|
|
): UserTokenResponse
|
|
}
|
|
|
|
# -----------------------------------------------
|
|
# 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: JSON
|
|
isSystem: Boolean
|
|
isActive: Boolean
|
|
isVerified: Boolean
|
|
meta: JSON
|
|
prefs: JSON
|
|
createdAt: Date
|
|
updatedAt: Date
|
|
lastLoginAt: Date
|
|
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 {
|
|
operation: Operation
|
|
jwt: String
|
|
}
|
|
|
|
enum UserOrderBy {
|
|
id
|
|
email
|
|
name
|
|
createdAt
|
|
updatedAt
|
|
lastLoginAt
|
|
}
|
|
|
|
input UserUpdateInput {
|
|
email: String
|
|
name: String
|
|
newPassword: String
|
|
groups: [UUID!]
|
|
isActive: Boolean
|
|
isVerified: Boolean
|
|
meta: JSON
|
|
prefs: JSON
|
|
}
|