Skip to main content

Rol'e Permission Ata

Role permission atar.

Endpoint

POST /api/v1/roles/assign-permission

Authentication

Bu endpoint authentication gerektirir.

Header: Authorization: Bearer \{token\}

Permission

  • admin.manage - Admin yönetim işlemleri
  • permissions.assign - Rol-Permission atama

Request

Headers

HeaderDeğerZorunlu
AuthorizationBearer \{token\}Evet
Content-Typeapplication/jsonEvet

Request Body

ParametreTipZorunluAçıklama
role_idintegerEvet*Rol ID'si
role_slugstringEvet*Rol slug'ı
permission_idintegerEvet*Permission ID'si
permission_slugstringEvet*Permission slug'ı

* role_id veya role_slug'dan biri, permission_id veya permission_slug'dan biri zorunludur.

Example Request

{
"role_id": 1,
"permission_id": 5
}

veya

{
"role_slug": "mgmt.editor",
"permission_slug": "content.manage"
}

Response

Success Response (200 OK)

{
"id": 1,
"name": "Super Admin",
"slug": "mgmt.superadmin",
"priority": 10,
"is_active": true,
"permissions": [
{
"id": 5,
"name": "İçerik Yönetimi",
"slug": "content.manage"
}
]
}

Error Responses

403 Forbidden

{
"message": "Rol-Permission atama yetkiniz yok"
}

403 Forbidden (Hiyerarşi Kontrolü)

{
"message": "Bu izni atama yetkiniz yok",
"permission_priority": 5,
"your_highest_permission_priority": 10,
"your_role_priority": 20
}

Code Examples

cURL

curl -X POST https://api.example.com/api/v1/roles/assign-permission \
-H "Authorization: Bearer \{token\}" \
-H "Content-Type: application/json" \
-d '{
"role_id": 1,
"permission_id": 5
}'

Notes

  • Kullanıcı sadece kendi seviyesinden düşük permission'ları atayabilir
  • Role ID veya slug, permission ID veya slug kullanılabilir