you know what let's just change frontend framework again
This commit is contained in:
parent
c8cd483d20
commit
0d47f1fb01
115 changed files with 4407 additions and 10824 deletions
54
Foxnouns.Frontend/src/lib/api/error.ts
Normal file
54
Foxnouns.Frontend/src/lib/api/error.ts
Normal file
|
@ -0,0 +1,54 @@
|
|||
export default class ApiError {
|
||||
raw?: RawApiError;
|
||||
code: ErrorCode;
|
||||
|
||||
constructor(err?: RawApiError, code?: ErrorCode) {
|
||||
this.raw = err;
|
||||
this.code = err?.code || code || ErrorCode.InternalServerError;
|
||||
}
|
||||
|
||||
get obj(): RawApiError {
|
||||
return this.toObject();
|
||||
}
|
||||
|
||||
toObject(): RawApiError {
|
||||
return {
|
||||
status: this.raw?.status || 500,
|
||||
code: this.code,
|
||||
message: this.raw?.message || "Internal server error",
|
||||
errors: this.raw?.errors,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
export type RawApiError = {
|
||||
status: number;
|
||||
message: string;
|
||||
code: ErrorCode;
|
||||
errors?: Array<{ key: string; errors: ValidationError[] }>;
|
||||
};
|
||||
|
||||
export enum ErrorCode {
|
||||
InternalServerError = "INTERNAL_SERVER_ERROR",
|
||||
Forbidden = "FORBIDDEN",
|
||||
BadRequest = "BAD_REQUEST",
|
||||
AuthenticationError = "AUTHENTICATION_ERROR",
|
||||
AuthenticationRequired = "AUTHENTICATION_REQUIRED",
|
||||
MissingScopes = "MISSING_SCOPES",
|
||||
GenericApiError = "GENERIC_API_ERROR",
|
||||
UserNotFound = "USER_NOT_FOUND",
|
||||
MemberNotFound = "MEMBER_NOT_FOUND",
|
||||
AccountAlreadyLinked = "ACCOUNT_ALREADY_LINKED",
|
||||
LastAuthMethod = "LAST_AUTH_METHOD",
|
||||
// This code isn't actually returned by the API
|
||||
Non204Response = "(non 204 response)",
|
||||
}
|
||||
|
||||
export type ValidationError = {
|
||||
message: string;
|
||||
min_length?: number;
|
||||
max_length?: number;
|
||||
actual_length?: number;
|
||||
allowed_values?: any[];
|
||||
actual_value?: any;
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue