Untitled
unknown
plain_text
a year ago
2.0 kB
6
Indexable
import { MissingEnvironmentVariableError, isMissingEnvironmentVariableError, } from "@lambdas/shared/configuration"; import { UnsupportedEnvironmentNameError, isUnsupportedEnvironmentNameError, } from "@lambdas/shared/configuration/unsupportedEnvironmentNameError"; import { HTTP_CODES } from "@lambdas/shared/constants"; import { Response, sendError, sendSuccess } from "@lambdas/shared/helpers"; import { KycAuditTrail } from "@lambdas/shared/models/KycAuditTrail"; import { DatabaseQueryError, isDatabaseQueryError, } from "@lambdas/shared/types"; import { AuditTrailQueryParserError } from "./getAuditTrailQueryParser"; type Errors = | MissingEnvironmentVariableError | DatabaseQueryError | UnsupportedEnvironmentNameError | AuditTrailQueryParserError; export const encodeError = (error: Errors): Response => { if (isMissingEnvironmentVariableError(error)) { return sendError({ status: HTTP_CODES.INTERNAL_SERVER_ERROR, messageCode: "missingEnvironmentVariable", message: `Missing environment variable with name: ${error.variableName}`, }); } else if (isDatabaseQueryError(error)) { return sendError({ status: HTTP_CODES.INTERNAL_SERVER_ERROR, messageCode: "infrastructureError", message: `Unexpected database error while processing this request: ${String( error.error )}.`, }); } else if (isUnsupportedEnvironmentNameError(error)) { return sendError({ status: HTTP_CODES.INTERNAL_SERVER_ERROR, messageCode: "UnsupportedEnvironmentNameError", message: `Unsupported Environment Name Error: ${error.environmentName}`, }); } else { return sendError({ status: HTTP_CODES.CLIENT_ERROR, messageCode: "invalidRequest", message: error.reasons, }); } }; export const encodeSuccess = (data: ReadonlyArray<KycAuditTrail>): Response => sendSuccess({ status: HTTP_CODES.OK, data });
Editor is loading...
Leave a Comment