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.