diff --git a/eslint.config.mjs b/eslint.config.mjs index b87e67e..a65f28d 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -4,6 +4,9 @@ import tseslint from "typescript-eslint"; import { defineConfig } from "eslint/config"; export default defineConfig([ + { + ignores: ["src/modules/debug/**"], + }, { files: ["src/**/*.{js,mjs,cjs,ts,mts,cts}"], plugins: { js }, diff --git a/src/middleware/auth/unauthenticated.middleware.ts b/src/middleware/auth/unauthenticated.middleware.ts index 74f5509..9e12aeb 100644 --- a/src/middleware/auth/unauthenticated.middleware.ts +++ b/src/middleware/auth/unauthenticated.middleware.ts @@ -9,6 +9,6 @@ export const unautenticatedMiddleware = (ctx: Context) => { if (cookie && cookie.auth_token) return returnErrorResponse(ctx.set, 401, "You are already logged in. "); } catch (_) { - // Pass + void _; // Pass } }; diff --git a/src/modules/auth/services/authVerification.service.ts b/src/modules/auth/services/authVerification.service.ts index c630e6b..bdcd4ea 100644 --- a/src/modules/auth/services/authVerification.service.ts +++ b/src/modules/auth/services/authVerification.service.ts @@ -1,4 +1,3 @@ -import { Prisma } from "@prisma/client"; import { AppError } from "../../../helpers/error/instances/app"; import { ErrorForwarder } from "../../../helpers/error/instances/forwarder"; import { jwtDecode } from "../../../helpers/http/jwt/decode"; diff --git a/src/modules/user/controller/editUser.controller.ts b/src/modules/user/controller/editUser.controller.ts index 3468e5c..9598fbb 100644 --- a/src/modules/user/controller/editUser.controller.ts +++ b/src/modules/user/controller/editUser.controller.ts @@ -1,8 +1,5 @@ import { Context } from "elysia"; -import { - returnErrorResponse, - returnWriteResponse, -} from "../../../helpers/callback/httpResponse"; +import { returnWriteResponse } from "../../../helpers/callback/httpResponse"; import { mainErrorHandler } from "../../../helpers/error/handler"; import { Prisma } from "@prisma/client"; import { editUserService } from "../services/editUser.service"; diff --git a/src/modules/user/controller/getAllUser.controller.ts b/src/modules/user/controller/getAllUser.controller.ts index b23f05a..cc6c185 100644 --- a/src/modules/user/controller/getAllUser.controller.ts +++ b/src/modules/user/controller/getAllUser.controller.ts @@ -1,7 +1,4 @@ -import { - returnErrorResponse, - returnReadResponse, -} from "../../../helpers/callback/httpResponse"; +import { returnReadResponse } from "../../../helpers/callback/httpResponse"; import { Context } from "elysia"; import { getAllUsersService } from "../services/getAllUser.service"; import { mainErrorHandler } from "../../../helpers/error/handler"; diff --git a/src/modules/user/repositories/checkUserEmailAndUsernameAvailabillity.repository.ts b/src/modules/user/repositories/checkUserEmailAndUsernameAvailabillity.repository.ts index 23b26a0..a30f4c5 100644 --- a/src/modules/user/repositories/checkUserEmailAndUsernameAvailabillity.repository.ts +++ b/src/modules/user/repositories/checkUserEmailAndUsernameAvailabillity.repository.ts @@ -5,20 +5,13 @@ export const checkUserEmailAndUsernameAvailabillityRepo = async ( username: string, email: string ) => { - try { - const checkUsernameAndEmailAvailabillity = await userModel.findFirst({ - where: { - OR: [ - { username: username ?? undefined }, - { email: email ?? undefined }, - ], - NOT: { - id: id, - }, + const checkUsernameAndEmailAvailabillity = await userModel.findFirst({ + where: { + OR: [{ username: username ?? undefined }, { email: email ?? undefined }], + NOT: { + id: id, }, - }); - return checkUsernameAndEmailAvailabillity; - } catch (error) { - throw error; - } + }, + }); + return checkUsernameAndEmailAvailabillity; }; diff --git a/src/modules/user/repositories/createUser.repository.ts b/src/modules/user/repositories/createUser.repository.ts index bcbe864..747a468 100644 --- a/src/modules/user/repositories/createUser.repository.ts +++ b/src/modules/user/repositories/createUser.repository.ts @@ -2,16 +2,12 @@ import { Prisma } from "@prisma/client"; import { userModel } from "../user.model"; export const createUserRepo = async (data: Prisma.UserCreateInput) => { - try { - const userData = await userModel.create({ - data, - omit: { - password: true, - }, - }); + const userData = await userModel.create({ + data, + omit: { + password: true, + }, + }); - return userData; - } catch (error) { - throw error; - } + return userData; }; diff --git a/src/modules/user/repositories/findUserByEmailOrUsername.repository.ts b/src/modules/user/repositories/findUserByEmailOrUsername.repository.ts index 3d58f03..7654c0e 100644 --- a/src/modules/user/repositories/findUserByEmailOrUsername.repository.ts +++ b/src/modules/user/repositories/findUserByEmailOrUsername.repository.ts @@ -1,39 +1,34 @@ -import { AppError } from "../../../helpers/error/instances/app"; import { userModel } from "../user.model"; export const findUserByEmailOrUsernameRepo = async (identifier: string) => { - try { - const userData = - (await userModel.findUnique({ - where: { email: identifier }, - include: { - roles: { - omit: { - createdBy: true, - createdAt: true, - updatedAt: true, - deletedAt: true, - }, + 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) return false; - return userData; - } catch (error) { - throw error; - } + if (!userData) return false; + return userData; }; diff --git a/src/modules/user/repositories/getAllUser.repository.ts b/src/modules/user/repositories/getAllUser.repository.ts index f26840b..ddc839e 100644 --- a/src/modules/user/repositories/getAllUser.repository.ts +++ b/src/modules/user/repositories/getAllUser.repository.ts @@ -1,15 +1,11 @@ import { userModel } from "../user.model"; export const getAllUserRepo = async () => { - try { - const data = await userModel.findMany({ - where: { - deletedAt: null, - }, - }); + const data = await userModel.findMany({ + where: { + deletedAt: null, + }, + }); - return data; - } catch (error) { - throw error; - } + return data; }; diff --git a/src/modules/user/repositories/updateUser.repository.ts b/src/modules/user/repositories/updateUser.repository.ts index b44aeeb..dd96eb4 100644 --- a/src/modules/user/repositories/updateUser.repository.ts +++ b/src/modules/user/repositories/updateUser.repository.ts @@ -1,20 +1,16 @@ import { Prisma } from "@prisma/client"; import { userModel } from "../user.model"; -import { JWTSessionPayload } from "../../auth/auth.types"; export const updateUserRepo = async ( username: string, payload: Prisma.UserUpdateInput ) => { - try { - const userData = await userModel.update({ - where: { - username, - }, - data: payload, - }); - return userData; - } catch (error) { - throw error; - } + const userData = await userModel.update({ + where: { + username, + }, + data: payload, + }); + + return userData; }; diff --git a/src/modules/user/services/getAllUser.service.ts b/src/modules/user/services/getAllUser.service.ts index d886b8c..0b899e5 100644 --- a/src/modules/user/services/getAllUser.service.ts +++ b/src/modules/user/services/getAllUser.service.ts @@ -1,3 +1,4 @@ +import { ErrorForwarder } from "../../../helpers/error/instances/forwarder"; import { getAllUserRepo } from "../repositories/getAllUser.repository"; export const getAllUsersService = async () => { @@ -5,6 +6,6 @@ export const getAllUsersService = async () => { const allUser = await getAllUserRepo(); return allUser; } catch (error) { - throw error; + ErrorForwarder(error); } }; diff --git a/src/modules/userRole/repositories/createUserRole.repository.ts b/src/modules/userRole/repositories/createUserRole.repository.ts index 7186a3f..d28dbb1 100644 --- a/src/modules/userRole/repositories/createUserRole.repository.ts +++ b/src/modules/userRole/repositories/createUserRole.repository.ts @@ -4,12 +4,8 @@ import { userRoleModel } from "../userRole.model"; export const createUserRoleRepo = async ( data: Prisma.UserRoleUncheckedCreateInput ) => { - try { - const newUserRole = await userRoleModel.create({ - data, - }); - return newUserRole; - } catch (error) { - throw error; - } + const newUserRole = await userRoleModel.create({ + data, + }); + return newUserRole; }; diff --git a/src/modules/userRole/services/createUserRole.service.ts b/src/modules/userRole/services/createUserRole.service.ts index edfccd8..4a349b0 100644 --- a/src/modules/userRole/services/createUserRole.service.ts +++ b/src/modules/userRole/services/createUserRole.service.ts @@ -1,5 +1,6 @@ import { Prisma } from "@prisma/client"; import { createUserRoleRepo } from "../repositories/createUserRole.repository"; +import { ErrorForwarder } from "../../../helpers/error/instances/forwarder"; export const createUserRoleService = async ( userRoleData: Prisma.UserRoleUncheckedCreateInput @@ -23,6 +24,6 @@ export const createUserRoleService = async ( const newUserRole = await createUserRoleRepo(dataPayload); return newUserRole; } catch (error) { - throw error; + ErrorForwarder(error); } }; diff --git a/src/modules/userSession/repositories/insertUserSessionToDB.repository.ts b/src/modules/userSession/repositories/insertUserSessionToDB.repository.ts index c5cd787..637dbdf 100644 --- a/src/modules/userSession/repositories/insertUserSessionToDB.repository.ts +++ b/src/modules/userSession/repositories/insertUserSessionToDB.repository.ts @@ -1,31 +1,27 @@ 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 newUserSession = await userSessionModel.create({ - data: data, - include: { - user: { - omit: { - password: true, - }, - include: { - roles: true, - }, + const newUserSession = await userSessionModel.create({ + data: data, + include: { + user: { + omit: { + password: true, + }, + include: { + roles: true, }, }, - omit: { - lastOnline: true, - createdAt: true, - updatedAt: true, - }, - }); - return newUserSession; - } catch (error) { - throw error; - } + }, + omit: { + lastOnline: true, + createdAt: true, + updatedAt: true, + }, + }); + + return newUserSession; }; diff --git a/src/modules/userSession/repositories/storeUserSessionToCache.repository.ts b/src/modules/userSession/repositories/storeUserSessionToCache.repository.ts index 866a72d..794921f 100644 --- a/src/modules/userSession/repositories/storeUserSessionToCache.repository.ts +++ b/src/modules/userSession/repositories/storeUserSessionToCache.repository.ts @@ -1,19 +1,14 @@ import { Prisma } from "@prisma/client"; -import { AppError } from "../../../helpers/error/instances/app"; import { redis } from "../../../utils/databases/redis/connection"; export const storeUserSessionToCacheRepo = async ( userSession: Prisma.UserSessionUncheckedCreateInput, timeExpires: number ) => { - try { - await redis.set( - `${process.env.APP_NAME}:users:${userSession.userId}:sessions:${userSession.id}`, - String(userSession.validUntil), - "EX", - timeExpires - ); - } catch (error) { - throw new AppError(401, "Failed to store user session to cache"); - } + await redis.set( + `${process.env.APP_NAME}:users:${userSession.userId}:sessions:${userSession.id}`, + String(userSession.validUntil), + "EX", + timeExpires + ); }; diff --git a/src/utils/databases/prisma/error/types.ts b/src/utils/databases/prisma/error/types.ts index 271c366..b72673c 100644 --- a/src/utils/databases/prisma/error/types.ts +++ b/src/utils/databases/prisma/error/types.ts @@ -2,10 +2,10 @@ * @typedef {Object} ErrorResponse * @property {number} status - The HTTP status code corresponding to the error. * @property {string} message - A human-readable error message. - * @property {any} [details] - Additional details about the error, if available. + * @property {unknown} [details] - Additional details about the error, if available. */ export interface PrismaErrorTypes { status: number; message: string; - details?: any; + details?: unknown; }