Skip to content

Commit 0de390e

Browse files
committed
added email confirmation letter sending when user added in group is not active
1 parent 287bc24 commit 0de390e

3 files changed

Lines changed: 12 additions & 1 deletion

File tree

backend/src/entities/group/use-cases/add-user-in-group.use.case.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ export class AddUserInGroupUseCase
3434
protected async implementation(inputData: AddUserInGroupDs): Promise<AddedUserInGroupDs> {
3535
const { email, groupId } = inputData;
3636
const foundGroup = await this._dbContext.groupRepository.findGroupById(groupId);
37-
const foundUser = await this._dbContext.userRepository.findOneUserByEmail(email);
37+
const foundUser = await this._dbContext.userRepository.findUserByEmailWithEmailVerificationAndInvitation(email);
3838

3939
if (foundUser && foundUser.isActive) {
4040
const userAlreadyAdded = !!foundGroup.users.find((u) => u.id === foundUser.id);

backend/src/entities/user/repository/user.repository.interface.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ export interface IUserRepository {
2121

2222
findOneUserWithEmailVerification(userId: string): Promise<UserEntity>;
2323

24+
findUserByEmailWithEmailVerificationAndInvitation(email: string): Promise<UserEntity>
25+
2426
deleteUserEntity(user: UserEntity): Promise<UserEntity>;
2527

2628
getUsersWithNotNullGCLIDsInTwoWeeks(): Promise<Array<UserEntity>>;

backend/src/entities/user/repository/user.repository.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,15 @@ export class UserRepository extends Repository<UserEntity> implements IUserRepos
7272
return await usersQb.getOne();
7373
}
7474

75+
public async findUserByEmailWithEmailVerificationAndInvitation(email: string): Promise<UserEntity> {
76+
const usersQb = await getRepository(UserEntity)
77+
.createQueryBuilder('user')
78+
.leftJoinAndSelect('user.email_verification', 'email_verification')
79+
.leftJoinAndSelect('user.user_invitation', 'user_invitation')
80+
.where('user.email = :userEmail', { userEmail: email });
81+
return await usersQb.getOne();
82+
}
83+
7584
public async findAllUsersInConnection(
7685
connectionId: string,
7786
): Promise<Array<Omit<UserEntity, 'connections' | 'groups'>>> {

0 commit comments

Comments
 (0)