Skip to content

Users (GraphQL)

Users

Manage users using GraphQL queries and mutations.

Schema Types

UserType

type UserType {
id: ID!
name: String!
email: String!
phone: Float
image: String
roles: [String!]!
isActive: Boolean!
}

CreateUserInput

input CreateUserInput {
name: String!
email: String!
password: String!
phone: Float
}

Queries

Get All Users

Retrieve all users. Requires authentication.

Query:

query GetUsers {
users {
id
name
email
phone
image
roles
isActive
}
}

Headers Required:

{
"Authorization": "Bearer YOUR_JWT_TOKEN"
}

Response:

{
"data": {
"users": [
{
"id": "507f1f77bcf86cd799439011",
"name": "John Doe",
"email": "john@example.com",
"phone": 1234567890,
"image": "https://example.com/avatar.jpg",
"roles": ["user"],
"isActive": true
}
]
}
}

Get User by ID

Retrieve a specific user by ID. Requires authentication.

Query:

query GetUser {
user(id: "507f1f77bcf86cd799439011") {
id
name
email
phone
image
roles
isActive
}
}

Headers Required:

{
"Authorization": "Bearer YOUR_JWT_TOKEN"
}

Get Current User (Me)

Get the currently authenticated user’s information.

Query:

query GetMe {
me {
id
name
email
phone
image
roles
isActive
}
}

Headers Required:

{
"Authorization": "Bearer YOUR_JWT_TOKEN"
}

Response:

{
"data": {
"me": {
"id": "507f1f77bcf86cd799439011",
"name": "John Doe",
"email": "john@example.com",
"phone": 1234567890,
"image": "https://example.com/avatar.jpg",
"roles": ["user", "admin"],
"isActive": true
}
}
}

Mutations

Create User

Create a new user account.

Mutation:

mutation CreateUser {
createUser(createUserInput: {
name: "Jane Smith"
email: "jane@example.com"
password: "SecurePassword123!"
phone: 9876543210
}) {
id
name
email
phone
roles
isActive
}
}

Response:

{
"data": {
"createUser": {
"id": "507f1f77bcf86cd799439012",
"name": "Jane Smith",
"email": "jane@example.com",
"phone": 9876543210,
"roles": ["user"],
"isActive": true
}
}
}

Delete User

Delete a user by ID. Requires authentication and admin role.

Mutation:

mutation DeleteUser {
deleteUser(id: "507f1f77bcf86cd799439011")
}

Headers Required:

{
"Authorization": "Bearer YOUR_JWT_TOKEN"
}

Response:

{
"data": {
"deleteUser": "User deleted successfully"
}
}

User Roles

Users can have the following roles:

  • user: Basic user with limited permissions
  • admin: Administrator with full access

Roles are assigned automatically upon user creation. The first user typically receives admin privileges.