import { Controller, Get, Post, Body, Patch, Delete, UseGuards, Request, } from '@nestjs/common'; import { SchoolsService } from './schools.service'; import { CreateSchoolDto } from './dto/create-school.dto'; import { UpdateSchoolDto } from './dto/update-school.dto'; import { JwtAuthGuard } from '../../auth/guards/jwt-auth.guard'; @Controller('schools') @UseGuards(JwtAuthGuard) export class SchoolsController { constructor(private readonly schoolsService: SchoolsService) {} @Post() create(@Body() createSchoolDto: CreateSchoolDto, @Request() req) { const tenantId = req.tenantId || req.user?.tenantId; if (!tenantId) { throw new Error('无法确定租户信息'); } const creatorId = req.user?.id; return this.schoolsService.create(createSchoolDto, tenantId, creatorId); } @Get() findOne(@Request() req) { const tenantId = req.tenantId || req.user?.tenantId; if (!tenantId) { throw new Error('无法确定租户信息'); } return this.schoolsService.findOne(tenantId); } @Patch() update(@Body() updateSchoolDto: UpdateSchoolDto, @Request() req) { const tenantId = req.tenantId || req.user?.tenantId; if (!tenantId) { throw new Error('无法确定租户信息'); } const modifierId = req.user?.id; return this.schoolsService.update(tenantId, updateSchoolDto, modifierId); } @Delete() remove(@Request() req) { const tenantId = req.tenantId || req.user?.tenantId; if (!tenantId) { throw new Error('无法确定租户信息'); } return this.schoolsService.remove(tenantId); } }