async getPublicUserById(uid: string): Promise<PublicUserType | PrivateUserType | null> {
try {
let user = await prismaClient.user.findFirstOrThrow({
where: { uid },
select: publicUserSelect,
});
if (user.profilePrivacy === ProfilePrivacyEnum.PRIVATE_PROFILE {
const privateUserData = await prismaClient.user.findFirstOrThrow({
where: { uid },
select: privateUserSelect,
});
return privateUserData as PrivateUserType;
}
return user as PublicUserType;
} catch (e) {
console.error(e);
return null;
}
}
async getPublicUserById(uid: string): Promise<PublicUserType | PrivateUserType | null> {
try {
let user = await prismaClient.user.findFirstOrThrow({
where: { uid },
select: publicUserSelect,
});
if (user.profilePrivacy === ProfilePrivacyEnum.PRIVATE_PROFILE {
const privateUserData = await prismaClient.user.findFirstOrThrow({
where: { uid },
select: privateUserSelect,
});
return privateUserData as PrivateUserType;
}
return user as PublicUserType;
} catch (e) {
console.error(e);
return null;
}
}