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şlemleripermissions.assign- Rol-Permission atama
Request
Headers
| Header | Değer | Zorunlu |
|---|---|---|
Authorization | Bearer \{token\} | Evet |
Content-Type | application/json | Evet |
Request Body
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
role_id | integer | Evet* | Rol ID'si |
role_slug | string | Evet* | Rol slug'ı |
permission_id | integer | Evet* | Permission ID'si |
permission_slug | string | Evet* | 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
Related Endpoints
- Rol'den Permission Kaldır - Role permission kaldırma
- Rol Detayı - Rol detayını getir