diff --git a/api/src/auth/auth.service.ts b/api/src/auth/auth.service.ts index ea1bc4d..b598537 100644 --- a/api/src/auth/auth.service.ts +++ b/api/src/auth/auth.service.ts @@ -65,23 +65,24 @@ export class AuthService { user = await this.usersService.create({ name, email, - googleId, - avatar: picture, - lastLoginAt: new Date(), }) - } else { + } + + if (user.googleId !== googleId) { user.googleId = googleId + } - if (!user.name) { - user.name = name - } - if (!user.avatar) { - user.avatar = picture - } - user.lastLoginAt = new Date() - await user.save() + if (user.name !== name) { + user.name = name } + if (user.avatar !== picture) { + user.avatar = picture + } + + user.lastLoginAt = new Date() + await user.save() + const payload = { email: user.email, sub: user._id } return { accessToken: this.jwtService.sign(payload), @@ -107,9 +108,11 @@ export class AuthService { const user = await this.usersService.create({ ...userData, password: hashedPassword, - lastLoginAt: new Date(), }) + user.lastLoginAt = new Date() + await user.save() + const payload = { email: user.email, sub: user._id } return { diff --git a/api/src/users/users.service.ts b/api/src/users/users.service.ts index 9906c3d..1e4f270 100644 --- a/api/src/users/users.service.ts +++ b/api/src/users/users.service.ts @@ -15,8 +15,15 @@ export class UsersService { return await this.userModel.find() } - async create(userData: any) { - const { name, email, password } = userData + async create({ + name, + email, + password, + }: { + name: string + email: string + password?: string + }) { if (await this.findOne({ email })) { throw new HttpException( {