Files
maestro/src/pipelines/pipelines.controller.ts
T

57 lines
1.6 KiB
TypeScript

import { Controller, Delete, Get, OnModuleInit, Param, Post, Put } from '@nestjs/common';
import { Client, ClientGrpc, MessagePattern, Payload } from '@nestjs/microservices';
import { PipelineGrpcClientService } from './pipelines.service';
import { CreatePipelineDto } from './dto/create-pipeline.dto';
import { UpdatePipelineDto } from './dto/update-pipeline.dto';
import { GrpcClientConfiguration } from './config/grpc-client';
import { ApiTags } from '@nestjs/swagger';
@ApiTags('pipelines')
@Controller('pipeline')
export class PipelinesController implements OnModuleInit{
@Client(GrpcClientConfiguration)
private pipelineServiceClient: ClientGrpc;
private pipelineService: PipelineGrpcClientService;
onModuleInit() {
this.pipelineService =
this.pipelineServiceClient.getService<PipelineGrpcClientService>('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)
}
}