From 4278196096b3e915479edb7b34629c14ee9e014f Mon Sep 17 00:00:00 2001 From: Igor Propisnov Date: Tue, 28 May 2024 23:18:44 +0200 Subject: [PATCH] change number to string --- backend/src/app.module.ts | 2 ++ backend/src/entities/user-credentials.entity.ts | 2 +- .../auth-module/controller/auth.controller.ts | 4 ++-- .../repositories/user-credentials.repository.ts | 4 ++-- .../src/modules/auth-module/services/auth.service.ts | 12 ++++++++---- .../auth-module/services/token-management.service.ts | 6 +++--- 6 files changed, 18 insertions(+), 12 deletions(-) diff --git a/backend/src/app.module.ts b/backend/src/app.module.ts index 95be8a7..e6167c8 100644 --- a/backend/src/app.module.ts +++ b/backend/src/app.module.ts @@ -12,6 +12,7 @@ import { AccessTokenGuard } from './modules/auth-module/common/guards'; import { DatabaseModule } from './modules/database-module/database.module'; import { SendgridModule } from './modules/sendgrid-module/sendgrid.module'; import { UserModule } from './modules/user-module/user.module'; +import { VerifyModule } from './modules/verify-module/verify.module'; @Module({ imports: [ @@ -22,6 +23,7 @@ import { UserModule } from './modules/user-module/user.module'; AuthModule, UserModule, SendgridModule, + VerifyModule, ], controllers: [AppController], providers: [AppService, { provide: 'APP_GUARD', useClass: AccessTokenGuard }], diff --git a/backend/src/entities/user-credentials.entity.ts b/backend/src/entities/user-credentials.entity.ts index accd20c..fad91b1 100644 --- a/backend/src/entities/user-credentials.entity.ts +++ b/backend/src/entities/user-credentials.entity.ts @@ -9,7 +9,7 @@ import { @Entity() export class UserCredentials { @PrimaryGeneratedColumn('uuid') - public id: number; + public id: string; @Column({ unique: true }) public email: string; diff --git a/backend/src/modules/auth-module/controller/auth.controller.ts b/backend/src/modules/auth-module/controller/auth.controller.ts index 721aa52..b52e273 100644 --- a/backend/src/modules/auth-module/controller/auth.controller.ts +++ b/backend/src/modules/auth-module/controller/auth.controller.ts @@ -50,7 +50,7 @@ export class AuthController { }) @Post('logout') @HttpCode(HttpStatus.OK) - public async logout(@GetCurrentUserId() userId: number): Promise { + public async logout(@GetCurrentUserId() userId: string): Promise { return this.authService.logout(userId); } @@ -70,7 +70,7 @@ export class AuthController { @Post('refresh') @HttpCode(HttpStatus.OK) public async refresh( - @GetCurrentUserId() userId: number, + @GetCurrentUserId() userId: string, @GetCurrentUser('refresh_token') refresh_token: string ): Promise { return this.authService.refresh(userId, refresh_token); diff --git a/backend/src/modules/auth-module/repositories/user-credentials.repository.ts b/backend/src/modules/auth-module/repositories/user-credentials.repository.ts index 0ecab36..86e8cae 100644 --- a/backend/src/modules/auth-module/repositories/user-credentials.repository.ts +++ b/backend/src/modules/auth-module/repositories/user-credentials.repository.ts @@ -26,13 +26,13 @@ export class UserCredentialsRepository { } public async findUserById( - userId: number + userId: string ): Promise { return this.repository.findOne({ where: { id: userId } }); } public async updateUserTokenHash( - userId: number, + userId: string, hashedRt: string | null ): Promise { const result = await this.repository.update(userId, { hashedRt }); diff --git a/backend/src/modules/auth-module/services/auth.service.ts b/backend/src/modules/auth-module/services/auth.service.ts index fec3d69..53f6d24 100644 --- a/backend/src/modules/auth-module/services/auth.service.ts +++ b/backend/src/modules/auth-module/services/auth.service.ts @@ -2,6 +2,7 @@ import { ForbiddenException, Injectable } from '@nestjs/common'; import { PasswordConfirmationMailService } from '../../sendgrid-module/services/password-confirmation.mail.service'; import { UserDataRepository } from '../../user-module/repositories/user-data.repository'; +import { EmailVerificationService } from '../../verify-module/services/email-verification.service'; import { TokensDto, UserCredentialsDto } from '../models/dto'; import { UserCredentialsRepository } from '../repositories/user-credentials.repository'; @@ -15,7 +16,8 @@ export class AuthService { private readonly userDataRepository: UserDataRepository, private readonly tokenManagementService: TokenManagementService, private readonly encryptionService: EncryptionService, - private readonly passwordConfirmationMailService: PasswordConfirmationMailService + private readonly passwordConfirmationMailService: PasswordConfirmationMailService, + private readonly emailVerificationService: EmailVerificationService ) {} public async signup(userCredentials: UserCredentialsDto): Promise { @@ -34,6 +36,8 @@ export class AuthService { // user.email // ); + // await this.emailVerificationService.generateEmailVerificationToken(user.id); + return this.generateAndPersistTokens(user.id, user.email); } @@ -59,7 +63,7 @@ export class AuthService { } public async refresh( - userId: number, + userId: string, refreshToken: string ): Promise { const user = await this.userCredentialsRepository.findUserById(userId); @@ -80,7 +84,7 @@ export class AuthService { return this.generateAndPersistTokens(user.id, user.email); } - public async logout(userId: number): Promise { + public async logout(userId: string): Promise { const affected = await this.userCredentialsRepository.updateUserTokenHash( userId, null @@ -90,7 +94,7 @@ export class AuthService { } private async generateAndPersistTokens( - userId: number, + userId: string, email: string ): Promise { const tokens = await this.tokenManagementService.generateTokens( diff --git a/backend/src/modules/auth-module/services/token-management.service.ts b/backend/src/modules/auth-module/services/token-management.service.ts index 0055406..fd91669 100644 --- a/backend/src/modules/auth-module/services/token-management.service.ts +++ b/backend/src/modules/auth-module/services/token-management.service.ts @@ -26,7 +26,7 @@ export class TokenManagementService { } public async generateTokens( - userId: number, + userId: string, email: string ): Promise { const access_token: string = await this.createAccessToken(userId, email); @@ -36,7 +36,7 @@ export class TokenManagementService { } private async createAccessToken( - userId: number, + userId: string, email: string ): Promise { return this.jwt.signAsync( @@ -49,7 +49,7 @@ export class TokenManagementService { } private async createRefreshToken( - userId: number, + userId: string, email: string ): Promise { return this.jwt.signAsync(