leaky-ships/leaky-ships/lib/backend/jwtVerifyCatch.ts
2023-04-08 16:56:03 +02:00

33 lines
798 B
TypeScript

import { TokenType } from "@prisma/client"
export default async function jwtVerifyCatch(tokenType: TokenType, err: Error) {
switch (err.message) {
case "jwt expired":
return {
message: `JWT (${tokenType}) expired!`,
statusCode: 403,
solved: true,
type: "warn",
}
case "invalid signature":
return {
message: `Invalid JWT (${tokenType}) signature! Token: `,
statusCode: 401,
solved: true,
type: "error",
}
case "jwt must be provided":
return {
message: `No JWT (${tokenType}) given.`,
statusCode: 401,
solved: true,
type: "warn",
}
default:
console.log(err)
return { message: `Unknown error on 'JWT.verify()'.`, solved: false }
}
}