import { Controller, Get, Post, Body, Patch, Param, Delete, Query } from '@nestjs/common'; import { CoreEnvService } from './core-env.service'; import { CreateCoreEnvDto } from './dto/create-core-env.dto'; import { UpdateCoreEnvDto } from './dto/update-core-env.dto'; import { ApiOperation, ApiProduces, ApiTags } from '@nestjs/swagger'; import { PacInfo } from '@common/decorator/pac-info/pac-info.decorator'; import { PacInfoType } from '@utils/myType'; import { CoreEnvKeyDTO, CoreEnvTargetListDTO, GetCoreEnvDTO } from '@app/core-env/dto/get-core-env.dto'; @ApiTags('环境变量服务') @Controller('coreenv') export class CoreEnvController { constructor(private readonly coreEnvService: CoreEnvService) {} @ApiOperation({ summary: '添加环境变量', description: '增加一个环境变量内容,可以是具体的项,也可以是一个层级', }) @ApiProduces('application/json') @Post() create(@Body() createCoreEnvDto: CreateCoreEnvDto, @PacInfo() pacInfo: PacInfoType) { return this.coreEnvService.create(createCoreEnvDto, pacInfo); } @ApiOperation({ summary: '查环境变量', description: '查询环境变量分页或者列表', }) @ApiProduces('application/json') @Get() findAll(@Query() getCoreEnvDTO: GetCoreEnvDTO, @PacInfo() pacInfo: PacInfoType) { return this.coreEnvService.findAll(getCoreEnvDTO); } @ApiOperation({ summary: '查环境变量详情', description: '查询环境变量详细信息', }) @ApiProduces('application/json') @Get('/details/:envId') findOne(@Param('envId') envId: string) { return this.coreEnvService.findOne(envId); } @ApiOperation({ summary: '查环境变量下的项/树', description: '查询环境变量下的项,或者树', }) @ApiProduces('application/json') @Get('/list/:envKey') findTargetList(@Param() coreEnvKeyDTO: CoreEnvKeyDTO, @Query() coreEnvTargetListDTO: CoreEnvTargetListDTO) { return this.coreEnvService.findTargetList(coreEnvKeyDTO, coreEnvTargetListDTO); } @ApiOperation({ summary: '修改环境变量内容', description: '。', }) @ApiProduces('application/json') @Patch(':envId') update(@Param('envId') envId: string, @Body() updateCoreEnvDto: UpdateCoreEnvDto, @PacInfo() pacInfo: PacInfoType) { return this.coreEnvService.update(envId, updateCoreEnvDto, pacInfo); } @ApiOperation({ summary: '删除指定环境变量项', description: '删除指定环境变量项,子项存在不允许删除', }) @ApiProduces('application/json') @Delete(':envId') remove(@Param('envId') envId: string, @PacInfo() pacInfo: PacInfoType) { return this.coreEnvService.remove(envId, pacInfo); } }