Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | 7x 7x 7x 7x 7x 7x 7x 7x 7x 7x 118x 118x 118x 99x 1x 9x 9x 7x | import HttpStatusCode from './HTTPStatusCodes'; export class ApiResponseBody<T = undefined> { error?: { code: HttpStatusCode; message: string; }; data?: T; } export class APIError extends Error { code: number; constructor(code: HttpStatusCode, message: string) { super(message); this.code = code; // Set the prototype explicitly. Object.setPrototypeOf(this, APIError.prototype); } toString() { return `Error ${this.code}: ${this.message}`; } } export class NotFoundError extends APIError { constructor(message: string) { super(HttpStatusCode.NOT_FOUND, message); } } export class UnauthorizedError extends APIError { constructor(message: string) { super(HttpStatusCode.UNAUTHORIZED, message); } } export class ForbiddenError extends APIError { constructor(message: string) { super(HttpStatusCode.FORBIDDEN, message); } } export class ResponseHandler { static response<T>(message: any, status: HttpStatusCode) { const response = new ApiResponseBody<T>(); response.error = { code: status, message: message, }; return response; } static NoDataResponse<T>(message: any = 'Operation successful') { return this.response<T>(message, HttpStatusCode.OK); } static NotFound<T>(message: any = 'Not found') { return this.response<T>(message, HttpStatusCode.NOT_FOUND); } static InvalidBody<T>(message: any = 'Invalid request body') { return this.response<T>(message, HttpStatusCode.UNPROCESSABLE_ENTITY); } static Unauthorized<T>(message: any = 'Unauthorized') { return this.response<T>(message, HttpStatusCode.UNAUTHORIZED); } static Forbidden<T>(message: any = 'Forbidden') { return this.response<T>(message, HttpStatusCode.FORBIDDEN); } static BadRequest<T>(message: any = 'Bad Request') { return this.response<T>(message, HttpStatusCode.BAD_REQUEST); } } |