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;