Files
DB-GPT/datacenter/utils/api-error.ts
changhuiping.chp d718c95d24 feat: 布局初版
2023-06-25 18:09:53 +08:00

40 lines
1.0 KiB
TypeScript

export enum ApiErrorType {
UNAUTHORIZED = 'UNAUTHORIZED',
USAGE_LIMIT = 'USAGE_LIMIT',
NOT_FOUND = 'NOT_FOUND',
INVALID_REQUEST = 'INVALID_REQUEST',
WEBPAGE_IS_SITEMAP = 'WEBPAGE_IS_SITEMAP',
EMPTY_DATASOURCE = 'EMPTY_DATASOURCE',
}
export class ApiError extends Error {
constructor(message: ApiErrorType, public status?: number) {
super(message);
if (!status) {
switch (message) {
case ApiErrorType.UNAUTHORIZED:
this.status = 403;
break;
case ApiErrorType.USAGE_LIMIT:
this.status = 402;
break;
case ApiErrorType.NOT_FOUND:
this.status = 404;
break;
case ApiErrorType.INVALID_REQUEST:
this.status = 400;
break;
case ApiErrorType.EMPTY_DATASOURCE:
this.status = 400;
break;
default:
this.status = 500;
break;
}
}
Object.setPrototypeOf(this, ApiError.prototype);
}
}