AutoCatBackend/utils/errors.js

30 lines
632 B
JavaScript

class Enum {
constructor(enumObj) {
const handler = {
get(target, name) {
if (typeof target[name] != 'undefined') {
return target[name];
}
throw new Error(`No such enumerator: ${name}`);
},
set() {
throw new Error('Cannot add/update properties on an Enum instance after it is defined');
}
};
return new Proxy(enumObj, handler);
}
}
const errorCodes = new Enum({
invalidLoginOrPassword: 0
});
const makeError = (error, code) => {
let result = { success: false, error };
if(code != undefined) {
result.errorCode = code;
}
return result;
};
module.exports = { errorCodes, makeError };