feat: add auth to the users controller

This commit is contained in:
Mahyargdz
2025-05-19 16:42:53 +03:30
parent 9afe89295c
commit 0b2bf8a00d
3 changed files with 12 additions and 6 deletions
+2 -2
View File
@@ -38,8 +38,8 @@ export class UsersService {
} }
/*******************************/ /*******************************/
async getMe(userId: string) { async getMe(userId: string, businessId: string) {
const user = await this.userRepository.findOne({ id: userId }, { populate: ["role"] }); const user = await this.userRepository.findOne({ id: userId, business: { id: businessId } }, { populate: ["role"] });
if (!user) throw new BadRequestException(UserMessage.USER_NOT_FOUND); if (!user) throw new BadRequestException(UserMessage.USER_NOT_FOUND);
return { user }; return { user };
} }
+8 -3
View File
@@ -1,16 +1,21 @@
import { Controller, Get } from "@nestjs/common"; import { Controller, Get, UseInterceptors } from "@nestjs/common";
import { ApiOperation } from "@nestjs/swagger"; import { ApiOperation } from "@nestjs/swagger";
import { UsersService } from "./services/users.service"; 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 { UserDec } from "../../common/decorators/user.decorator";
import { BusinessInterceptor } from "../../core/interceptors/business.interceptor";
@Controller("users") @Controller("users")
@AuthGuards()
@UseInterceptors(BusinessInterceptor)
export class UsersController { export class UsersController {
constructor(private readonly usersService: UsersService) {} constructor(private readonly usersService: UsersService) {}
@ApiOperation({ summary: "Get user profile" }) @ApiOperation({ summary: "Get user profile" })
@Get("me") @Get("me")
getMe(@UserDec("id") userId: string) { getMe(@UserDec("id") userId: string, @BusinessDec("id") businessId: string) {
return this.usersService.getMe(userId); return this.usersService.getMe(userId, businessId);
} }
} }
+2 -1
View File
@@ -5,9 +5,10 @@ import { Role } from "./entities/role.entity";
import { User } from "./entities/user.entity"; import { User } from "./entities/user.entity";
import { UsersService } from "./services/users.service"; import { UsersService } from "./services/users.service";
import { UsersController } from "./users.controller"; import { UsersController } from "./users.controller";
import { BusinessesModule } from "../businesses/businesses.module";
@Module({ @Module({
imports: [MikroOrmModule.forFeature([User, Role])], imports: [MikroOrmModule.forFeature([User, Role]), BusinessesModule],
controllers: [UsersController], controllers: [UsersController],
providers: [UsersService], providers: [UsersService],
exports: [UsersService], exports: [UsersService],