UNPKG

@russ-b/nestjs-common-tools

Version:
46 lines 2.12 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createApiErrorResponse = createApiErrorResponse; const common_1 = require("@nestjs/common"); const api_error_code_enum_1 = require("./api-error-code.enum"); const HTTP_ERROR_LABELS = { [common_1.HttpStatus.BAD_REQUEST]: 'Bad Request', [common_1.HttpStatus.UNAUTHORIZED]: 'Unauthorized', [common_1.HttpStatus.FORBIDDEN]: 'Forbidden', [common_1.HttpStatus.NOT_FOUND]: 'Not Found', [common_1.HttpStatus.CONFLICT]: 'Conflict', [common_1.HttpStatus.UNPROCESSABLE_ENTITY]: 'Unprocessable Entity', [common_1.HttpStatus.TOO_MANY_REQUESTS]: 'Too Many Requests', [common_1.HttpStatus.INTERNAL_SERVER_ERROR]: 'Internal Server Error', }; const DEFAULT_ERROR_CODES = { [common_1.HttpStatus.BAD_REQUEST]: api_error_code_enum_1.ApiErrorCode.BAD_REQUEST, [common_1.HttpStatus.UNAUTHORIZED]: api_error_code_enum_1.ApiErrorCode.UNAUTHORIZED, [common_1.HttpStatus.FORBIDDEN]: api_error_code_enum_1.ApiErrorCode.FORBIDDEN, [common_1.HttpStatus.NOT_FOUND]: api_error_code_enum_1.ApiErrorCode.NOT_FOUND, [common_1.HttpStatus.CONFLICT]: api_error_code_enum_1.ApiErrorCode.CONFLICT, [common_1.HttpStatus.UNPROCESSABLE_ENTITY]: api_error_code_enum_1.ApiErrorCode.UNPROCESSABLE_ENTITY, [common_1.HttpStatus.TOO_MANY_REQUESTS]: api_error_code_enum_1.ApiErrorCode.TOO_MANY_REQUESTS, [common_1.HttpStatus.INTERNAL_SERVER_ERROR]: api_error_code_enum_1.ApiErrorCode.INTERNAL_SERVER_ERROR, }; function createApiErrorResponse(params) { const error = params.error ?? HTTP_ERROR_LABELS[params.statusCode] ?? 'Error'; const message = params.message ?? error; const code = params.code ?? DEFAULT_ERROR_CODES[params.statusCode] ?? 'ERROR'; if (!params.errors?.length) { return { statusCode: params.statusCode, error, message, code, }; } return { statusCode: params.statusCode, error, message, code, errors: params.errors, }; } //# sourceMappingURL=error-response.factory.js.map