Bir bildirim kuralı (NotificationRule), bir olay tipini, bir alıcıyı, bir teslim kanalını, bir şablon anahtarını ve bir bekleme süresini adlandıran bir ayar kaydıdır. Kayıtlar auth modülünde modules/auth/notification_rules/ altında durur ve auth ayarlarının Bildirim Kuralı sekmesi olarak görünür. Bu sayfa alanları, metadata'nın sunduğu seçenekleri ve uçları listeler. Intranet bildirimleri ayrı bir özelliktir; bkz. intranet bildirimleri ve teslim.
Kapsam ve kaynak¶
- Tanımlandığı yer:
src/cluster_erp/modules/auth/notification_rules/models.py(NotificationRule),schemas.py(NotificationRuleCreate,NotificationRuleUpdate,NotificationRuleRead),services.py(NotificationRuleService),routes.pyvemetadata.py(NOTIFICATION_RULE_META). - Sayı: temel sütunlar dışında 7 saklı alan, 3 alıcı tipi, 3 kanal, 6 uç. Model, seçenek listeleri ve uç dekoratörleri okunarak sayıldı.
Alanlar¶
platform_notification_rules tablosu temel model sütunlarına ek olarak şu sütunları tutar (src/cluster_erp/modules/auth/notification_rules/models.py:9-44).
| Ad | Tür | Varsayılan | Anlam | Kaynak |
|---|---|---|---|---|
event_type |
String(100), dizinli |
yok | Kuralın ilgili olduğu olay, serbest metin olarak | src/cluster_erp/modules/auth/notification_rules/models.py:12-16 |
recipient_type |
String(20) |
yok | Alıcı türü; metadata user, role, email sunar |
src/cluster_erp/modules/auth/notification_rules/models.py:17-20 |
recipient_value |
String(100) |
yok | Kuralın hedeflediği kullanıcı, rol veya adres | src/cluster_erp/modules/auth/notification_rules/models.py:21-24 |
channel |
String(20) |
yok | Teslim kanalı; metadata in_app, email, webhook sunar |
src/cluster_erp/modules/auth/notification_rules/models.py:25-28 |
template_key |
String(100) |
yok | İleti şablonunun anahtarı | src/cluster_erp/modules/auth/notification_rules/models.py:29-32 |
is_active |
Boolean |
true |
Kuralın kullanımda olup olmadığı | src/cluster_erp/modules/auth/notification_rules/models.py:33-38 |
cooldown_minutes |
Integer |
0 |
Kuralın iki bildirimi arasındaki en az dakika | src/cluster_erp/modules/auth/notification_rules/models.py:39-44 |
Metadata seçenekleri¶
Seçenek listeleri yalnızca metadata'da vardır; model ve şemalar izin verilen uzunlukta her dizgeyi kabul eder (src/cluster_erp/modules/auth/notification_rules/metadata.py:16-26, src/cluster_erp/modules/auth/notification_rules/schemas.py:9-16).
| Liste | Değerler | Kaynak |
|---|---|---|
RECIPIENT_TYPE_CHOICES |
user, role, email |
src/cluster_erp/modules/auth/notification_rules/metadata.py:16-20 |
CHANNEL_CHOICES |
in_app, email, webhook |
src/cluster_erp/modules/auth/notification_rules/metadata.py:22-26 |
Liste görünümü yedi alanı sütun olarak gösterir, aranabilir ve kanala göre süzer (src/cluster_erp/modules/auth/notification_rules/metadata.py:46-99).
Uçlar ve izinler¶
Tüm uçlar /api/v1/auth/notification-rules altındadır (src/cluster_erp/modules/auth/notification_rules/routes.py:21).
| Uç | İzin | Etki | Kaynak |
|---|---|---|---|
GET / |
notification_rule.read |
active_only ve search ile listeler |
src/cluster_erp/modules/auth/notification_rules/routes.py:24-33 |
POST / |
notification_rule.create |
Yaratır | src/cluster_erp/modules/auth/notification_rules/routes.py:36-44 |
GET /{rule_id} |
notification_rule.read |
Birini okur | src/cluster_erp/modules/auth/notification_rules/routes.py:47-57 |
PUT /{rule_id} |
notification_rule.update |
Kısmi günceller | src/cluster_erp/modules/auth/notification_rules/routes.py:60-71 |
DELETE /{rule_id} |
notification_rule.delete |
deleted_at basar |
src/cluster_erp/modules/auth/notification_rules/routes.py:74-82 |
POST /bulk-delete |
notification_rule.delete |
Birçok satıra deleted_at basar |
src/cluster_erp/modules/auth/notification_rules/routes.py:85-93 |
Kısıtlar ve doğrulama¶
event_type,recipient_type,recipient_value,channelvetemplate_keyboş olmamalı ve sütun uzunlukları içinde kalmalıdır (src/cluster_erp/modules/auth/notification_rules/schemas.py:9-16).cooldown_minutesiçin formda en az değer 0'dır (src/cluster_erp/modules/auth/notification_rules/metadata.py:155-162); şema sınır koymaz (src/cluster_erp/modules/auth/notification_rules/schemas.py:16).- Arama
event_type,recipient_valuevetemplate_keyalanlarında eşleşir (src/cluster_erp/modules/auth/notification_rules/services.py:37-44). bulk_deleteORM yardımcısıbulk_soft_deleteüzerinden gider; böylece her devre dışı bırakma değişiklik geçmişine yazılır (src/cluster_erp/modules/auth/notification_rules/services.py:85-89). Bkz. değişiklik geçmişi.- Alt modül dışında hiçbir kod bu kayıtları okumaz:
src/cluster_erpüzerindeNotificationRule,platform_notification_rulesvecooldown_minutesiçingrepyalnızca alt modülü ve auth toplayıcı dosyalarını bulur. Bu kurallardan hangi bileşenin bildirim gönderdiği koddan belirlenemedi.
Tanıtılan terimler¶
| Terim | Kod tanımlayıcısı | Tanım | Türkçe terim | Kaynak |
|---|---|---|---|---|
| notification rule | NotificationRule |
Bir olay tipini bir alıcıya, kanala, şablona ve bekleme süresine bağlayan ayar kaydı. | Bildirim Kuralı | src/cluster_erp/modules/auth/notification_rules/models.py:9 |
| cooldown | cooldown_minutes |
Bir kuralın iki bildirimi arasındaki en az dakika sayısı. | bekleme süresi | src/cluster_erp/modules/auth/notification_rules/models.py:39 |
İlgili sayfalar¶
92f8051 numaralı commit ile 2026-11-13 tarihinde doğrulandı.