12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- import {
- Body,
- Controller,
- Get,
- Post,
- Put,
- Query,
- UsePipes,
- ValidationPipe,
- UseInterceptors,
- } from '@nestjs/common';
- import { ApiTags } from '@nestjs/swagger';
- import {
- GetPartitionsInfo,
- LoadPartitions,
- ManagePartition,
- ManageType,
- } from './dto';
- import { PartitionsService } from './partitions.service';
- import { LoggingInterceptor } from '../interceptors/index';
- @ApiTags('partitions')
- @Controller('partitions')
- @UseInterceptors(LoggingInterceptor)
- export class PartitionsController {
- constructor(private partitionsService: PartitionsService) { }
- @Get()
- @UsePipes(new ValidationPipe())
- async getPartitions(@Query() query: GetPartitionsInfo) {
- return await this.partitionsService.getPatitionsInfo(query);
- }
- @Post()
- @UsePipes(new ValidationPipe())
- async managePartition(@Body() body: ManagePartition) {
- const { type, ...params } = body;
- return type.toLocaleLowerCase() === ManageType.CREATE
- ? await this.partitionsService.createParition(params)
- : await this.partitionsService.deleteParition(params);
- }
- @Put('load')
- @UsePipes(new ValidationPipe())
- async loadPartition(@Body() body: LoadPartitions) {
- return await this.partitionsService.loadPartitions(body);
- }
- @Put('release')
- @UsePipes(new ValidationPipe())
- async releasePartitions(@Body() body: LoadPartitions) {
- return await this.partitionsService.loadPartitions(body);
- }
- }
|