web-class-frontend/app/utils/APIResponse.ts

26 lines
550 B
TypeScript

export interface IAPIResponse<T> {
code: number;
message: string;
data: T;
}
export class APIResponse<T> implements IAPIResponse<T> {
code: number = 200;
message: string = '';
data: T = undefined as T;
}
export class APIResponseErrorException<T>
extends Error
implements IAPIResponse<T>
{
code: number;
override message: string;
data: T = undefined as T;
constructor(apiResponse: APIResponse<T>) {
super();
this.code = apiResponse.code;
this.message = apiResponse.message;
this.data = apiResponse.data;
}
}