From 67742d018f00582d132e23da9fb15686115edbb5 Mon Sep 17 00:00:00 2001 From: faris Aljohari <83524184+farisaljohari@users.noreply.github.com> Date: Mon, 23 Dec 2024 01:37:37 -0600 Subject: [PATCH 1/2] Add method to find role by type --- src/role/services/role.service.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/role/services/role.service.ts b/src/role/services/role.service.ts index 5f75571..307f8a5 100644 --- a/src/role/services/role.service.ts +++ b/src/role/services/role.service.ts @@ -13,4 +13,12 @@ export class RoleService { ); return roles; } + async findRoleByType(roleType: RoleType) { + const role = await this.roleTypeRepository.findOne({ + where: { + type: roleType, + }, + }); + return role; + } } From 53a474d5cf198266c7b9be553a675dd94ba213ce Mon Sep 17 00:00:00 2001 From: faris Aljohari <83524184+farisaljohari@users.noreply.github.com> Date: Mon, 23 Dec 2024 01:37:46 -0600 Subject: [PATCH 2/2] Add RoleService to AuthModule and UserAuthService --- src/auth/auth.module.ts | 2 ++ src/auth/services/user-auth.service.ts | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/src/auth/auth.module.ts b/src/auth/auth.module.ts index 4af4688..8aaef36 100644 --- a/src/auth/auth.module.ts +++ b/src/auth/auth.module.ts @@ -8,6 +8,7 @@ import { UserRepository } from '@app/common/modules/user/repositories'; import { UserSessionRepository } from '@app/common/modules/session/repositories/session.repository'; import { UserOtpRepository } from '@app/common/modules/user/repositories'; import { RoleTypeRepository } from '@app/common/modules/role-type/repositories'; +import { RoleService } from 'src/role/services'; @Module({ imports: [ConfigModule, UserRepositoryModule, CommonModule], @@ -18,6 +19,7 @@ import { RoleTypeRepository } from '@app/common/modules/role-type/repositories'; UserSessionRepository, UserOtpRepository, RoleTypeRepository, + RoleService, ], exports: [UserAuthService], }) diff --git a/src/auth/services/user-auth.service.ts b/src/auth/services/user-auth.service.ts index b9b3ed3..89eda76 100644 --- a/src/auth/services/user-auth.service.ts +++ b/src/auth/services/user-auth.service.ts @@ -18,6 +18,8 @@ import * as argon2 from 'argon2'; import { differenceInSeconds } from '@app/common/helper/differenceInSeconds'; import { LessThan, MoreThan } from 'typeorm'; import { ConfigService } from '@nestjs/config'; +import { RoleService } from 'src/role/services'; +import { RoleType } from '@app/common/constants/role.type.enum'; @Injectable() export class UserAuthService { @@ -28,6 +30,7 @@ export class UserAuthService { private readonly helperHashService: HelperHashService, private readonly authService: AuthService, private readonly emailService: EmailService, + private readonly roleService: RoleService, private readonly configService: ConfigService, ) {} @@ -44,9 +47,13 @@ export class UserAuthService { try { const { regionUuid, ...rest } = userSignUpDto; + const spaceMemberRole = await this.roleService.findRoleByType( + RoleType.SPACE_MEMBER, + ); const user = await this.userRepository.save({ ...rest, password: hashedPassword, + roleType: { uuid: spaceMemberRole.uuid }, region: regionUuid ? { uuid: regionUuid,