Skip to main content

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

HeaderValueRequired
Content-Typeapplication/jsonYes
Acceptapplication/jsonYes
AuthorizationBearer tokenYes

Query Parameters

ParameterTypeDescriptionRequiredDefault
search_textstringRols's nameNonull

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

HeaderValueRequired
Content-Typeapplication/jsonYes
Acceptapplication/jsonYes
AuthorizationBearer tokenYes

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

HeaderValueRequired
Content-Typeapplication/jsonYes
Acceptapplication/jsonYes
AuthorizationBearer tokenYes

Request Body

ParameterTypeDescriptionRequiredValidation Rules
namestringRols's nameYesrequired, string, max:255, unique
permissionsarrayRols's permissionsNoexists: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

HeaderValueRequired
Content-Typeapplication/jsonYes
Acceptapplication/jsonYes
AuthorizationBearer tokenYes

Request Body

ParameterTypeDescriptionRequiredValidation Rules
namestringRols's nameYesrequired, string, max:255, unique
permissionsarrayRols's permissionsNoexists: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

HeaderValueRequired
Content-Typeapplication/jsonYes
Acceptapplication/jsonYes
AuthorizationBearer tokenYes

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
}