@nestjs-mod/prisma-tools
Version:
Functions and helpers for work with prisma used in NestJS-mod modules
41 lines • 2.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.DatabaseError = exports.DATABASE_ERROR_ENUM_TITLES = exports.DatabaseErrorEnum = void 0;
const misc_1 = require("@nestjs-mod/misc");
var DatabaseErrorEnum;
(function (DatabaseErrorEnum) {
DatabaseErrorEnum["COMMON"] = "DB-000";
DatabaseErrorEnum["UNHANDLED_ERROR"] = "DB-001";
DatabaseErrorEnum["UNIQUE_ERROR"] = "DB-002";
DatabaseErrorEnum["INVALID_IDENTIFIER"] = "DB-003";
DatabaseErrorEnum["INVALID_LINKED_TABLE_IDENTIFIER"] = "DB-004";
DatabaseErrorEnum["DATABASE_QUERY_ERROR"] = "DB-005";
DatabaseErrorEnum["NOT_FOUND_ERROR"] = "DB-006";
})(DatabaseErrorEnum || (exports.DatabaseErrorEnum = DatabaseErrorEnum = {}));
exports.DATABASE_ERROR_ENUM_TITLES = {
[DatabaseErrorEnum.COMMON]: (0, misc_1.getText)('Common db error'),
[DatabaseErrorEnum.UNHANDLED_ERROR]: (0, misc_1.getText)('Unhandled error'),
[DatabaseErrorEnum.UNIQUE_ERROR]: (0, misc_1.getText)('Unique error'),
[DatabaseErrorEnum.INVALID_IDENTIFIER]: (0, misc_1.getText)('Invalid identifier'),
[DatabaseErrorEnum.INVALID_LINKED_TABLE_IDENTIFIER]: (0, misc_1.getText)('Invalid linked table identifier'),
[DatabaseErrorEnum.DATABASE_QUERY_ERROR]: (0, misc_1.getText)('Database query error'),
[DatabaseErrorEnum.NOT_FOUND_ERROR]: (0, misc_1.getText)('Not found error'),
};
class DatabaseError extends Error {
constructor(message, code, metadata) {
const codeAsMetadata = Boolean(code && !Object.values(DatabaseErrorEnum).includes(String(code)));
const messageAsCode = Boolean(message && Object.values(DatabaseErrorEnum).includes(message));
const preparedCode = messageAsCode ? message : code;
const preparedMessage = messageAsCode && preparedCode ? exports.DATABASE_ERROR_ENUM_TITLES[preparedCode] : message;
metadata = codeAsMetadata ? code : metadata;
code = preparedCode || DatabaseErrorEnum.COMMON;
message = preparedMessage || exports.DATABASE_ERROR_ENUM_TITLES[code];
super(message);
this.code = DatabaseErrorEnum.COMMON;
this.code = code;
this.message = message;
this.metadata = metadata;
}
}
exports.DatabaseError = DatabaseError;
//# sourceMappingURL=prisma-tools.errors.js.map