@jrosadob/nestjs-sophia-framework
Version:
Franework para microservicios en NestJS
31 lines • 1.36 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.AppHttpException = void 0;
const common_1 = require("@nestjs/common");
const nanoid_1 = require("../tools/nanoid");
class AppHttpException extends common_1.HttpException {
constructor(e, result) {
const loggerId = (0, nanoid_1.nanoid)();
let status;
let loggerMessage;
const errorType = e.constructor.name;
switch (errorType) {
case 'QueryFailedError':
status = common_1.HttpStatus.BAD_REQUEST;
super(result, status);
loggerMessage = `[${loggerId}] SqlState: ${e.driverError.sqlState} | QueryFailedError: ${e.driverError.sqlMessage}`;
common_1.Logger.log(loggerMessage, 'AppHttpException');
result.addError(loggerId, 400, 'Database error (QueryFailedError)');
break;
default:
status = common_1.HttpStatus.SERVICE_UNAVAILABLE;
loggerMessage = `[${loggerId}] ${e.message}`;
common_1.Logger.log(loggerMessage, 'AppHttpException');
result.addError(loggerId, 503, 'Service unavailable');
break;
}
super(result, status);
}
}
exports.AppHttpException = AppHttpException;
//# sourceMappingURL=app-http.exception.js.map