27 lines
706 B
TypeScript
27 lines
706 B
TypeScript
|
|
/**
|
||
|
|
* Order Events - Shared Contracts
|
||
|
|
*
|
||
|
|
* Shared event payloads for Server-Sent Events used by both the BFF
|
||
|
|
* and the frontend. Keeping these definitions in the domain package
|
||
|
|
* guarantees both layers stay in sync when the payload evolves.
|
||
|
|
*/
|
||
|
|
|
||
|
|
export type OrderUpdateStage = "started" | "in_progress" | "completed" | "failed";
|
||
|
|
|
||
|
|
export interface OrderStreamEvent<T extends string = string, P = unknown> {
|
||
|
|
event: T;
|
||
|
|
data: P;
|
||
|
|
}
|
||
|
|
|
||
|
|
export interface OrderUpdateEventPayload {
|
||
|
|
orderId: string;
|
||
|
|
status?: string;
|
||
|
|
activationStatus?: string | null;
|
||
|
|
message?: string;
|
||
|
|
reason?: string;
|
||
|
|
stage?: OrderUpdateStage;
|
||
|
|
source?: string;
|
||
|
|
timestamp: string;
|
||
|
|
payload?: Record<string, unknown> | null;
|
||
|
|
}
|