authority_permissions
Bu tablo bir authority kaydına hangi izinlerin atandığını taşır.
Kullanıcının cihaz üzerindeki yetkisi tek tip değildir: bazıları yalnız rapor görüntüler, bazıları not ekler, bazıları pompa başlatır. authority_permissions bu granüler ilişkiyi kurar; hangi authority kaydının hangi izne sahip olduğu burada tutulur. Unique bileşik kısıt sayesinde aynı authority-permission çifti iki kez eklenemez. Kısaca: bir kullanıcının belirli cihaz üzerinde hangi aksiyonları yapabileceği bu tabloda tanımlanır.
Bu tablo izinlerin ne anlama geldiğini değil, yalnızca hangi authority'e hangi iznin atandığını saklar; izin tanımları permissions tablosundadır. Kullanıcı veya cihaz detayları da burada yer almaz. Kısaca: iznin tanımı veya kullanıcı bilgisi burada değildir.
İstisna kuralı: ai_agent rolündeki servis kullanıcıları cihaz bazlı authority taşımadığı için bu tabloda satırı olmaz.
Kolonlar
| Kolon | Tip | Null | Kısıtlar | Anlamı |
|---|---|---|---|---|
id | int | hayır | PK, AUTO INCREMENT | İlişki anahtarı |
authority_id | int | hayır | FK → authorities.id | Authority kaydı |
permission_id | int | hayır | FK → permissions.id | Verilen izin |
is_active | boolean | hayır | DEFAULT: true | İzin aktif mi |
granted_by | int | evet | FK → users.id | İzni atayan kullanıcı |
create_time | timestamp | hayır | - | Oluşturma zamanı |
update_time | timestamp | hayır | - | Güncelleme zamanı |
Unique Constraint: (authority_id, permission_id)
Örnek Kayıtlar
- Operatör Notları
- Operatör Raporlama
- Sahip Yetkileri
[
{ "id": 1, "authority_id": 2, "permission_id": 3, "is_active": true, "granted_by": 1, "create_time": "2026-04-03T10:05:00Z", "update_time": "2026-04-03T10:05:00Z" },
{ "id": 2, "authority_id": 2, "permission_id": 4, "is_active": true, "granted_by": 1, "create_time": "2026-04-03T10:05:00Z", "update_time": "2026-04-03T10:05:00Z" }
]
Özet: authority_id: 2 için not ekleme ve not düzenleme izinleri verilmiş. Operatör sahada veri girebilir ama bu örnekte kritik cihaz komutlarına erişmez.
[
{ "id": 3, "authority_id": 2, "permission_id": 7, "is_active": true, "granted_by": 1, "create_time": "2026-04-03T10:05:00Z", "update_time": "2026-04-03T10:05:00Z" },
{ "id": 4, "authority_id": 2, "permission_id": 11, "is_active": true, "granted_by": 1, "create_time": "2026-04-03T10:05:00Z", "update_time": "2026-04-03T10:05:00Z" }
]
Özet: Aynı operatör authority kaydına finans görüntüleme ve rapor görüntüleme izinleri atanmış. Böylece kullanıcı veri görebilir ama pompa başlatma gibi fiziksel aksiyonları yine yapamaz.
[
{ "id": 5, "authority_id": 3, "permission_id": 1, "is_active": true, "granted_by": 1, "create_time": "2026-04-03T10:10:00Z", "update_time": "2026-04-03T10:10:00Z" },
{ "id": 6, "authority_id": 3, "permission_id": 2, "is_active": true, "granted_by": 1, "create_time": "2026-04-03T10:10:00Z", "update_time": "2026-04-03T10:10:00Z" },
{ "id": 7, "authority_id": 3, "permission_id": 3, "is_active": true, "granted_by": 1, "create_time": "2026-04-03T10:10:00Z", "update_time": "2026-04-03T10:10:00Z" },
{ "id": 8, "authority_id": 3, "permission_id": 4, "is_active": true, "granted_by": 1, "create_time": "2026-04-03T10:10:00Z", "update_time": "2026-04-03T10:10:00Z" },
{ "id": 9, "authority_id": 3, "permission_id": 5, "is_active": true, "granted_by": 1, "create_time": "2026-04-03T10:10:00Z", "update_time": "2026-04-03T10:10:00Z" },
{ "id": 10, "authority_id": 3, "permission_id": 11, "is_active": true, "granted_by": 1, "create_time": "2026-04-03T10:10:00Z", "update_time": "2026-04-03T10:10:00Z" }
]
Özet: authority_id: 3 için pompa kontrolü, not görüntüleme/ekleme/düzenleme ve rapor görüntüleme izinleri atanmış. Bu set cihaz sahibinin daha geniş operasyonel yetkiyle çalıştığını gösterir.