permissions
Bu tablo aksiyon seviyesindeki izin sözlüğünü taşır.
Bir authority kaydı yalnız “bu kullanıcı cihazla ilişkili” demekle kalmaz; ayrıca neler yapabileceği de bilinmelidir. İzin kodlarının kod tabanına veya her servise dağılmaması için bunlar bir sözlük tablosunda normalize biçimde tutulur. Ortak sözlük sayesinde yeni izin tipi eklemek, pasif hale getirmek veya açıklamasını güncellemek tek yerden yapılabilir. Kısaca: sistemde hangi aksiyon izinleri vardır sorusunun cevabı bu tabloda yer alır.
Bu tablo izin sözlüğü olduğu için hangi kullanıcının hangi izne sahip olduğu burada tutulmaz; o ilişki authority_permissions tablosundadır. Bir iznin belirli bir cihaz veya authority ile bağlantısı da bu tabloda değildir. Kısaca: kim hangi izne sahip sorusunun cevabı burada değildir.
AI agent politika notu: ai_agent rolü sadece okuma amaçlı izinleri kullanır (notes.view, finances.view, reports.view gibi). pump.start, pump.stop, device.settings.change gibi komut/yazma etkili izinler bu role verilmez.
Kolonlar
| Kolon | Tip | Null | Kısıtlar | Anlamı |
|---|---|---|---|---|
id | int | hayır | PK, AUTO INCREMENT | İzin anahtarı |
code | varchar(100) | hayır | UNIQUE | Teknik izin kodu |
name | varchar(150) | hayır | - | İnsan okunur ad |
description | varchar(255) | evet | - | Açıklama |
is_active | boolean | hayır | DEFAULT: true | Aktiflik durumu |
create_time | timestamp | hayır | - | Oluşturma zamanı |
update_time | timestamp | hayır | - | Güncelleme zamanı |
Örnek Kayıtlar
- Pompa Kontrol
- Not Yönetimi
- Finans Yönetimi
- Rapor ve Ayar
[
{ "id": 1, "code": "pump.start", "name": "Pompa Başlat", "description": "Cihaz üzerinden pompa başlatma yetkisi", "is_active": true, "create_time": "2024-01-01T00:00:00Z", "update_time": "2024-01-01T00:00:00Z" },
{ "id": 2, "code": "pump.stop", "name": "Pompa Durdur", "description": "Cihaz üzerinden pompa durdurma yetkisi", "is_active": true, "create_time": "2024-01-01T00:00:00Z", "update_time": "2024-01-01T00:00:00Z" }
]
Özet: Cihaz üzerindeki fiziksel pompa başlatma/durdurma aksiyonları. Kritik komutlardır; dikkatli atanmalıdır.
[
{ "id": 3, "code": "notes.view", "name": "Not Görüntüle", "description": "Kayıtlı notları görüntüleme yetkisi", "is_active": true, "create_time": "2024-01-01T00:00:00Z", "update_time": "2024-01-01T00:00:00Z" },
{ "id": 4, "code": "notes.add", "name": "Not Ekle", "description": "Yeni not oluşturma yetkisi", "is_active": true, "create_time": "2024-01-01T00:00:00Z", "update_time": "2024-01-01T00:00:00Z" },
{ "id": 5, "code": "notes.edit", "name": "Not Düzenle", "description": "Mevcut notu güncelleme yetkisi", "is_active": true, "create_time": "2024-01-01T00:00:00Z", "update_time": "2024-01-01T00:00:00Z" },
{ "id": 6, "code": "notes.delete", "name": "Not Sil", "description": "Not silme yetkisi", "is_active": true, "create_time": "2024-01-01T00:00:00Z", "update_time": "2024-01-01T00:00:00Z" }
]
Özet: CRUD izin seti. notes.view bağımsız verilebilir; notes.delete ise daha kısıtlı tutulmalıdır.
[
{ "id": 7, "code": "finances.view", "name": "Finans Görüntüle", "description": "Finansal kayıtları görüntüleme yetkisi", "is_active": true, "create_time": "2024-01-01T00:00:00Z", "update_time": "2024-01-01T00:00:00Z" },
{ "id": 8, "code": "finances.add", "name": "Finans Ekle", "description": "Yeni finansal kayıt oluşturma yetkisi", "is_active": true, "create_time": "2024-01-01T00:00:00Z", "update_time": "2024-01-01T00:00:00Z" },
{ "id": 9, "code": "finances.edit", "name": "Finans Düzenle", "description": "Mevcut finansal kaydı güncelleme yetkisi", "is_active": true, "create_time": "2024-01-01T00:00:00Z", "update_time": "2024-01-01T00:00:00Z" },
{ "id": 10, "code": "finances.delete", "name": "Finans Sil", "description": "Finansal kayıt silme yetkisi", "is_active": true, "create_time": "2024-01-01T00:00:00Z", "update_time": "2024-01-01T00:00:00Z" }
]
Özet: Finansal CRUD izinleri. finances.delete hassas işlem sayılır; yalnız yetkili kullanıcılara verilmelidir.
[
{ "id": 11, "code": "reports.view", "name": "Rapor Görüntüle", "description": "Sistem raporlarını görüntüleme yetkisi", "is_active": true, "create_time": "2024-01-01T00:00:00Z", "update_time": "2024-01-01T00:00:00Z" },
{ "id": 12, "code": "device.settings.change", "name": "Cihaz Ayar Değiştir", "description": "Cihaz yapılandırmasını değiştirme yetkisi", "is_active": true, "create_time": "2024-01-01T00:00:00Z", "update_time": "2024-01-01T00:00:00Z" }
]
Özet: Raporlama ve cihaz yapılandırma izinleri. Özellikle device.settings.change donanım davranışını etkiler; dikkatli atanmalıdır.