1
0
forked from erp-dev/erp

feat: notifier beta

This commit is contained in:
2026-04-13 12:30:33 +08:00
parent 646dbe7f18
commit 9512132bb9
50 changed files with 17830 additions and 2 deletions

45
mission/signals.py Normal file
View File

@@ -0,0 +1,45 @@
"""
Mission domain signals.
Signals are emitted by the mission service layer after successful business
state transitions. Use transaction.on_commit at send sites so handlers only run
after the database transaction is committed.
"""
from django.dispatch import Signal
# Payload:
# - instance: Mission
# - created_by: Employee
mission_created = Signal()
# Payload:
# - instance: MissionReply
# - mission: Mission
# - responder: Employee
mission_replied = Signal()
# Payload:
# - instance: Mission
# - completed_by: Employee
# - reply: MissionReply
mission_completed = Signal()
# Payload:
# - instance: MissionReply
# - mission: Mission
# - rejected_by: Employee
# - reason: "reject_reply" | "reopen"
mission_reply_rejected = Signal()
# Payload:
# - instance: Mission
# - reopened_by: Employee
# - rejected_reply_ids: list[int]
mission_reopened = Signal()
# Payload:
# - instance: Mission
# - cancelled_by: Employee
mission_cancelled = Signal()