From a8854034d3d41eca30293e14338514d53d93c44e Mon Sep 17 00:00:00 2001 From: Z8MB1E Date: Mon, 31 Aug 2026 23:40:08 -0400 Subject: [PATCH] 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. --- src/collections/game/GameEventLogs.ts | 1 + src/utils/event-log/emit.ts | 3 ++- src/utils/event-log/eventTypes.ts | 9 +++++++++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/collections/game/GameEventLogs.ts b/src/collections/game/GameEventLogs.ts index d100cf2..5308ab2 100644 --- a/src/collections/game/GameEventLogs.ts +++ b/src/collections/game/GameEventLogs.ts @@ -26,6 +26,7 @@ const TARGET_COLLECTIONS = [ { label: "Evaluations", value: "evaluations" }, { label: "Tickets", value: "tickets" }, { label: "Game Servers", value: "game-servers" }, + { label: "Assignment Transfers", value: "assignment-transfers" }, ] as const; export const GameEventLogs: CollectionConfig = { diff --git a/src/utils/event-log/emit.ts b/src/utils/event-log/emit.ts index 02a0afb..19d7c8c 100644 --- a/src/utils/event-log/emit.ts +++ b/src/utils/event-log/emit.ts @@ -30,7 +30,8 @@ interface GameEventInput { | "market-negotiations" | "evaluations" | "tickets" - | "game-servers"; + | "game-servers" + | "assignment-transfers"; targetId?: number; data?: Record; } diff --git a/src/utils/event-log/eventTypes.ts b/src/utils/event-log/eventTypes.ts index 0e6508b..fbce9a3 100644 --- a/src/utils/event-log/eventTypes.ts +++ b/src/utils/event-log/eventTypes.ts @@ -120,6 +120,15 @@ export const EventTypes = { ReleaseUpdate: "release:update", ReleaseStart: "release:start", 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; export type EventType = (typeof EventTypes)[keyof typeof EventTypes];