From a8a57ecce31a7ee41a70e01d9cd91583b0d24f27 Mon Sep 17 00:00:00 2001 From: Rafi Arrafif Date: Tue, 12 Aug 2025 18:29:57 +0700 Subject: [PATCH] :necktie: change not found user logic MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit return false instead of returning the “not found” error if the verbosity parameter is “exists”. --- src/modules/user/services/internal/findUser.service.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/modules/user/services/internal/findUser.service.ts b/src/modules/user/services/internal/findUser.service.ts index 9c36906..8a873d4 100644 --- a/src/modules/user/services/internal/findUser.service.ts +++ b/src/modules/user/services/internal/findUser.service.ts @@ -20,10 +20,6 @@ export const findUserService = async (payload: getUserDataService) => { const repoFn = repositoryMap[payload.queryTarget]; if (!repoFn) throw new AppError(503, "Repository handler not found"); - // Retrieving user data using the associated repository, if user not found return 404 response - const userData = await repoFn(payload.identifier, payload.options.include); - if (!userData) throw new AppError(404, "User not found"); - // Define verbosity levels const existsVerbosity = ["exists"].includes(payload.options.verbosity); const fullVerbosity = ["full"].includes(payload.options.verbosity); @@ -31,6 +27,11 @@ export const findUserService = async (payload: getUserDataService) => { payload.options.verbosity ); + // Retrieving user data using the associated repository, if user not found return 404 response + const userData = await repoFn(payload.identifier, payload.options.include); + if (!userData && existsVerbosity) return false; + if (!userData) throw new AppError(404, "User not found"); + // If verbosity in 'exists' level and user is valid then just return 'true' value if (existsVerbosity) return true;