Interface: BaseStateSyncEventData
Defined in: shared/types/events.ts:188
Payload for state synchronization events.
Remarksโ
Used to notify frontend about state changes that occurred in the backend. Supports various sync actions including bulk updates, deletions, and individual updates.
Examplesโ
Bulk sync event
const event: StateSyncEventData = {
action: "bulk-sync",
sites: updatedSites,
source: "database",
timestamp: Date.now(),
};
Individual delete event
const event: StateSyncEventData = {
action: "delete",
siteIdentifier: "site_123",
sites: [],
source: "database",
timestamp: Date.now(),
};
Hierarchyโ
Extendsโ
Extended byโ
Indexableโ
[key: string]: unknown
[key: number]: unknown
[key: symbol]: unknown
Propertiesโ
timestampโ
readonly timestamp: number;
Defined in: shared/types/events.ts:104
The time (in milliseconds since epoch) when the event occurred.
Inherited fromโ
_meta?โ
readonly optional _meta?: EventMetadata;
Defined in: shared/types/events.ts:106
Runtime metadata describing the emission context.
Inherited fromโ
BaseStateSyncEventData._meta
_originalMeta?โ
readonly optional _originalMeta?: EventMetadata;
Defined in: shared/types/events.ts:108
Preserves previously attached metadata when re-emitting events.
Inherited fromโ
BaseStateSyncEventData._originalMeta
actionโ
readonly action: "bulk-sync" | "delete" | "update";
Defined in: shared/types/events.ts:190
The synchronization action being performed
revisionโ
readonly revision: number;
Defined in: shared/types/events.ts:195
Monotonic revision counter incremented by the backend for each emitted state sync event.
siteIdentifier?โ
readonly optional siteIdentifier?: string;
Defined in: shared/types/events.ts:197
Site identifier for targeted operations (delete, update)
sourceโ
readonly source: "cache" | "database" | "frontend" | "import" | "monitor-update";
Defined in: shared/types/events.ts:199
Source system that triggered the sync
truncated?โ
readonly optional truncated?: boolean;
Defined in: shared/types/events.ts:201
Indicates the backend omitted the payload due to a size budget.