From 94ca9896db7e2a1f485a301c9acb75ddc8785280 Mon Sep 17 00:00:00 2001 From: Br0wnHammer Date: Fri, 27 Mar 2026 20:05:03 +0530 Subject: [PATCH] feat(dlq): add DLQItem type definitions for dead letter queue --- server/src/types/dlqItem.ts | 20 ++++++++++++++++++++ server/src/types/index.ts | 1 + 2 files changed, 21 insertions(+) create mode 100644 server/src/types/dlqItem.ts 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";