1
0
Fork 0

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:
Jason Fraley 2026-08-31 23:40:08 -04:00
parent be459cde0f
commit a8854034d3
3 changed files with 12 additions and 1 deletions

View file

@ -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 = {

View file

@ -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>;
} }

View file

@ -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];