Add initial PIS route
This commit is contained in:
17
src/lib/errors.ts
Normal file
17
src/lib/errors.ts
Normal file
@@ -0,0 +1,17 @@
|
||||
import type { ApiEnvelope } from "@owlboard/api-schema-types";
|
||||
|
||||
type RawErrorObject = NonNullable<ApiEnvelope.Envelope["e"]>;
|
||||
export type ApiErrorCode = NonNullable<RawErrorObject['code']>
|
||||
|
||||
export class ApiError extends Error {
|
||||
public readonly code: ApiErrorCode;
|
||||
public readonly status: number;
|
||||
|
||||
constructor(errorObj: RawErrorObject, status: number) {
|
||||
super(errorObj.msg || 'An unknown error occurred');
|
||||
this.name = 'ApiError';
|
||||
this.status = status;
|
||||
// cast fallback to ensure it satisfies union
|
||||
this.code = errorObj.code || ("SERVER" as ApiErrorCode);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user