Refactor event payload types and event handling

Extracts common event payload interfaces for entity saved, deleted, and audit logged events

Improves type safety and reduces code duplication by centralizing event payload definitions
This commit is contained in:
Janus C. H. Knudsen 2025-11-21 23:33:48 +01:00
parent 9ea98e3a04
commit 185330402e
3 changed files with 41 additions and 22 deletions

View file

@ -3,7 +3,7 @@
*/
import { IColumnBounds } from "../utils/ColumnDetectionUtils";
import { ICalendarEvent } from "./CalendarTypes";
import { ICalendarEvent, EntityType } from "./CalendarTypes";
/**
* Drag Event Payload Interfaces
@ -103,4 +103,30 @@ export interface IResizeEndEventPayload {
export interface INavButtonClickedEventPayload {
direction: 'next' | 'previous' | 'today';
newDate: Date;
}
// Entity saved event payload
export interface IEntitySavedPayload {
entityType: EntityType;
entityId: string;
operation: 'create' | 'update';
changes: any;
timestamp: number;
}
// Entity deleted event payload
export interface IEntityDeletedPayload {
entityType: EntityType;
entityId: string;
operation: 'delete';
timestamp: number;
}
// Audit logged event payload
export interface IAuditLoggedPayload {
auditId: string;
entityType: EntityType;
entityId: string;
operation: 'create' | 'update' | 'delete';
timestamp: number;
}