diff --git a/server/src/types/dlqItem.ts b/server/src/types/dlqItem.ts new file mode 100644 index 000000000..da882ace5 --- /dev/null +++ b/server/src/types/dlqItem.ts @@ -0,0 +1,20 @@ +export const DLQItemTypes = ["notification", "incident_create", "incident_resolve"] as const; +export type DLQItemType = (typeof DLQItemTypes)[number]; + +export const DLQItemStatuses = ["pending", "retrying", "failed"] as const; +export type DLQItemStatus = (typeof DLQItemStatuses)[number]; + +export interface DLQItem { + id: string; + type: DLQItemType; + status: DLQItemStatus; + payload: Record; + monitorId: string; + teamId: string; + retryCount: number; + maxRetries: number; + lastError: string; + nextRetryAt: string; + createdAt: string; + updatedAt: string; +} diff --git a/server/src/types/index.ts b/server/src/types/index.ts index e5b7bf59d..89de348e2 100644 --- a/server/src/types/index.ts +++ b/server/src/types/index.ts @@ -14,3 +14,4 @@ export * from "@/types/incident.js"; export * from "@/types/email.js"; export * from "@/types/team.js"; export * from "@/types/maintenanceWindow.js"; +export * from "@/types/dlqItem.js";