From 0cb9da13d00b05e8ec63e8bcef9a259f629f521b Mon Sep 17 00:00:00 2001 From: marcos-silva-rodrigues Date: Thu, 16 Apr 2026 14:58:19 -0300 Subject: [PATCH] FIX: block cancel first pipeline --- src/modules/platform-api/platform-api.controller.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/modules/platform-api/platform-api.controller.ts b/src/modules/platform-api/platform-api.controller.ts index 0c3cd55..16d27b3 100644 --- a/src/modules/platform-api/platform-api.controller.ts +++ b/src/modules/platform-api/platform-api.controller.ts @@ -807,7 +807,6 @@ export class PlatformApiController { @Post('pipelines/:pipelineId/pipeline_run/:runId/cancel') @ApiOperation({ summary: 'Cancel a running pipeline run' }) @RequireAllPermissions(PERMISSIONS_GROUPS.PIPELINE.permissions.UPDATE) - @UseGuards(PipelineExecutionGuard) async cancelPipelineRun( @Param('pipelineId') pipelineId: string, @Param('runId') runId: string, @@ -816,6 +815,16 @@ export class PlatformApiController { const normalizedPipelineId = this.normalizePipelineId(pipelineId); const normalizedRunId = this.normalizePipelineId(runId); + const status = await this.platformApiService.proxy( + 'GET', + `/pipeline/${normalizedPipelineId}/pipeline_run`, + user, + ); + + if (status.length === 1) { + throw new BadRequestException('The first pipeline cannot be canceled'); + } + return this.platformApiService.proxy( 'POST', `/pipeline/${normalizedPipelineId}/pipeline_run/${normalizedRunId}/cancel`,