From 37a2d24b36f4e54375f0f9ddb270adb285a907e8 Mon Sep 17 00:00:00 2001 From: Igor Propisnov Date: Wed, 31 Jul 2024 14:31:14 +0200 Subject: [PATCH] check if user mail is verified --- .../repositories/user-data.repository.ts | 20 +++++++++++++++++++ .../services/email-verification.service.ts | 14 +++++++++++-- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/backend/src/modules/user-module/repositories/user-data.repository.ts b/backend/src/modules/user-module/repositories/user-data.repository.ts index 1b00fdf..e1f45c0 100644 --- a/backend/src/modules/user-module/repositories/user-data.repository.ts +++ b/backend/src/modules/user-module/repositories/user-data.repository.ts @@ -34,4 +34,24 @@ export class UserDataRepository { return false; } } + + public async isEmailConfirmedByUserId(userId: string): Promise { + try { + const userData = await this.repository.findOne({ + where: { + userCredentials: { id: userId }, + }, + relations: ['userCredentials'], + }); + + if (userData) { + return userData.isEmailConfirmed; + } + + return false; + } catch (error) { + console.error('Error checking email confirmation status:', error); + return false; + } + } } diff --git a/backend/src/modules/verify-module/services/email-verification.service.ts b/backend/src/modules/verify-module/services/email-verification.service.ts index 6a0f0ae..3f07e61 100644 --- a/backend/src/modules/verify-module/services/email-verification.service.ts +++ b/backend/src/modules/verify-module/services/email-verification.service.ts @@ -59,8 +59,18 @@ export class EmailVerificationService { public async isEmailVerified(sessionID: string): Promise { const userId = await this.sessionService.getUserIdBySessionId(sessionID); - // TODO: Check if user is verified - return true; + if (!userId) { + return false; + } + + const isVerfiied = + await this.userDataRepository.isEmailConfirmedByUserId(userId); + + if (isVerfiied) { + return true; + } + + return false; } private async createVerificationToken(): Promise {