132 lines
4.4 KiB
TypeScript
132 lines
4.4 KiB
TypeScript
import { FlowExecCtx } from "@core/flow.execution.context";
|
|
import { ERROR_CODES, type Err } from "@pkg/result";
|
|
import { getError } from "@pkg/logger";
|
|
|
|
export const mobileErrors = {
|
|
adminOwnerNotFound: (fctx: FlowExecCtx): Err =>
|
|
getError({
|
|
flowId: fctx.flowId,
|
|
code: ERROR_CODES.NOT_FOUND,
|
|
message: "Admin owner not found",
|
|
description: "No admin user exists to own this device",
|
|
detail: "Unable to resolve an admin user for device registration",
|
|
}),
|
|
|
|
invalidPayload: (fctx: FlowExecCtx, detail: string): Err =>
|
|
getError({
|
|
flowId: fctx.flowId,
|
|
code: ERROR_CODES.VALIDATION_ERROR,
|
|
message: "Invalid mobile payload",
|
|
description: "Please validate request data and try again",
|
|
detail,
|
|
}),
|
|
|
|
deviceNotFound: (fctx: FlowExecCtx, externalDeviceId: string): Err =>
|
|
getError({
|
|
flowId: fctx.flowId,
|
|
code: ERROR_CODES.NOT_FOUND,
|
|
message: "Device not found",
|
|
description: "The device is not registered",
|
|
detail: `externalDeviceId=${externalDeviceId}`,
|
|
}),
|
|
|
|
deviceNotFoundById: (fctx: FlowExecCtx, deviceId: number): Err =>
|
|
getError({
|
|
flowId: fctx.flowId,
|
|
code: ERROR_CODES.NOT_FOUND,
|
|
message: "Device not found",
|
|
description: "The device does not exist",
|
|
detail: `deviceId=${deviceId}`,
|
|
}),
|
|
|
|
mediaAssetNotFound: (fctx: FlowExecCtx, mediaAssetId: number): Err =>
|
|
getError({
|
|
flowId: fctx.flowId,
|
|
code: ERROR_CODES.NOT_FOUND,
|
|
message: "Media asset not found",
|
|
description: "The media asset does not exist",
|
|
detail: `mediaAssetId=${mediaAssetId}`,
|
|
}),
|
|
|
|
registerDeviceFailed: (fctx: FlowExecCtx, detail: string): Err =>
|
|
getError({
|
|
flowId: fctx.flowId,
|
|
code: ERROR_CODES.DATABASE_ERROR,
|
|
message: "Failed to register device",
|
|
description: "Please try again later",
|
|
detail,
|
|
}),
|
|
|
|
pingDeviceFailed: (fctx: FlowExecCtx, detail: string): Err =>
|
|
getError({
|
|
flowId: fctx.flowId,
|
|
code: ERROR_CODES.DATABASE_ERROR,
|
|
message: "Failed to update device ping",
|
|
description: "Please try again later",
|
|
detail,
|
|
}),
|
|
|
|
syncSMSFailed: (fctx: FlowExecCtx, detail: string): Err =>
|
|
getError({
|
|
flowId: fctx.flowId,
|
|
code: ERROR_CODES.DATABASE_ERROR,
|
|
message: "Failed to sync SMS",
|
|
description: "Please try again later",
|
|
detail,
|
|
}),
|
|
|
|
syncMediaFailed: (fctx: FlowExecCtx, detail: string): Err =>
|
|
getError({
|
|
flowId: fctx.flowId,
|
|
code: ERROR_CODES.DATABASE_ERROR,
|
|
message: "Failed to sync media assets",
|
|
description: "Please try again later",
|
|
detail,
|
|
}),
|
|
|
|
listDevicesFailed: (fctx: FlowExecCtx, detail: string): Err =>
|
|
getError({
|
|
flowId: fctx.flowId,
|
|
code: ERROR_CODES.DATABASE_ERROR,
|
|
message: "Failed to list devices",
|
|
description: "Please try again later",
|
|
detail,
|
|
}),
|
|
|
|
listSMSFailed: (fctx: FlowExecCtx, detail: string): Err =>
|
|
getError({
|
|
flowId: fctx.flowId,
|
|
code: ERROR_CODES.DATABASE_ERROR,
|
|
message: "Failed to list SMS",
|
|
description: "Please try again later",
|
|
detail,
|
|
}),
|
|
|
|
listMediaFailed: (fctx: FlowExecCtx, detail: string): Err =>
|
|
getError({
|
|
flowId: fctx.flowId,
|
|
code: ERROR_CODES.DATABASE_ERROR,
|
|
message: "Failed to list media assets",
|
|
description: "Please try again later",
|
|
detail,
|
|
}),
|
|
|
|
deleteMediaFailed: (fctx: FlowExecCtx, detail: string): Err =>
|
|
getError({
|
|
flowId: fctx.flowId,
|
|
code: ERROR_CODES.DATABASE_ERROR,
|
|
message: "Failed to delete media asset",
|
|
description: "Please try again later",
|
|
detail,
|
|
}),
|
|
|
|
deleteDeviceFailed: (fctx: FlowExecCtx, detail: string): Err =>
|
|
getError({
|
|
flowId: fctx.flowId,
|
|
code: ERROR_CODES.DATABASE_ERROR,
|
|
message: "Failed to delete device",
|
|
description: "Please try again later",
|
|
detail,
|
|
}),
|
|
};
|