Merged in feature/SW-3572-hotel-data-endpoint (pull request #3051)
SW-3572 API route for listing hotels per city or country * wip hotel data endpoint * Correct route params type * wip * skip static paths call * timeout when getting destinations take too long * call noStore when we get a timeout * add cache-control headers * . * . * . * wip * wip * wip * wip * add route for getting hotels per country * include city when listing by country * fix distance SI unit * fix sorting * Merge branch 'master' of bitbucket.org:scandic-swap/web into feature/SW-3572-hotel-data-endpoint * packages/tracking passWithNoTests * revalidate must be static value * remove oxc reference * cleanup * cleanup hotel api route * feat(SW-3572): cleanup error handling Approved-by: Anton Gunnarsson
This commit is contained in:
@@ -1,5 +1,13 @@
|
||||
import { TRPCError } from "@trpc/server"
|
||||
|
||||
export function gatewayTimeout(cause?: unknown) {
|
||||
return new TRPCError({
|
||||
code: "GATEWAY_TIMEOUT",
|
||||
message: `Gateway Timeout`,
|
||||
cause,
|
||||
})
|
||||
}
|
||||
|
||||
export function unauthorizedError(cause?: unknown) {
|
||||
return new TRPCError({
|
||||
code: "UNAUTHORIZED",
|
||||
@@ -76,6 +84,28 @@ export function publicUnauthorizedError() {
|
||||
})
|
||||
}
|
||||
|
||||
export function httpStatusByErrorCode(error: TRPCError) {
|
||||
switch (error.code) {
|
||||
case "BAD_REQUEST":
|
||||
return 400
|
||||
case "UNAUTHORIZED":
|
||||
return 401
|
||||
case "FORBIDDEN":
|
||||
return 403
|
||||
case "NOT_FOUND":
|
||||
return 404
|
||||
case "CONFLICT":
|
||||
return 409
|
||||
case "UNPROCESSABLE_CONTENT":
|
||||
return 422
|
||||
case "GATEWAY_TIMEOUT":
|
||||
return 504
|
||||
case "INTERNAL_SERVER_ERROR":
|
||||
default:
|
||||
return 500
|
||||
}
|
||||
}
|
||||
|
||||
export function serverErrorByStatus(status: number, cause?: unknown) {
|
||||
switch (status) {
|
||||
case 401:
|
||||
|
||||
Reference in New Issue
Block a user