PluralKit/dashboard/src/api/errors.ts

29 lines
556 B
TypeScript
Raw Normal View History

2022-02-01 15:24:45 -05:00
enum ErrorType {
Unknown = 0,
InvalidToken = 401,
NotFound = 404,
InternalServerError = 500,
}
interface ApiError {
code: number,
type: ErrorType,
message?: string,
data?: any,
}
2022-03-01 11:32:05 +01:00
export function parse(code: number, data?: any): ApiError {
2022-02-01 15:24:45 -05:00
var type = ErrorType[ErrorType[code]] ?? ErrorType.Unknown;
if (code >= 500) type = ErrorType.InternalServerError;
var err: ApiError = { code, type };
if (data) {
2022-03-01 11:32:05 +01:00
var d = data;
2022-02-01 15:24:45 -05:00
err.message = d.message;
err.data = d;
}
return err;
}