@russ-b/nestjs-common-tools
Version:
NestJS utility tools
46 lines • 2.12 kB
JavaScript
"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 = {
[]: 'Bad Request',
[]: 'Unauthorized',
[]: 'Forbidden',
[]: 'Not Found',
[]: 'Conflict',
[]: 'Unprocessable Entity',
[]: 'Too Many Requests',
[]: 'Internal Server Error',
};
const DEFAULT_ERROR_CODES = {
[]: api_error_code_enum_1.ApiErrorCode.BAD_REQUEST,
[]: api_error_code_enum_1.ApiErrorCode.UNAUTHORIZED,
[]: api_error_code_enum_1.ApiErrorCode.FORBIDDEN,
[]: api_error_code_enum_1.ApiErrorCode.NOT_FOUND,
[]: api_error_code_enum_1.ApiErrorCode.CONFLICT,
[]: api_error_code_enum_1.ApiErrorCode.UNPROCESSABLE_ENTITY,
[]: api_error_code_enum_1.ApiErrorCode.TOO_MANY_REQUESTS,
[]: 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