library-picturebook-activity/backend/src/menus/menus.controller.ts

56 lines
1.3 KiB
TypeScript
Raw Normal View History

2025-11-23 14:04:20 +08:00
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);
}
}