import { FlowExecCtx } from "@/core/flow.execution.context"; import { ERROR_CODES, type Err } from "@pkg/result"; import { getError } from "@pkg/logger"; export const notificationErrors = { dbError: (fctx: FlowExecCtx, detail: string): Err => getError({ flowId: fctx.flowId, code: ERROR_CODES.DATABASE_ERROR, message: "Database operation failed", description: "Please try again later", detail, }), getNotificationsFailed: (fctx: FlowExecCtx, detail: string): Err => getError({ flowId: fctx.flowId, code: ERROR_CODES.DATABASE_ERROR, message: "Failed to fetch notifications", description: "Please try again later", detail, }), markAsReadFailed: (fctx: FlowExecCtx, detail: string): Err => getError({ flowId: fctx.flowId, code: ERROR_CODES.DATABASE_ERROR, message: "Failed to mark notifications as read", description: "Please try again later", detail, }), markAsUnreadFailed: (fctx: FlowExecCtx, detail: string): Err => getError({ flowId: fctx.flowId, code: ERROR_CODES.DATABASE_ERROR, message: "Failed to mark notifications as unread", description: "Please try again later", detail, }), archiveFailed: (fctx: FlowExecCtx, detail: string): Err => getError({ flowId: fctx.flowId, code: ERROR_CODES.DATABASE_ERROR, message: "Failed to archive notifications", description: "Please try again later", detail, }), unarchiveFailed: (fctx: FlowExecCtx, detail: string): Err => getError({ flowId: fctx.flowId, code: ERROR_CODES.DATABASE_ERROR, message: "Failed to unarchive notifications", description: "Please try again later", detail, }), deleteNotificationsFailed: (fctx: FlowExecCtx, detail: string): Err => getError({ flowId: fctx.flowId, code: ERROR_CODES.DATABASE_ERROR, message: "Failed to delete notifications", description: "Please try again later", detail, }), getUnreadCountFailed: (fctx: FlowExecCtx, detail: string): Err => getError({ flowId: fctx.flowId, code: ERROR_CODES.DATABASE_ERROR, message: "Failed to get unread count", description: "Please try again later", detail, }), };