ec-nest/src/plan/plan.controller.ts
liuyun 418dfb9dae feat(c2): 服务计划 + 老人个人项目库模块
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-10-14 22:27:34 +08:00

45 lines
1.3 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { Body, Controller, Get, Param, Post } from '@nestjs/common';
import { Permissions } from '../common/permissions.js';
import { AuditLog, RequirePermissions } from '../auth/decorators.js';
import { ChangePlanDto, ConfirmPlanDto, CreatePlanDto } from './dto.js';
import { PlanService } from './plan.service.js';
@Controller('plan')
export class PlanController {
constructor(private readonly service: PlanService) {}
@Post()
@RequirePermissions(Permissions.plan.create)
@AuditLog('plan', 'create')
create(@Body() dto: CreatePlanDto) {
return this.service.create(dto);
}
@Post('change')
@RequirePermissions(Permissions.plan.change)
@AuditLog('plan', 'change')
change(@Body() dto: ChangePlanDto) {
return this.service.change(dto);
}
// 注意:by-elder 必须先于 :id 声明,否则 :id 会吞掉 by-elder。
@Get('by-elder/:elderId')
@RequirePermissions(Permissions.plan.detail)
byElder(@Param('elderId') elderId: string) {
return this.service.byElder(elderId);
}
@Get(':id')
@RequirePermissions(Permissions.plan.detail)
detail(@Param('id') id: string) {
return this.service.detail(id);
}
@Post(':id/confirm')
@RequirePermissions(Permissions.plan.confirm)
@AuditLog('plan', 'confirm')
confirm(@Param('id') id: string, @Body() dto: ConfirmPlanDto) {
return this.service.confirm(id, dto);
}
}