1
0
forked from erp-dev/erp
Files
erpnew/mission/signals.py
2026-04-13 12:30:33 +08:00

46 lines
951 B
Python

"""
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()