import { Controller, Get, Post, Body, Patch, Param, Delete, UseGuards, Request, } from '@nestjs/common'; import { MenusService } from './menus.service'; import { CreateMenuDto } from './dto/create-menu.dto'; import { UpdateMenuDto } from './dto/update-menu.dto'; import { JwtAuthGuard } from '../auth/guards/jwt-auth.guard'; @Controller('menus') @UseGuards(JwtAuthGuard) export class MenusController { constructor(private readonly menusService: MenusService) {} @Post() create(@Body() createMenuDto: CreateMenuDto) { return this.menusService.create(createMenuDto); } @Get() findAll() { return this.menusService.findAll(); } @Get('user-menus') getUserMenus(@Request() req) { const tenantId = req.tenantId || req.user?.tenantId; if (!tenantId) { throw new Error('无法确定租户信息'); } return this.menusService.findUserMenus(req.user.userId, tenantId); } @Get(':id') findOne(@Param('id') id: string) { return this.menusService.findOne(+id); } @Patch(':id') update(@Param('id') id: string, @Body() updateMenuDto: UpdateMenuDto) { return this.menusService.update(+id, updateMenuDto); } @Delete(':id') remove(@Param('id') id: string) { return this.menusService.remove(+id); } }