@universis/common
Version:
Universis - common directives and services
35 lines • 4.41 kB
JavaScript
import { ResponseError } from '@themost/client';
export class ApiError extends ResponseError {
constructor(message, statusCode) {
super(message, statusCode);
this.statusCode = statusCode;
// important: set prototype for a class that extends Error in typescript
this['__proto__'] = new.target.prototype;
this.code = `E${statusCode}`;
}
}
export class ProfileNotFoundError extends ApiError {
constructor() {
super('User profile cannot be found', 404);
// important: set prototype for a class that extends Error in typescript
this['__proto__'] = new.target.prototype;
this.code = 'E404.3';
}
}
export class UserProfileNotFoundError extends ApiError {
constructor() {
super('Your profile cannot be found', 404);
// important: set prototype for a class that extends Error in typescript
this['__proto__'] = new.target.prototype;
this.code = 'E404.1';
}
}
export class RequestNotFoundError extends ApiError {
constructor() {
super('User request cannot be found', 404);
// important: set prototype for a class that extends Error in typescript
this['__proto__'] = new.target.prototype;
this.code = 'E404.2';
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuY3VzdG9tLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Vycm9yL2Vycm9yLmN1c3RvbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFaEQsTUFBTSxPQUFPLFFBQVMsU0FBUSxhQUFhO0lBRXpDLFlBQVksT0FBZSxFQUFTLFVBQWtCO1FBQ3BELEtBQUssQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFETyxlQUFVLEdBQVYsVUFBVSxDQUFRO1FBRXBELHdFQUF3RTtRQUN4RSxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDekMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO0lBQy9CLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxRQUFRO0lBRWhEO1FBQ0UsS0FBSyxDQUFDLDhCQUE4QixFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzNDLHdFQUF3RTtRQUN4RSxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDekMsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7SUFDdkIsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLHdCQUF5QixTQUFRLFFBQVE7SUFFcEQ7UUFDRSxLQUFLLENBQUMsOEJBQThCLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDM0Msd0VBQXdFO1FBQ3hFLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQztRQUN6QyxJQUFJLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQztJQUN2QixDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsUUFBUTtJQUNoRDtRQUNFLEtBQUssQ0FBQyw4QkFBOEIsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUMzQyx3RUFBd0U7UUFDeEUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlc3BvbnNlRXJyb3IgfSBmcm9tICdAdGhlbW9zdC9jbGllbnQnO1xuXG5leHBvcnQgY2xhc3MgQXBpRXJyb3IgZXh0ZW5kcyBSZXNwb25zZUVycm9yIHtcbiAgcHJvdGVjdGVkIGNvZGU6IHN0cmluZztcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nLCBwdWJsaWMgc3RhdHVzQ29kZTogbnVtYmVyKSB7XG4gICAgc3VwZXIobWVzc2FnZSwgc3RhdHVzQ29kZSk7XG4gICAgLy8gaW1wb3J0YW50OiBzZXQgcHJvdG90eXBlIGZvciBhIGNsYXNzIHRoYXQgZXh0ZW5kcyBFcnJvciBpbiB0eXBlc2NyaXB0XG4gICAgdGhpc1snX19wcm90b19fJ10gPSBuZXcudGFyZ2V0LnByb3RvdHlwZTtcbiAgICB0aGlzLmNvZGUgPSBgRSR7c3RhdHVzQ29kZX1gO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBQcm9maWxlTm90Rm91bmRFcnJvciBleHRlbmRzIEFwaUVycm9yIHtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcignVXNlciBwcm9maWxlIGNhbm5vdCBiZSBmb3VuZCcsIDQwNCk7XG4gICAgLy8gaW1wb3J0YW50OiBzZXQgcHJvdG90eXBlIGZvciBhIGNsYXNzIHRoYXQgZXh0ZW5kcyBFcnJvciBpbiB0eXBlc2NyaXB0XG4gICAgdGhpc1snX19wcm90b19fJ10gPSBuZXcudGFyZ2V0LnByb3RvdHlwZTtcbiAgICB0aGlzLmNvZGUgPSAnRTQwNC4zJztcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgVXNlclByb2ZpbGVOb3RGb3VuZEVycm9yIGV4dGVuZHMgQXBpRXJyb3Ige1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCdZb3VyIHByb2ZpbGUgY2Fubm90IGJlIGZvdW5kJywgNDA0KTtcbiAgICAvLyBpbXBvcnRhbnQ6IHNldCBwcm90b3R5cGUgZm9yIGEgY2xhc3MgdGhhdCBleHRlbmRzIEVycm9yIGluIHR5cGVzY3JpcHRcbiAgICB0aGlzWydfX3Byb3RvX18nXSA9IG5ldy50YXJnZXQucHJvdG90eXBlO1xuICAgIHRoaXMuY29kZSA9ICdFNDA0LjEnO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBSZXF1ZXN0Tm90Rm91bmRFcnJvciBleHRlbmRzIEFwaUVycm9yIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoJ1VzZXIgcmVxdWVzdCBjYW5ub3QgYmUgZm91bmQnLCA0MDQpO1xuICAgIC8vIGltcG9ydGFudDogc2V0IHByb3RvdHlwZSBmb3IgYSBjbGFzcyB0aGF0IGV4dGVuZHMgRXJyb3IgaW4gdHlwZXNjcmlwdFxuICAgIHRoaXNbJ19fcHJvdG9fXyddID0gbmV3LnRhcmdldC5wcm90b3R5cGU7XG4gICAgdGhpcy5jb2RlID0gJ0U0MDQuMic7XG4gIH1cbn1cbiJdfQ==