👌 create verbosity level
creating verbosity for specify what data that will fetch from user data
This commit is contained in:
@ -16,7 +16,38 @@ export const findUserService = async (payload: getUserDataService) => {
|
|||||||
const repoFn = repositoryMap[payload.queryTarget];
|
const repoFn = repositoryMap[payload.queryTarget];
|
||||||
if (!repoFn) throw new AppError(502, "Repository handler not found");
|
if (!repoFn) throw new AppError(502, "Repository handler not found");
|
||||||
|
|
||||||
return await repoFn(payload.identifier);
|
const userData = await repoFn(payload.identifier);
|
||||||
|
|
||||||
|
const existsVerbosity = ["exists"].includes(payload.options.verbosity);
|
||||||
|
const fullVerbosity = ["full"].includes(payload.options.verbosity);
|
||||||
|
const basicVerbosity = ["basic", "full"].includes(
|
||||||
|
payload.options.verbosity
|
||||||
|
);
|
||||||
|
|
||||||
|
if (!userData) throw new AppError(404, "User not found");
|
||||||
|
if (existsVerbosity) return true;
|
||||||
|
|
||||||
|
const response = {
|
||||||
|
...(fullVerbosity && { id: userData?.id }),
|
||||||
|
...(basicVerbosity && { name: userData?.name }),
|
||||||
|
...(basicVerbosity && { username: userData?.username }),
|
||||||
|
...(fullVerbosity && { email: userData?.email }),
|
||||||
|
...(fullVerbosity && { password: userData?.password }),
|
||||||
|
...(fullVerbosity && { birthDate: userData?.birthDate }),
|
||||||
|
...(fullVerbosity && { gender: userData?.gender }),
|
||||||
|
...(fullVerbosity && { phoneCC: userData?.phoneCC }),
|
||||||
|
...(fullVerbosity && { phoneNumber: userData?.phoneNumber }),
|
||||||
|
...(basicVerbosity && { bioProfile: userData?.bioProfile }),
|
||||||
|
...(basicVerbosity && { avatar: userData?.avatar }),
|
||||||
|
...(basicVerbosity && { commentBackground: userData?.commentBackground }),
|
||||||
|
...(fullVerbosity && { verifiedAt: userData?.verifiedAt }),
|
||||||
|
...(fullVerbosity && { disabledAt: userData?.disabledAt }),
|
||||||
|
...(fullVerbosity && { deletedAt: userData?.deletedAt }),
|
||||||
|
...(fullVerbosity && { createdAt: userData?.createdAt }),
|
||||||
|
...(fullVerbosity && { updatedAt: userData?.updatedAt }),
|
||||||
|
};
|
||||||
|
|
||||||
|
return response;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
ErrorForwarder(error);
|
ErrorForwarder(error);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user