import { Controller, Get, Post, Put, Body, Param, UseGuards, SetMetadata, } from "@nestjs/common"; import { OrganizationsService } from "./organizations.service"; import { JwtAuthGuard } from "../auth/guards/jwt-auth.guard"; import { RolesGuard } from "../auth/guards/roles.guard"; const Roles = (...roles: string[]) => SetMetadata("roles", roles); @Controller("admin/organizations") @UseGuards(JwtAuthGuard, RolesGuard) @Roles("SUPER_ADMIN") export class OrganizationsController { constructor(private readonly organizationsService: OrganizationsService) {} @Post() create(@Body() data: { name: string; description?: string }) { return this.organizationsService.create(data); } @Get() findAll() { return this.organizationsService.findAll(); } @Get(":id") findOne(@Param("id") id: string) { return this.organizationsService.findOne(id); } @Put(":id") update(@Param("id") id: string, @Body() data: any) { return this.organizationsService.update(id, data); } @Put(":id/deactivate") deactivate(@Param("id") id: string) { return this.organizationsService.deactivate(id); } }