fix: add prisma to forwarder error instance
This commit is contained in:
@ -38,7 +38,7 @@ export const mainErrorHandler = (set: any, error: unknown) => {
|
||||
}
|
||||
|
||||
if (error instanceof Prisma.PrismaClientInitializationError) {
|
||||
return returnErrorResponse(set, 500, "Database initialization failed");
|
||||
return returnErrorResponse(set, 503, `Can't reach database server.`, error);
|
||||
}
|
||||
|
||||
if (error instanceof Prisma.PrismaClientValidationError) {
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
import { Prisma } from "@prisma/client";
|
||||
import { AppError } from "./app";
|
||||
|
||||
export function ErrorForwarder(
|
||||
@ -5,7 +6,14 @@ export function ErrorForwarder(
|
||||
statusCode: number = 500,
|
||||
message: string = "Unexpected error"
|
||||
): never {
|
||||
if (cause instanceof AppError) {
|
||||
if (
|
||||
cause instanceof AppError ||
|
||||
cause instanceof Prisma.PrismaClientKnownRequestError ||
|
||||
cause instanceof Prisma.PrismaClientUnknownRequestError ||
|
||||
cause instanceof Prisma.PrismaClientRustPanicError ||
|
||||
cause instanceof Prisma.PrismaClientInitializationError ||
|
||||
cause instanceof Prisma.PrismaClientValidationError
|
||||
) {
|
||||
throw cause;
|
||||
}
|
||||
|
||||
|
||||
@ -27,7 +27,7 @@ export const loginWithPassword = async (
|
||||
const jwtToken = await loginWithPasswordService(ctx.body, userHeaderInfo);
|
||||
|
||||
// Set the authentication cookie with the JWT token
|
||||
const cookie = setCookie(ctx.set, COOKIE_KEYS.AUTH, jwtToken);
|
||||
setCookie(ctx.set, COOKIE_KEYS.AUTH, jwtToken);
|
||||
return returnWriteResponse(
|
||||
ctx.set,
|
||||
200,
|
||||
|
||||
@ -34,6 +34,6 @@ export const findUserByEmailOrUsernameRepo = async (identifier: string) => {
|
||||
if (!userData) return false;
|
||||
return userData;
|
||||
} catch (error) {
|
||||
throw new AppError(500, "Database error", error);
|
||||
throw error;
|
||||
}
|
||||
};
|
||||
|
||||
@ -1,11 +1,12 @@
|
||||
import { Prisma } from "@prisma/client";
|
||||
import { userSessionModel } from "../userSession.model";
|
||||
import { AppError } from "../../../helpers/error/instances/app";
|
||||
|
||||
export const createUserSessionRepo = async (
|
||||
data: Prisma.UserSessionUncheckedCreateInput
|
||||
) => {
|
||||
try {
|
||||
const newUserRole = await userSessionModel.create({
|
||||
const newUserSession = await userSessionModel.create({
|
||||
data: data,
|
||||
include: {
|
||||
user: {
|
||||
@ -24,7 +25,7 @@ export const createUserSessionRepo = async (
|
||||
updatedAt: true,
|
||||
},
|
||||
});
|
||||
return newUserRole;
|
||||
return newUserSession;
|
||||
} catch (error) {
|
||||
throw error;
|
||||
}
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
import { createUserSessionServiceParams } from "../userSession.types";
|
||||
import { createUserSessionRepo } from "../repositories/insertUserSessionToDB.repository";
|
||||
import { storeUserSessionToCacheRepo } from "../repositories/storeUserSessionToCache.repository";
|
||||
import { ErrorForwarder } from "../../../helpers/error/instances/forwarder";
|
||||
|
||||
export const createUserSessionService = async (
|
||||
data: createUserSessionServiceParams
|
||||
@ -21,6 +22,6 @@ export const createUserSessionService = async (
|
||||
|
||||
return newUserSession;
|
||||
} catch (error) {
|
||||
throw error;
|
||||
ErrorForwarder(error);
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user