package notification import "time" const ( EventStageReadyToAdvance = "stage.ready_to_advance" EventStageReadyReminder24 = "stage.ready_to_advance.reminder24" TypeStageReadyToAdvance = "stage_ready_to_advance" TypeStageReadyReminder24 = "stage_ready_reminder_24h" ) // StageReadyPayload Outbox / 通知载荷。 type StageReadyPayload struct { ProjectID int64 `json:"project_id"` WorkflowInstanceID int64 `json:"workflow_instance_id"` StageInstanceID int64 `json:"stage_instance_id"` StageKey string `json:"stage_key"` StageName string `json:"stage_name"` ConfigRevision int `json:"config_revision"` RequiredDocCount int `json:"required_doc_count"` ApprovedDocCount int `json:"approved_doc_count"` DocID string `json:"doc_id,omitempty"` ProposalID string `json:"proposal_id,omitempty"` BatchID string `json:"batch_id,omitempty"` } // Notification 用户站内通知。 type Notification struct { ID int64 `json:"id"` UserID int64 `json:"user_id"` ProjectID int64 `json:"project_id"` EventID int64 `json:"event_id,omitempty"` Type string `json:"type"` Title string `json:"title"` Body string `json:"body"` Status string `json:"status"` Severity string `json:"severity,omitempty"` DigestID int64 `json:"digest_id,omitempty"` CreatedAt time.Time `json:"created_at"` Payload StageReadyPayload `json:"payload,omitempty"` }