1- import { Inject , Injectable } from '@nestjs/common' ;
1+ import { Inject , Injectable , NotFoundException } from '@nestjs/common' ;
22import AbstractUseCase from '../../../common/abstract-use.case.js' ;
33import { IGlobalDatabaseContext } from '../../../common/application/global-database-context.interface.js' ;
44import { BaseType } from '../../../common/data-injection.tokens.js' ;
5- import { ConnectionEntity } from '../../../entities/connection/connection.entity.js' ;
6- import { GroupEntity } from '../../../entities/group/group.entity.js' ;
7- import { PermissionEntity } from '../../../entities/permission/permission.entity.js' ;
85import { RegisterUserDs } from '../../../entities/user/application/data-structures/register-user-ds.js' ;
96import { ExternalRegistrationProviderEnum } from '../../../entities/user/enums/external-registration-provider.enum.js' ;
7+ import { UserRoleEnum } from '../../../entities/user/enums/user-role.enum.js' ;
108import { UserEntity } from '../../../entities/user/user.entity.js' ;
11- import { buildConnectionEntitiesFromTestDtos } from '../../../entities/user/utils/build-connection-entities-from-test-dtos.js' ;
12- import { buildDefaultAdminGroups } from '../../../entities/user/utils/build-default-admin-groups.js' ;
13- import { buildDefaultAdminPermissions } from '../../../entities/user/utils/build-default-admin-permissions.js' ;
14- import { Constants } from '../../../helpers/constants/constants.js' ;
9+ import { Messages } from '../../../exceptions/text/messages.js' ;
1510import { SaasSAMLUserRegisterDS } from '../data-structures/saas-saml-user-register.ds.js' ;
1611
1712@Injectable ( )
@@ -24,7 +19,7 @@ export class SaaSRegisterUserWIthSamlUseCase extends AbstractUseCase<SaasSAMLUse
2419 }
2520
2621 public async implementation ( inputData : SaasSAMLUserRegisterDS ) : Promise < UserEntity > {
27- const { email, name, samlNameId } = inputData ;
22+ const { email, name, samlNameId, companyId } = inputData ;
2823 const foundUser = await this . _dbContext . userRepository . findOneUserByEmail (
2924 email ,
3025 ExternalRegistrationProviderEnum . SAML ,
@@ -47,27 +42,15 @@ export class SaaSRegisterUserWIthSamlUseCase extends AbstractUseCase<SaasSAMLUse
4742 ExternalRegistrationProviderEnum . SAML ,
4843 ) ;
4944
50- const testConnections = Constants . getTestConnectionsArr ( ) ;
51- const testConnectionsEntities = buildConnectionEntitiesFromTestDtos ( testConnections ) ;
52- const createdTestConnections = await Promise . all (
53- testConnectionsEntities . map ( async ( connection ) : Promise < ConnectionEntity > => {
54- connection . author = savedUser ;
55- return await this . _dbContext . connectionRepository . saveNewConnection ( connection ) ;
56- } ) ,
57- ) ;
58- const testGroupsEntities = buildDefaultAdminGroups ( savedUser , createdTestConnections ) ;
59- const createdTestGroups = await Promise . all (
60- testGroupsEntities . map ( async ( group : GroupEntity ) => {
61- return await this . _dbContext . groupRepository . saveNewOrUpdatedGroup ( group ) ;
62- } ) ,
63- ) ;
64- const testPermissionsEntities = buildDefaultAdminPermissions ( createdTestGroups ) ;
65- await Promise . all (
66- testPermissionsEntities . map ( async ( permission : PermissionEntity ) => {
67- await this . _dbContext . permissionRepository . saveNewOrUpdatedPermission ( permission ) ;
68- } ) ,
69- ) ;
45+ const foundCompanyInfo = await this . _dbContext . companyInfoRepository . findOne ( { where : { id : companyId } } ) ;
46+ if ( ! foundCompanyInfo ) {
47+ throw new NotFoundException ( Messages . COMPANY_NOT_FOUND ) ;
48+ }
49+
50+ savedUser . company = foundCompanyInfo ;
51+ savedUser . samlNameId = samlNameId ;
52+ savedUser . role = UserRoleEnum . USER ;
7053
71- return savedUser ;
54+ return await this . _dbContext . userRepository . saveUserEntity ( savedUser ) ;
7255 }
7356}
0 commit comments