🚩 complete get user method

adding find user by emial, username, and ID
This commit is contained in:
Rafi Arrafif
2025-07-18 17:45:48 +07:00
parent 9bc1b592d0
commit 16b1674356
16 changed files with 149 additions and 48 deletions

View File

@ -1,42 +1,9 @@
import { userModel } from "../../user.model";
import { getUserDataOptions } from "../../user.types";
export const findUserByEmailRepository = async (
email: string,
options: getUserDataOptions
) => {
export const findUserByEmailRepository = async (email: string) => {
return await userModel.findUnique({
where: {
email,
},
select: {
id: options.verbosity?.includes("full"),
name: ["full", "basic"].some((level) =>
options.verbosity?.includes(level)
),
username: ["full", "basic"].some((level) =>
options.verbosity?.includes(level)
),
email: options.verbosity?.includes("full"),
password: options.verbosity?.includes("full"),
birthDate: options.verbosity?.includes("full"),
gender: options.verbosity?.includes("full"),
phoneCC: options.verbosity?.includes("full"),
phoneNumber: options.verbosity?.includes("full"),
bioProfile: ["full", "basic"].some((level) =>
options.verbosity?.includes(level)
),
avatar: ["full", "basic"].some((level) =>
options.verbosity?.includes(level)
),
commentBackground: ["full", "basic"].some((level) =>
options.verbosity?.includes(level)
),
preferenceId: options.verbosity?.includes("full"),
verifiedAt: options.verbosity?.includes("full"),
disabledAt: options.verbosity?.includes("full"),
createdAt: options.verbosity?.includes("full"),
updatedAt: options.verbosity?.includes("full"),
},
});
};

View File

@ -0,0 +1,9 @@
import { userModel } from "../../user.model";
export const findUserByIdRepository = async (id: string) => {
return await userModel.findUnique({
where: {
id,
},
});
};

View File

@ -0,0 +1,9 @@
import { userModel } from "../../user.model";
export const findUserByUsernameRepository = async (username: string) => {
return await userModel.findUnique({
where: {
username,
},
});
};