forked from wangziqi/gongxue-base
feat: implement full DepartmentsController with 9 endpoints
This commit is contained in:
@@ -1,7 +1,78 @@
|
|||||||
import { Controller } from '@nestjs/common';
|
import {
|
||||||
|
Controller,
|
||||||
|
Get,
|
||||||
|
Post,
|
||||||
|
Put,
|
||||||
|
Delete,
|
||||||
|
Body,
|
||||||
|
Param,
|
||||||
|
ParseIntPipe,
|
||||||
|
UseGuards,
|
||||||
|
} from '@nestjs/common';
|
||||||
import { DepartmentsService } from './departments.service';
|
import { DepartmentsService } from './departments.service';
|
||||||
|
import {
|
||||||
|
CreateDepartmentDto,
|
||||||
|
UpdateDepartmentDto,
|
||||||
|
AssignUserDto,
|
||||||
|
} from './dto/department.dto';
|
||||||
|
import { JwtAuthGuard } from '../auth/guards/jwt-auth.guard';
|
||||||
|
|
||||||
@Controller('api/departments')
|
@UseGuards(JwtAuthGuard)
|
||||||
|
@Controller('departments')
|
||||||
export class DepartmentsController {
|
export class DepartmentsController {
|
||||||
constructor(private readonly departmentsService: DepartmentsService) {}
|
constructor(private readonly departmentsService: DepartmentsService) {}
|
||||||
|
|
||||||
|
@Get()
|
||||||
|
findAll() {
|
||||||
|
return this.departmentsService.findAll();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Get('tree')
|
||||||
|
findTree() {
|
||||||
|
return this.departmentsService.findTree();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Get(':id')
|
||||||
|
findOne(@Param('id', ParseIntPipe) id: number) {
|
||||||
|
return this.departmentsService.findOne(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Post()
|
||||||
|
create(@Body() dto: CreateDepartmentDto) {
|
||||||
|
return this.departmentsService.create(dto);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Put(':id')
|
||||||
|
update(
|
||||||
|
@Param('id', ParseIntPipe) id: number,
|
||||||
|
@Body() dto: UpdateDepartmentDto,
|
||||||
|
) {
|
||||||
|
return this.departmentsService.update(id, dto);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Delete(':id')
|
||||||
|
remove(@Param('id', ParseIntPipe) id: number) {
|
||||||
|
return this.departmentsService.remove(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Get(':id/users')
|
||||||
|
getUsers(@Param('id', ParseIntPipe) id: number) {
|
||||||
|
return this.departmentsService.getUsers(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Post(':id/users')
|
||||||
|
assignUser(
|
||||||
|
@Param('id', ParseIntPipe) id: number,
|
||||||
|
@Body() dto: AssignUserDto,
|
||||||
|
) {
|
||||||
|
return this.departmentsService.assignUser(id, dto);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Delete(':id/users/:userId')
|
||||||
|
removeUser(
|
||||||
|
@Param('id', ParseIntPipe) id: number,
|
||||||
|
@Param('userId', ParseIntPipe) userId: number,
|
||||||
|
) {
|
||||||
|
return this.departmentsService.removeUser(id, userId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user