Files
adventure/packages/application/src/ports/action-events.repository.ts
Zaine 8cff315496
Some checks failed
CI / test (push) Has been cancelled
change
2026-07-03 16:26:54 +01:00

31 lines
812 B
TypeScript

export type ActionEventRecord = {
id: string;
userId: string;
actionType: string;
entityType: string;
entityId: string;
summary: string;
beforeState: Record<string, unknown>;
afterState: Record<string, unknown>;
metadata: Record<string, unknown> | null;
createdAt: Date;
undoneAt: Date | null;
};
export type RecordActionInput = {
userId: string;
actionType: string;
entityType: string;
entityId: string;
summary: string;
beforeState: Record<string, unknown>;
afterState: Record<string, unknown>;
metadata?: Record<string, unknown>;
};
export interface ActionEventsRepository {
recordAction(input: RecordActionInput): Promise<ActionEventRecord>;
getActionEvent(id: string, userId: string): Promise<ActionEventRecord | null>;
markUndone(id: string): Promise<void>;
}