62 lines
1.4 KiB
TypeScript
62 lines
1.4 KiB
TypeScript
import { TRPCError } from "@trpc/server"
|
|
|
|
export function unauthorizedError(cause?: unknown) {
|
|
return new TRPCError({
|
|
code: "UNAUTHORIZED",
|
|
message: `Unauthorized`,
|
|
cause,
|
|
})
|
|
}
|
|
|
|
export function forbiddenError(cause?: unknown) {
|
|
return new TRPCError({
|
|
code: "FORBIDDEN",
|
|
message: `Forbidden`,
|
|
cause,
|
|
})
|
|
}
|
|
|
|
export function badRequestError(cause?: unknown) {
|
|
return new TRPCError({
|
|
code: "BAD_REQUEST",
|
|
message: `Bad request`,
|
|
cause,
|
|
})
|
|
}
|
|
|
|
export function notFound(cause?: unknown) {
|
|
return new TRPCError({
|
|
code: "NOT_FOUND",
|
|
message: `Not found`,
|
|
cause,
|
|
})
|
|
}
|
|
|
|
export function internalServerError(cause?: unknown) {
|
|
return new TRPCError({
|
|
code: "INTERNAL_SERVER_ERROR",
|
|
message: `Internal Server Error`,
|
|
cause,
|
|
})
|
|
}
|
|
|
|
export const SESSION_EXPIRED = "SESSION_EXPIRED"
|
|
export class SessionExpiredError extends Error {}
|
|
export function sessionExpiredError() {
|
|
return new TRPCError({
|
|
code: "UNAUTHORIZED",
|
|
message: SESSION_EXPIRED,
|
|
cause: new SessionExpiredError(SESSION_EXPIRED),
|
|
})
|
|
}
|
|
|
|
export const PUBLIC_UNAUTHORIZED = "PUBLIC_UNAUTHORIZED"
|
|
export class PublicUnauthorizedError extends Error {}
|
|
export function publicUnauthorizedError() {
|
|
return new TRPCError({
|
|
code: "UNAUTHORIZED",
|
|
message: PUBLIC_UNAUTHORIZED,
|
|
cause: new PublicUnauthorizedError(PUBLIC_UNAUTHORIZED),
|
|
})
|
|
}
|