complete: complete login process

This commit is contained in:
rafiarrafif
2025-05-27 23:06:37 +07:00
parent 90302eab6c
commit ab84abf366
5 changed files with 50 additions and 32 deletions

View File

@ -2,34 +2,38 @@ import { AppError } from "../../../helpers/error/instances/app";
import { userModel } from "../user.model";
export const findUserByEmailOrUsernameRepo = async (identifier: string) => {
const userData =
(await userModel.findUnique({
where: { email: identifier },
include: {
roles: {
omit: {
createdBy: true,
createdAt: true,
updatedAt: true,
deletedAt: true,
try {
const userData =
(await userModel.findUnique({
where: { email: identifier },
include: {
roles: {
omit: {
createdBy: true,
createdAt: true,
updatedAt: true,
deletedAt: true,
},
},
},
},
})) ||
(await userModel.findUnique({
where: { username: identifier },
include: {
roles: {
omit: {
createdBy: true,
createdAt: true,
updatedAt: true,
deletedAt: true,
})) ||
(await userModel.findUnique({
where: { username: identifier },
include: {
roles: {
omit: {
createdBy: true,
createdAt: true,
updatedAt: true,
deletedAt: true,
},
},
},
},
}));
}));
if (!userData) throw new AppError(404, "User not exist");
return userData;
if (!userData) return false;
return userData;
} catch (error) {
throw new AppError(500, "Database error", error);
}
};

View File

@ -1,3 +1,4 @@
import { ErrorForwarder } from "../../../helpers/error/instances/forwarder";
import { findUserByEmailOrUsernameRepo } from "../repositories/findUserByEmailOrUsername.repository";
export const findUserByEmailOrUsernameService = async (identifier: string) => {
@ -5,6 +6,6 @@ export const findUserByEmailOrUsernameService = async (identifier: string) => {
const userData = await findUserByEmailOrUsernameRepo(identifier);
return userData;
} catch (error) {
throw error;
ErrorForwarder(error);
}
};