diff --git a/server/src/routes/oauth-social.js b/server/src/routes/oauth-social.js index 82dfb57..c0f72b1 100644 --- a/server/src/routes/oauth-social.js +++ b/server/src/routes/oauth-social.js @@ -242,9 +242,18 @@ export async function registerOAuthSocialRoutes(fastify) { suggestedEmail: emailGuess || null, }) - const dn = `${info.first_name ?? ''} ${info.last_name ?? ''}`.trim() - if (dn && !user.name) { - await prisma.user.update({ where: { id: user.id }, data: { name: dn } }) + const updateData = {} + const displayName = + [info.first_name, info.last_name].filter(Boolean).join(' ').trim() || info.display_name || info.real_name + if (displayName && !user.displayName) updateData.displayName = displayName + if (info.first_name) updateData.firstName = info.first_name + if (info.last_name) updateData.lastName = info.last_name + if (info.sex === 'male' || info.sex === 'female') updateData.gender = info.sex + if (info.default_avatar_id && !info.is_avatar_empty) { + updateData.avatar = `https://avatars.yandex.net/get-yapic/${info.default_avatar_id}/islands-200` + } + if (Object.keys(updateData).length > 0) { + await prisma.user.update({ where: { id: user.id }, data: updateData }) } const token = await issueUserJwt(fastify, user.id, user.email)