@grouparoo/core
Version:
The Grouparoo Core
52 lines (51 loc) • 1.76 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Errors = void 0;
var Errors;
(function (Errors) {
Errors.ERROR_LEVELS = ["error", "info"];
class GrouparooError extends Error {
}
Errors.GrouparooError = GrouparooError;
class InfoError extends GrouparooError {
constructor(message) {
super(message);
this.errorLevel = "info";
}
}
Errors.InfoError = InfoError;
class AuthenticationError extends GrouparooError {
constructor(message, code = "AUTHENTICATION_ERROR") {
super(message);
this.code = code;
delete this.stack;
}
}
Errors.AuthenticationError = AuthenticationError;
class AuthorizationError extends GrouparooError {
constructor(mode, topic, code = "AUTHORIZATION_ERROR") {
const message = `Not authorized for mode "${mode}" on topic "${topic}"`;
super(message);
this.code = code;
delete this.stack;
}
}
Errors.AuthorizationError = AuthorizationError;
class UniqueError extends GrouparooError {
constructor(message, model, fields, whereOpts, code = "unique violation") {
super();
this.message = message;
this.model = model;
this.fields = fields;
this.whereOpts = whereOpts;
this.code = code;
this.serialize = () => {
return Object.entries(this).reduce((aggregator, [k, v]) => {
aggregator[k] = v;
return aggregator;
}, {});
};
}
}
Errors.UniqueError = UniqueError;
})(Errors = exports.Errors || (exports.Errors = {}));