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 {