fix: update profile photo logic in google cal integration (#17438)

This commit is contained in:
Benny Joo authored and GitHub committed 2024-11-01 16:21:42 -04:00
1 parent 0c60ad1c82
commit 42a02cbb60
1 file changed
+15 -5
@@ -191,13 +191,23 @@ async function updateProfilePhoto(oAuth2Client: Auth.OAuth2Client, userId: numbe
const oauth2 = google.oauth2({ version: "v2", auth: oAuth2Client });
const userDetails = await oauth2.userinfo.get();
if (userDetails.data?.picture) {
// Using updateMany here since if the user already has a profile it would throw an error because no records were found to update the profile picture
await prisma.user.updateMany({
where: { id: userId, avatarUrl: null },
data: {
avatarUrl: userDetails.data.picture,
// Check if the user has no avatar
const user = await prisma.user.findFirst({
where: {
id: userId,
avatarUrl: null,
},
select: { id: true },
});
if (user) {
await prisma.user.update({
where: { id: userId },
data: {
avatarUrl: userDetails.data.picture,
},
});
}
}
} catch (error) {
logger.error("Error updating avatarUrl from google calendar connect", error);