wikijs-fork/server/graph/schemas/user.graphql

103 lines
1.5 KiB
GraphQL

# ===============================================
# USERS
# ===============================================
extend type Query {
users: UserQuery
}
extend type Mutation {
users: UserMutation
}
# -----------------------------------------------
# QUERIES
# -----------------------------------------------
type UserQuery {
list(
filter: String
orderBy: String
): [UserMinimal]
search(
query: String!
): [UserMinimal]
single(
id: Int!
): User
}
# -----------------------------------------------
# MUTATIONS
# -----------------------------------------------
type UserMutation {
create(
email: String!
name: String
passwordRaw: String
provider: String!
providerId: String
role: UserRole!
): UserResponse
update(
id: Int!
email: String
name: String
provider: String
providerId: String
role: UserRole
): UserResponse
delete(
id: Int!
): DefaultResponse
resetPassword(
id: Int!
): DefaultResponse
setPassword(
id: Int!
passwordRaw: String!
): DefaultResponse
}
# -----------------------------------------------
# TYPES
# -----------------------------------------------
enum UserRole {
guest
user
admin
}
type UserResponse {
responseResult: ResponseStatus!
user: User
}
type UserMinimal {
id: Int!
name: String!
email: String!
providerKey: String!
createdAt: Date!
}
type User {
id: Int!
name: String!
email: String!
providerKey: String!
providerId: String
role: UserRole!
createdAt: Date!
updatedAt: Date!
groups: [Group]
}