You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
pac-auth/src/application/core-env/core-env.controller.ts

74 lines
2.8 KiB

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 { UserInfoDecorator } from '@common/decorator/pac-info/pac-info.decorator';
import { GuardInfo } 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, @UserInfoDecorator() guardInfo: GuardInfo) {
return this.coreEnvService.create(createCoreEnvDto, guardInfo);
}
@ApiOperation({
summary: '查环境变量',
description: '查询环境变量分页或者列表',
})
@ApiProduces('application/json')
@Get()
findAll(@Query() getCoreEnvDTO: GetCoreEnvDTO, @UserInfoDecorator() guardInfo: GuardInfo) {
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, @UserInfoDecorator() guardInfo: GuardInfo) {
return this.coreEnvService.update(envId, updateCoreEnvDto, guardInfo);
}
@ApiOperation({
summary: '删除指定环境变量项',
description: '删除指定环境变量项,子项存在不允许删除',
})
@ApiProduces('application/json')
@Delete(':envId')
remove(@Param('envId') envId: string, @UserInfoDecorator() guardInfo: GuardInfo) {
return this.coreEnvService.remove(envId, guardInfo);
}
}