From 0b2bf8a00d7e34254f407955b3469e00cc715c96 Mon Sep 17 00:00:00 2001 From: Mahyargdz Date: Mon, 19 May 2025 16:42:53 +0330 Subject: [PATCH] feat: add auth to the users controller --- src/modules/users/services/users.service.ts | 4 ++-- src/modules/users/users.controller.ts | 11 ++++++++--- src/modules/users/users.module.ts | 3 ++- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/modules/users/services/users.service.ts b/src/modules/users/services/users.service.ts index 83f588a..ffb1310 100644 --- a/src/modules/users/services/users.service.ts +++ b/src/modules/users/services/users.service.ts @@ -38,8 +38,8 @@ export class UsersService { } /*******************************/ - async getMe(userId: string) { - const user = await this.userRepository.findOne({ id: userId }, { populate: ["role"] }); + async getMe(userId: string, businessId: string) { + const user = await this.userRepository.findOne({ id: userId, business: { id: businessId } }, { populate: ["role"] }); if (!user) throw new BadRequestException(UserMessage.USER_NOT_FOUND); return { user }; } diff --git a/src/modules/users/users.controller.ts b/src/modules/users/users.controller.ts index cdb58ce..0c011fb 100644 --- a/src/modules/users/users.controller.ts +++ b/src/modules/users/users.controller.ts @@ -1,16 +1,21 @@ -import { Controller, Get } from "@nestjs/common"; +import { Controller, Get, UseInterceptors } from "@nestjs/common"; import { ApiOperation } from "@nestjs/swagger"; import { UsersService } from "./services/users.service"; +import { AuthGuards } from "../../common/decorators/auth-guard.decorator"; +import { BusinessDec } from "../../common/decorators/business.decorator"; import { UserDec } from "../../common/decorators/user.decorator"; +import { BusinessInterceptor } from "../../core/interceptors/business.interceptor"; @Controller("users") +@AuthGuards() +@UseInterceptors(BusinessInterceptor) export class UsersController { constructor(private readonly usersService: UsersService) {} @ApiOperation({ summary: "Get user profile" }) @Get("me") - getMe(@UserDec("id") userId: string) { - return this.usersService.getMe(userId); + getMe(@UserDec("id") userId: string, @BusinessDec("id") businessId: string) { + return this.usersService.getMe(userId, businessId); } } diff --git a/src/modules/users/users.module.ts b/src/modules/users/users.module.ts index 3c79caa..15b2beb 100644 --- a/src/modules/users/users.module.ts +++ b/src/modules/users/users.module.ts @@ -5,9 +5,10 @@ import { Role } from "./entities/role.entity"; import { User } from "./entities/user.entity"; import { UsersService } from "./services/users.service"; import { UsersController } from "./users.controller"; +import { BusinessesModule } from "../businesses/businesses.module"; @Module({ - imports: [MikroOrmModule.forFeature([User, Role])], + imports: [MikroOrmModule.forFeature([User, Role]), BusinessesModule], controllers: [UsersController], providers: [UsersService], exports: [UsersService],