From c3997e6d4f0b4ba91a0e6a66e62ffa3fc956762e Mon Sep 17 00:00:00 2001 From: Shivam-nagar23 Date: Tue, 3 Jun 2025 11:56:57 +0530 Subject: [PATCH] overriden pipeline ids --- .../pipelineConfig/CiTemplateOverrideRepository.go | 3 +++ pkg/pipeline/CiMaterialConfigService.go | 14 ++++++++------ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/internal/sql/repository/pipelineConfig/CiTemplateOverrideRepository.go b/internal/sql/repository/pipelineConfig/CiTemplateOverrideRepository.go index eb2c70e376..da8084c3a9 100644 --- a/internal/sql/repository/pipelineConfig/CiTemplateOverrideRepository.go +++ b/internal/sql/repository/pipelineConfig/CiTemplateOverrideRepository.go @@ -129,6 +129,9 @@ func (repo *CiTemplateOverrideRepositoryImpl) FindByCiPipelineId(ciPipelineId in } func (repo *CiTemplateOverrideRepositoryImpl) FindIfTemplateOverrideExistsByCiPipelineIdsAndGitMaterialId(ciPipelineIds []int, gitMaterialId int) (bool, error) { + if len(ciPipelineIds) == 0 { + return false, nil + } count, err := repo.dbConnection.Model((*CiTemplateOverride)(nil)). Where("ci_pipeline_id in (?)", pg.In(ciPipelineIds)). WhereGroup(func(q *orm.Query) (*orm.Query, error) { diff --git a/pkg/pipeline/CiMaterialConfigService.go b/pkg/pipeline/CiMaterialConfigService.go index fa8e988884..8f38cee15b 100644 --- a/pkg/pipeline/CiMaterialConfigService.go +++ b/pkg/pipeline/CiMaterialConfigService.go @@ -27,7 +27,6 @@ import ( "github.com/devtron-labs/devtron/pkg/build/pipeline" "github.com/devtron-labs/devtron/pkg/pipeline/history" "github.com/devtron-labs/devtron/pkg/sql" - "github.com/devtron-labs/devtron/util/sliceUtil" "github.com/go-pg/pg" "github.com/juju/errors" "go.uber.org/zap" @@ -126,12 +125,15 @@ func (impl *CiMaterialConfigServiceImpl) DeleteMaterial(request *bean.UpdateMate return fmt.Errorf("cannot delete git material, is being used in docker config") } } - pipelineIds := sliceUtil.NewSliceFromFuncExec(pipelines, func(dbPipeline *pipelineConfig.CiPipeline) int { - return dbPipeline.Id - }) - exist, err := impl.ciTemplateService.CheckIfTemplateOverrideExists(pipelineIds, request.Material.Id) + overriddenPipelineIds := make([]int, 0, len(pipelines)) + for _, dbPipeline := range pipelines { + if dbPipeline.IsDockerConfigOverridden { + overriddenPipelineIds = append(overriddenPipelineIds, dbPipeline.Id) + } + } + exist, err := impl.ciTemplateService.CheckIfTemplateOverrideExists(overriddenPipelineIds, request.Material.Id) if err != nil { - impl.logger.Errorw("error in checking if template override exists", "pipelineIds", pipelineIds, "gitMaterialId", request.Material.Id, "err", err) + impl.logger.Errorw("error in checking if template override exists", "pipelineIds", overriddenPipelineIds, "gitMaterialId", request.Material.Id, "err", err) return err } if exist {