diff --git a/src/auth/controllers/auth.controller.ts b/src/auth/controllers/auth.controller.ts index 26e3205..d0d65db 100644 --- a/src/auth/controllers/auth.controller.ts +++ b/src/auth/controllers/auth.controller.ts @@ -31,7 +31,7 @@ import { LoginRequestDto, TokensDto } from '../dto'; -import { DisableAuthCheck } from '../lib'; +import { DisableAuthCheck, DisableIsActivatedCheck } from '../lib'; @ApiTags('Авторизация') @Controller('auth') @@ -45,6 +45,7 @@ export class AuthController { type: AuthenticationResultDto, }) @ApiCookieAuth() + @DisableIsActivatedCheck() @DisableAuthCheck() @Get('/') async authentication( @@ -73,6 +74,7 @@ export class AuthController { type: SecurityUserDto, description: 'Подтверждение успешности регистрации', }) + @DisableIsActivatedCheck() @DisableAuthCheck() @Post('registration') async registration(@Body() body: CreateUserDto): Promise { @@ -95,6 +97,7 @@ export class AuthController { @ApiNotFoundResponse({ description: 'Пользователь не найден', }) + @DisableIsActivatedCheck() @DisableAuthCheck() @Put('registration/activate') async activate(@Query('token') token: string): Promise { diff --git a/src/auth/lib/activated/is-activated.guard.ts b/src/auth/lib/activated/is-activated.guard.ts index 6d1ac52..2065191 100644 --- a/src/auth/lib/activated/is-activated.guard.ts +++ b/src/auth/lib/activated/is-activated.guard.ts @@ -1,14 +1,13 @@ import { CanActivate, ExecutionContext, - Injectable, - InternalServerErrorException + ForbiddenException, + Injectable } from '@nestjs/common'; import { Reflector } from '@nestjs/core'; import { Request } from 'express'; import { SecurityUserDto } from '@/users/dto'; import { UsersService } from '@/users/services'; -import { DISABLE_AUTH_CHECK_FLAG } from '../auth'; import { DISABLE_IS_ACTIVATED_FLAG } from './config'; @Injectable() @@ -19,15 +18,10 @@ export class IsActivatedGuard implements CanActivate { ) {} async canActivate(context: ExecutionContext): Promise { - const disable = - this.reflector.get( - DISABLE_IS_ACTIVATED_FLAG, - context.getHandler() - ) || - this.reflector.get( - DISABLE_AUTH_CHECK_FLAG, - context.getHandler() - ); + const disable = this.reflector.getAllAndOverride( + DISABLE_IS_ACTIVATED_FLAG, + [context.getHandler(), context.getClass()] + ); if (disable) { return true; @@ -37,9 +31,7 @@ export class IsActivatedGuard implements CanActivate { const user = (req as any).user as SecurityUserDto; if (!user) { - throw new InternalServerErrorException( - 'Is activated must be used only with authorized users' - ); + throw new ForbiddenException('User is not activated'); } return this.usersService.isActivated({ id: user.id, }); diff --git a/src/shared/lib/cookie.decorator.ts b/src/shared/lib/cookie.decorator.ts index 5c5e420..72e2326 100644 --- a/src/shared/lib/cookie.decorator.ts +++ b/src/shared/lib/cookie.decorator.ts @@ -5,8 +5,6 @@ export const Cookie = createParamDecorator( (cookie, context) => { const req: Request = context.switchToHttp().getRequest(); - console.log(req.cookies); - return req.cookies[cookie] ?? null; } );