import { Controller, Delete, Get, OnModuleInit, Param, Post, Put, } from '@nestjs/common'; import { Client, ClientGrpc, MessagePattern, Payload, } from '@nestjs/microservices'; import { PipelinesService } from './pipelines.service'; import { CreatePipelineDto } from './dto/create-pipeline.dto'; import { UpdatePipelineDto } from './dto/update-pipeline.dto'; import { GrpcClientConfiguration } from './config/grpc-client'; @Controller('pipeline') export class PipelinesController implements OnModuleInit { @Client(GrpcClientConfiguration) private pipelineServiceClient: ClientGrpc; private pipelineService: PipelinesService; onModuleInit() { this.pipelineService = this.pipelineServiceClient.getService( 'PipelineService', ); } @Post() create(@Payload() createPipelineDto: CreatePipelineDto) { return this.pipelineService.create(createPipelineDto); } @Get() list() { return this.pipelineService.list(); } @Get(':id') show(@Param() id: string) { return this.pipelineService.show(id); } @Put(':id') update(@Param() id: string, @Payload() updatePipelineDto: UpdatePipelineDto) { return this.pipelineService.update(id, updatePipelineDto); } @Delete() remove(@Param() id: string) { return this.pipelineService.remove(id); } @Post() getPipelineLogsMessages(@Param() id: string, @Payload() details: string) { return this.pipelineService.getPipelineLogsMessages(id, details); } getPipelineStatus(id: string) { return this.pipelineService.getPipelineStatus(id); } }