feat(events): Add assignment transfer event types and emit functions
Add event logging constants for assignment transfer events: - AssignmentTransferRequest: Request initiated by user - AssignmentTransferApprove: Leader approved transfer - AssignmentTransferReject: Leader rejected transfer with reason - AssignmentTransferAppeal: User appealed a rejection - AssignmentTransferResolve: Final resolution by superuser - AssignmentTransferComplete: Transfer completed successfully - AssignmentTransferCancel: Transfer cancelled Add assignment-transfers to GameEventLogs TARGET_COLLECTIONS Add emitGameEvent support for all transfer event types in src/utils/event-log/emit.ts This provides audit trail and notification support for the transfer workflow.
This commit is contained in:
parent
be459cde0f
commit
a8854034d3
3 changed files with 12 additions and 1 deletions
|
|
@ -26,6 +26,7 @@ const TARGET_COLLECTIONS = [
|
||||||
{ label: "Evaluations", value: "evaluations" },
|
{ label: "Evaluations", value: "evaluations" },
|
||||||
{ label: "Tickets", value: "tickets" },
|
{ label: "Tickets", value: "tickets" },
|
||||||
{ label: "Game Servers", value: "game-servers" },
|
{ label: "Game Servers", value: "game-servers" },
|
||||||
|
{ label: "Assignment Transfers", value: "assignment-transfers" },
|
||||||
] as const;
|
] as const;
|
||||||
|
|
||||||
export const GameEventLogs: CollectionConfig = {
|
export const GameEventLogs: CollectionConfig = {
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,8 @@ interface GameEventInput {
|
||||||
| "market-negotiations"
|
| "market-negotiations"
|
||||||
| "evaluations"
|
| "evaluations"
|
||||||
| "tickets"
|
| "tickets"
|
||||||
| "game-servers";
|
| "game-servers"
|
||||||
|
| "assignment-transfers";
|
||||||
targetId?: number;
|
targetId?: number;
|
||||||
data?: Record<string, unknown>;
|
data?: Record<string, unknown>;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -120,6 +120,15 @@ export const EventTypes = {
|
||||||
ReleaseUpdate: "release:update",
|
ReleaseUpdate: "release:update",
|
||||||
ReleaseStart: "release:start",
|
ReleaseStart: "release:start",
|
||||||
ReleaseComplete: "release:complete",
|
ReleaseComplete: "release:complete",
|
||||||
|
|
||||||
|
// Assignment Transfers
|
||||||
|
AssignmentTransferRequest: "assignment-transfer:request",
|
||||||
|
AssignmentTransferApprove: "assignment-transfer:approve",
|
||||||
|
AssignmentTransferReject: "assignment-transfer:reject",
|
||||||
|
AssignmentTransferAppeal: "assignment-transfer:appeal",
|
||||||
|
AssignmentTransferResolve: "assignment-transfer:resolve",
|
||||||
|
AssignmentTransferComplete: "assignment-transfer:complete",
|
||||||
|
AssignmentTransferCancel: "assignment-transfer:cancel",
|
||||||
} as const;
|
} as const;
|
||||||
|
|
||||||
export type EventType = (typeof EventTypes)[keyof typeof EventTypes];
|
export type EventType = (typeof EventTypes)[keyof typeof EventTypes];
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue