diff --git a/src/auth/services/user-auth.service.ts b/src/auth/services/user-auth.service.ts index f464837..6bf90d4 100644 --- a/src/auth/services/user-auth.service.ts +++ b/src/auth/services/user-auth.service.ts @@ -88,39 +88,43 @@ export class UserAuthService { } async userLogin(data: UserLoginDto) { - const user = await this.authService.validateUser( - data.email, - data.password, - data.regionUuid, - ); + try { + const user = await this.authService.validateUser( + data.email, + data.password, + data.regionUuid, + ); - if (!user) { - throw new UnauthorizedException('Invalid login credentials.'); - } + if (!user) { + throw new UnauthorizedException('Invalid login credentials.'); + } - const session = await Promise.all([ - await this.sessionRepository.update( - { userId: user.id }, - { - isLoggedOut: true, - }, - ), - await this.authService.createSession({ + const session = await Promise.all([ + await this.sessionRepository.update( + { userId: user.id }, + { + isLoggedOut: true, + }, + ), + await this.authService.createSession({ + userId: user.uuid, + loginTime: new Date(), + isLoggedOut: false, + }), + ]); + + return await this.authService.login({ + email: user.email, userId: user.uuid, - loginTime: new Date(), - isLoggedOut: false, - }), - ]); - - return await this.authService.login({ - email: user.email, - userId: user.uuid, - uuid: user.uuid, - roles: user?.roles?.map((role) => { - return { uuid: role.uuid, type: role.roleType.type }; - }), - sessionId: session[1].uuid, - }); + uuid: user.uuid, + roles: user?.roles?.map((role) => { + return { uuid: role.uuid, type: role.roleType.type }; + }), + sessionId: session[1].uuid, + }); + } catch (error) { + throw new BadRequestException('Wrong email, password or region'); + } } async deleteUser(uuid: string) {