Back to website: www.pluvo.com
<aside> 💡 See schema for more information about the schema.
</aside>
type User {
id: UUID!
isActive: Boolean!
email: String!
name: String!
ref: String
roles: [Role]
profileImage: String!
language: Language!
extraFields: JSONString!
afasEmployeeId: String
afasPersonId: String
}
Get a list of all users in your organization.
query users {
users {
ref
name
email
isActive
}
}
query users {
users(active: true) {
ref
name
email
}
}
Get a single user in your organization. You can use the ref
of the user to get it.
query user {
user(ref: "user-ref") {
ref
name
email
isActive
}
}
Create a new user in your organization, you can pass your own custom ref
.
mutation createUser {
createUser(sendInvite: true, user: {ref: "user-ref", name: "Test User", email: "[email protected]"}) {
user {
ref
name
email
}
}
}
Update a user using ref
.
mutation updateUser {
updateUser(ref: "user-ref", user: {name: "New name"}) {
user {
ref
name
email
}
}
}
The create user will give an error when a user already exists, to prevent doing two requests each times to create and/or update an user we can send a updateOrCreate
request.
You can use a ref
or email
as the selector, if no user is found with this selector it will create a new one. When sendInvite
is set to true
the new user gets an invite e-mail.
# Use ref
mutation updateOrCreateUser {
updateOrCreateUser(sendInvite: true, ref: "user-ref", user: {name: "New name", email: "[email protected]", afasEmployeeId: "123" }) {
created # Is the user created.
user {
id
ref
email
name
}
}
}
# Use email
mutation updateOrCreateUser {
updateOrCreateUser(sendInvite: true, email: "[email protected]", user: {name: "New name", email: "[email protected]"}) {
created # Is the user created.
user {
id
ref
email
name
}
}
}
To disable a user we can archive it. This can be done via the updateUser
mutation
mutation updateUser {
updateUser(ref: "user-ref", user: {isActive: false}) {
user {
ref
name
isActive
}
}
}