Roles And Permissions
This guide explains how to interact with the admin manage the roles and permissions.
Get Roles
Endpoint
- Method: GET
- URL:
/v1/admin/roles
Request Headers
| Header | Value | Required |
|---|---|---|
| Content-Type | application/json | Yes |
| Accept | application/json | Yes |
| Authorization | Bearer token | Yes |
Query Parameters
| Parameter | Type | Description | Required | Default |
|---|---|---|---|---|
| search_text | string | Rols's name | No | null |
Success Response
{
"success": true,
"message": "تم جلب بيانات المدرب بنجاح",
"data": {
"roles": [
{
"id": 1,
"name": "admin",
"permissionsCount": 47,
"usersCount": 53
},
],
},
"statusCode": 200
}
Error Response
Unauthorized (401)
{
"success": false,
"message": "يجب عليك تسجيل الدخول",
"data": [],
"statusCode": 401
}
Show Role
Endpoint
- Method: GET
- URL:
/v1/admin/roles/{id}
Request Headers
| Header | Value | Required |
|---|---|---|
| Content-Type | application/json | Yes |
| Accept | application/json | Yes |
| Authorization | Bearer token | Yes |
Success Response
{
"success": true,
"message": "تم جلب بيانات المدرب بنجاح",
"data": {
"id": 1,
"name": "admin",
"permissions": {
"المستخدمين": [
{
"id": 1,
"name": "coaches",
"nameAr": "المستشارين",
"children": [
{
"id": 25,
"name": "show_coaches",
"parentId": 1,
"nameAr": "عرض قائمة المستشارين",
"isActive": true,
"children": []
},
{
"id": 26,
"name": "modify_coach",
"parentId": 1,
"nameAr": "تعديل وحذف وتصدير وتمييز مستشار",
"isActive": true,
"children": []
}
]
},
]
},
"permissionsIds": [
25,
26,
]
},
"statusCode": 200
}
Error Response
Unauthorized (401)
{
"success": false,
"message": "يجب عليك تسجيل الدخول",
"data": [],
"statusCode": 401
}
Create Role
Endpoint
- Method: POST
- URL:
/v1/admin/roles
Request Headers
| Header | Value | Required |
|---|---|---|
| Content-Type | application/json | Yes |
| Accept | application/json | Yes |
| Authorization | Bearer token | Yes |
Request Body
| Parameter | Type | Description | Required | Validation Rules |
|---|---|---|---|---|
| name | string | Rols's name | Yes | required, string, max:255, unique |
| permissions | array | Rols's permissions | No | exists:permissions,id |
Success Response
{
"success": true,
"message": "تم جلب بيانات المدرب بنجاح",
"data": {
"id": 67,
"name": "extera_role",
"permissions": {
"المستخدمين": [
{
"id": 1,
"name": "coaches",
"nameAr": "المستشارين",
"children": [
{
"id": 25,
"name": "show_coaches",
"parentId": 1,
"nameAr": "عرض قائمة المستشارين",
"isActive": false,
"children": []
},
{
"id": 26,
"name": "modify_coach",
"parentId": 1,
"nameAr": "تعديل وحذف وتصدير وتمييز مستشار",
"isActive": false,
"children": []
}
]
},
]
}
},
"statusCode": 200
}
Error Response
Unauthorized (401)
{
"success": false,
"message": "يجب عليك تسجيل الدخول",
"data": [],
"statusCode": 401
}
Validation (422)
{
"success": false,
"message": "حدث خطأ في البيانات المرسلة يرجى التحقق منها.",
"errors": {
"name": "يجب أن يحتوي الاسم على حروف انجليزية صغيرة أو رمز الشرطة السفلية فقط."
},
"data": [],
"statusCode": 422
}
Update Role
Endpoint
- Method: PATCH
- URL:
/v1/admin/roles/{id}
Request Headers
| Header | Value | Required |
|---|---|---|
| Content-Type | application/json | Yes |
| Accept | application/json | Yes |
| Authorization | Bearer token | Yes |
Request Body
| Parameter | Type | Description | Required | Validation Rules |
|---|---|---|---|---|
| name | string | Rols's name | Yes | required, string, max:255, unique |
| permissions | array | Rols's permissions | No | exists:permissions,id |
Success Response
{
"success": true,
"message": "تم جلب بيانات المدرب بنجاح",
"data": {
"id": 67,
"name": "extera_role",
"permissions": {
"المستخدمين": [
{
"id": 1,
"name": "coaches",
"nameAr": "المستشارين",
"children": [
{
"id": 25,
"name": "show_coaches",
"parentId": 1,
"nameAr": "عرض قائمة المستشارين",
"isActive": false,
"children": []
},
{
"id": 26,
"name": "modify_coach",
"parentId": 1,
"nameAr": "تعديل وحذف وتصدير وتمييز مستشار",
"isActive": false,
"children": []
}
]
},
]
}
},
"statusCode": 200
}
Error Response
Unauthorized (401)
{
"success": false,
"message": "يجب عليك تسجيل الدخول",
"data": [],
"statusCode": 401
}
Validation (422)
{
"success": false,
"message": "حدث خطأ في البيانات المرسلة يرجى التحقق منها.",
"errors": {
"name": "يجب أن يحتوي الاسم على حروف انجليزية صغيرة أو رمز الشرطة السفلية فقط."
},
"data": [],
"statusCode": 422
}
All Permissions
Endpoint
- Method: GET
- URL:
/v1/admin/permissions
Request Headers
| Header | Value | Required |
|---|---|---|
| Content-Type | application/json | Yes |
| Accept | application/json | Yes |
| Authorization | Bearer token | Yes |
Success Response
{
"success": true,
"message": "تم التحقق من رقم جوالك بنجاح",
"data": {
"permissions": {
"المستخدمين": [
{
"id": 1,
"name": "coaches",
"nameAr": "المستشارين",
"children": [
{
"id": 25,
"name": "show_coaches",
"parentId": 1,
"nameAr": "عرض قائمة المستشارين",
"isActive": false,
"children": []
},
{
"id": 26,
"name": "modify_coach",
"parentId": 1,
"nameAr": "تعديل وحذف وتصدير وتمييز مستشار",
"isActive": false,
"children": []
}
]
},
]
},
],
"statusCode": 200
}
Error Response
Unauthorized (401)
{
"success": false,
"message": "يجب عليك تسجيل الدخول",
"data": [],
"statusCode": 401
}