import { Body, Controller, Delete, Get, Param, Post, Put, } from '@nestjs/common'; import { PipelinesClientService } from 'src/clients/pipelines/client.service'; import { PipelinesService } from './pipelines.service'; @Controller('pipelines') export class PipelinesController { constructor(private pipelinesClientService: PipelinesClientService) {} @Post('start/:id') async activate(@Param() params, @Body() body) { const { id } = params; const { info } = body; console.log( process.env.DEV_URL + `/pipeline/start/${id}`, 'ON START PIPELINE ROUTE', ); const pipelineService = new PipelinesService(this.pipelinesClientService); const response = await pipelineService.runPipeline({ id, info }); return response; } @Get(':id/status') async getPipelineStatus(@Body() body, @Param() params) { const { id } = params; body.id = id; console.log( process.env.DEV_URL + `/pipeline/${id}`, 'ON GET PIPELINE STATUS ROUTE', ); const pipelineService = new PipelinesService(this.pipelinesClientService); const response = await pipelineService.getPipelineStatus(body); return response; } @Get(':id/:details') async getPipelineLogs(@Param() params) { const { id, details } = params; console.log( process.env.DEV_URL + `/pipeline/${id}`, 'ON GET PIPELINE LOGS ROUTE', ); const pipelineService = new PipelinesService(this.pipelinesClientService); const response = await pipelineService.getPipelineLogsMessages(id, details); return response; } @Post() async create(@Body() createPipelineDto) { console.log(process.env.DEV_URL + `/pipelines`, 'ON CREATE ROUTE'); const pipelineService = new PipelinesService(this.pipelinesClientService); const response = await pipelineService.create(createPipelineDto); return response; } @Get() async findAll(@Body() data) { console.log(process.env.DEV_URL + `/pipeline`, 'ON Find All ROUTE'); const pipelineService = new PipelinesService(this.pipelinesClientService); const response = await pipelineService.findAll(data); return response; } @Get('/:id') async findOne(@Body() data, @Param() params) { const { id } = params; console.log(process.env.DEV_URL + `/pipeline/${id}`, 'ON Find One ROUTE'); const pipelineService = new PipelinesService(this.pipelinesClientService); const response = await pipelineService.findOne({ id, ...data }); return response; } @Put(':id') async update(@Body() updatePipelineDto, @Param() params) { const { id } = params; const { info } = updatePipelineDto; delete updatePipelineDto.info; console.log(process.env.DEV_URL + `/pipeline/${id}`, 'ON UPDATE ROUTE'); const pipelineService = new PipelinesService(this.pipelinesClientService); const response = await pipelineService.update(id, updatePipelineDto, info); return response; } @Delete(':id') async delete(@Body() data, @Param() params) { const { id } = params; console.log(process.env.DEV_URL + `/pipeline/${id}`, 'ON DELETE ROUTE'); const pipelineService = new PipelinesService(this.pipelinesClientService); const response = await pipelineService.remove({ id, ...data }); return response; } }