Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | export class AuthError extends Error { constructor( message: string, public statusCode = 401, public code?: string, ) { super(message); this.name = "AuthError"; if (Error.captureStackTrace) { Error.captureStackTrace(this, AuthError); } } toJSON() { return { error: this.message, code: this.code, statusCode: this.statusCode, }; } } export class InsufficientRoleError extends AuthError { constructor(required: string[], actual: string) { super(`Insufficient role. Required: ${required.join(" or ")}, got: ${actual}`, 403, "INSUFFICIENT_ROLE"); } } export class InsufficientScopesError extends AuthError { constructor(required: string[], actual: string[]) { super( `Missing scopes. Required: ${required.join(", ")}, got: ${actual.join(", ")}`, 403, "INSUFFICIENT_SCOPES", ); } } |