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

71 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 { 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<PipelinesService>(
'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);
}
}