Ana içeriğe geç

Kullanıcı Permission Güncelle

Kullanıcının permission'ını günceller (is_active değiştir).

Endpoint

PUT /api/v1/users/\{user\}/permissions/\{permission?\}
PATCH /api/v1/users/\{user\}/permissions/\{permission?\}

Authentication

Bu endpoint authentication gerektirir.

Header: Authorization: Bearer \{token\}

Permission

  • users.permissions.assign - Kullanıcıya permission atama

Request

Headers

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

Path Parameters

ParametreTipZorunluAçıklama
userinteger/stringEvetKullanıcı ID veya UUID
permissioninteger/stringHayırPermission ID veya slug (route'da yoksa body'den alınır)

Request Body

ParametreTipZorunluAçıklama
permission_idintegerEvet*Permission ID'si (route'da permission yoksa)
permission_slugstringEvet*Permission slug'ı (route'da permission yoksa)
is_activebooleanEvetPermission ver/kaldır (true: ver, false: reddet)

* Route'da permission parametresi yoksa, permission_id veya permission_slug'dan biri zorunludur.

Example Request

{
"is_active": false
}

veya (route'da permission yoksa):

{
"permission_id": 5,
"is_active": false
}

Response

Success Response (200 OK)

{
"message": "Permission kullanıcıdan başarıyla kaldırıldı",
"user": {
"id": 1,
"uuid": "550e8400-e29b-41d4-a716-446655440000",
"email": "user@example.com",
"permissions": []
}
}

Error Responses

403 Forbidden

{
"message": "Forbidden"
}

403 Forbidden (Sistem Rolleri)

{
"message": "Sistem rolüne sahip kullanıcılardan (system.toor, server.root) permission kaldırılamaz"
}

Code Examples

cURL

curl -X PATCH https://api.example.com/api/v1/users/550e8400-e29b-41d4-a716-446655440000/permissions/5 \
-H "Authorization: Bearer \{token\}" \
-H "Content-Type: application/json" \
-d '{
"is_active": false
}'

Notes

  • Route'da permission parametresi varsa, body'den permission_id veya permission_slug alınmaz
  • Sistem rolüne sahip kullanıcılardan permission kaldırılamaz (is_active=false)