statuses
Bu tablo sistem içinde kullanılan durumları sözlük biçiminde tutar.
Kullanıcı aktif midir, pasif midir, engellenmiş midir gibi durumlar veri modelinde normalize biçimde tutulur. Durum kodlarını her yerde hardcode etmek yerine, sözlük tablosuyla merkezi olarak yönetilir. Böylece yeni durum tipi eklemek, açıklamasını güncellemek tek yerden yapılabilir. Ayrıca farklı kaynaklar (cihaz, modem, SIM) için kategori kayıtları da burada tutulabilir — diğer tablolarda kullanılabilecek durum sınıflandırması sunulmuş olur. Kısaca: sistemde hangi statü tipi vardır, statü kodları nelerdir ve ne anlama gelir sorusunun cevabı bu tabloda yer alır.
Bu tablo yalnız durum sözlüğü tutmuş. Bir kullanıcının hangi statüye sahip olduğu users tablosundadır. Durum geçmişi/tarihçesi (durumu kim ne zaman değiştirdi) bu tabloda değildir — o permission_grants'e benzer şekilde ayrı audit tablosu gerekebilir. Kısaca: bir kullanıcı hangi statüdedir sorusunun cevabı burada değildir.
Kolonlar
| Kolon | Tip | Null | Kısıtlar | Anlamı |
|---|---|---|---|---|
id | int | hayır | PK | Durum kodu |
name | varchar(100) | hayır | UNIQUE | Durum adı |
description | varchar(255) | evet | - | Durum açıklaması |
Örnek Kayıtlar
- Kullanıcı Hesap Durumları (200-208)
- Durum Kategorileri
[
{ "id": 200, "name": "System", "description": "Sistem servis hesabı statüsü; insan kullanıcı yaşam döngüsüne dahil değildir." },
{ "id": 201, "name": "Unverified", "description": "Yeni kayıt; SMS doğrulaması bekleniyor." },
{ "id": 202, "name": "Active", "description": "Aktif hesap; tam sistem erişimi ve hizmetler." },
{ "id": 203, "name": "Blocked", "description": "Engellenen hesap; kural ihlali veya güvenlik nedeniyle admin blokladı." },
{ "id": 204, "name": "Suspended", "description": "Askıya alınan; uzun süre kullanılmadığı için geçici erişim engeli. Bu statüde push gönderilmez." },
{ "id": 205, "name": "Limited", "description": "Sınırlı erişim; ödeme eksikliği veya kota aşımı nedeniyle." },
{ "id": 206, "name": "Deleted", "description": "Silinen hesap; kullanıcı kendini sildi (soft delete)." },
{ "id": 207, "name": "Demo", "description": "Deneme hesabı; sistem özelliklerini test etmek için oluşturulan." },
{ "id": 208, "name": "Guest", "description": "Misafir hesabı; kayıt olmadan sınırlı erişim ile giriş." }
]
Akış: 201 (Unverified) → 202 (Active) → [203/204/205/206]
[
{ "id": 100, "name": "Device Status Category", "description": "Cihaz durumları için kategori kaydı." },
{ "id": 150, "name": "User Status Category", "description": "Kullanıcı durumları için kategori kaydı (200 serisi)." },
{ "id": 300, "name": "Modem Status Category", "description": "Modem durumları için kategori kaydı." },
{ "id": 400, "name": "SIM Status Category", "description": "SIM kart durumları için kategori kaydı." }
]
Özet: Farklı varlık tiplerine (cihaz, kullanıcı, modem, SIM) ait durum kategorileri. Her kategori altında alt statüler tanımlanabilir.