Tüm isteklerde X-Tenant header’ı zorunludur. İşlemler ve listelemeler sadece belirtilen tenant’a bağlı ve assistant rolüne sahip kullanıcılar ile sınırlandırılmıştır.
Endpoint özeti
| Metot | Endpoint | Açıklama |
|---|
GET | /api/v1/assistants | Asistanları filtreli olarak listeler |
GET | /api/v1/assistants/{id} | Tek bir asistanı detaylı getirir |
POST | /api/v1/assistants | Yeni asistan oluşturur |
PUT | /api/v1/assistants/{id} | Asistanı kısmi günceller |
DELETE | /api/v1/assistants/{id} | Asistanı soft delete eder |
DELETE | /api/v1/assistants/{id}/force | Asistanı kalıcı olarak siler |
Tüm parametreler, alanlar ve örnek istek/yanıtlar için API Referansı sekmesine bakın.
Asistan kavramı
Asistanlar, sistemde klinikteki randevu süreçlerine, hasta işlemlerine veya operasyonel süreçlere destek veren kullanıcı (User) profilleridir.
Arka planda standart bir “Kullanıcı (User)” modeli olarak tutulurlar; ancak API isteklerinde otomatik olarak assistant rolüne göre filtrelenir ve izole edilirler.
İş kuralları
Limit kontrolü (oluşturma): Yeni asistan aktif (is_active: true) olarak oluşturuluyorsa, sistem tenant’ın maksimum aktif kullanıcı limitini kontrol eder. Limit aşılırsa işlem reddedilir (422).
Rol atama: Asistan başarıyla oluşturulduktan sonra arka planda otomatik olarak tenant’a bağlanır ve kendisine assistant rolü atanır. Tenant içinde bu rol tanımlı değilse işlem hata verir.
Aktivasyon limiti (güncelleme): Asistanın durumu pasiften aktife (is_active: false → true) çekilmek isteniyorsa, sistem tenant’ın aktif kullanıcı limitini tekrar kontrol eder. Limit doluysa güncelleme reddedilir (422).
Tekil asistan görüntüleme (GET /api/v1/assistants/{id}) sorgusunda soft delete edilmiş asistanlar da varsayılan olarak döndürülür.
Yetkilendirme
Asistanlar arka planda birer kullanıcı (User) olduğu için uygulama içi izinler User nesnesi üzerinden kontrol edilir.
Uygulama izinleri (permissions)
| İşlem | Permission |
|---|
| Listeleme | ViewAny:User |
| Detay / Tek gösterme | View:User |
| Oluşturma | Create:User |
| Güncelleme | Update:User |
| Silme (soft delete) | Delete:User |
| Kalıcı silme (force delete) | ForceDelete:User |
Token scope’ları (Passport)
| İşlem | Scope |
|---|
Okuma (index, show) | assistants:read |
Yazma (store, update, destroy, forceDelete) | assistants:write |