78 lines
2.3 KiB
TypeScript
78 lines
2.3 KiB
TypeScript
|
import { StatusCodes } from 'http-status-codes';
|
||
|
// import HTTPException from './HttpException';
|
||
|
import { OaiErrorCodes } from './OaiErrorCodes';
|
||
|
|
||
|
export class ErrorCode {
|
||
|
public static readonly Unauthenticated = 'Unauthenticated';
|
||
|
public static readonly NotFound = 'NotFound';
|
||
|
public static readonly MaximumAllowedGrade = 'MaximumAllowedGrade';
|
||
|
public static readonly AsyncError = 'AsyncError';
|
||
|
public static readonly UnknownError = 'UnknownError';
|
||
|
}
|
||
|
|
||
|
export class ErrorModel {
|
||
|
/**
|
||
|
* Unique error code which identifies the error.
|
||
|
*/
|
||
|
public code: string;
|
||
|
/**
|
||
|
* Status code of the error.
|
||
|
*/
|
||
|
public status: number;
|
||
|
/**
|
||
|
* Any additional data that is required for translation.
|
||
|
*/
|
||
|
// public metaData?: any;
|
||
|
}
|
||
|
|
||
|
export class OaiModelException extends Error {
|
||
|
public status: number;
|
||
|
public message: string;
|
||
|
public oaiCode: number;
|
||
|
|
||
|
// constructor(status: number, message: string) {
|
||
|
// super(message);
|
||
|
// this.status = status;
|
||
|
// this.message = message;
|
||
|
// }
|
||
|
constructor(status: number, message: string, oaiCode: number) {
|
||
|
super(message);
|
||
|
this.status = status;
|
||
|
this.message = message;
|
||
|
this.oaiCode = oaiCode;
|
||
|
}
|
||
|
// constructor(code: string = ErrorCode.UnknownError, message: any = null) {
|
||
|
// super(code);
|
||
|
// Object.setPrototypeOf(this, new.target.prototype);
|
||
|
// this.name = code;
|
||
|
// this.status = 500;
|
||
|
// this.message = message;
|
||
|
// // switch (code) {
|
||
|
// // case ErrorCode.Unauthenticated:
|
||
|
// // this.status = 401;
|
||
|
// // break;
|
||
|
// // case ErrorCode.MaximumAllowedGrade:
|
||
|
// // this.status = 400;
|
||
|
// // break;
|
||
|
// // case ErrorCode.AsyncError:
|
||
|
// // this.status = 400;
|
||
|
// // break;
|
||
|
// // case ErrorCode.NotFound:
|
||
|
// // this.status = 404;
|
||
|
// // break;
|
||
|
// // default:
|
||
|
// // this.status = 500;
|
||
|
// // break;
|
||
|
// // }
|
||
|
// }
|
||
|
}
|
||
|
|
||
|
export class BadOaiModelException extends OaiModelException {
|
||
|
constructor(message?: string) {
|
||
|
super(StatusCodes.INTERNAL_SERVER_ERROR, message || 'bad Request', OaiErrorCodes.BADARGUMENT);
|
||
|
this.stack = '';
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// export default OaiModelexception;
|