Skip to content

Commit 631c6da

Browse files
Fix: Configmap and Secret Duplicate Key issue (#2120)
* override confimap and secret if app id and environment id provided in payload * cs and cm environment override update fix * configmap update fix for environment override
1 parent 0da4eca commit 631c6da

File tree

1 file changed

+18
-10
lines changed

1 file changed

+18
-10
lines changed

pkg/pipeline/ConfigMapService.go

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -337,10 +337,14 @@ func (impl ConfigMapServiceImpl) CMEnvironmentAddUpdate(configMapRequest *Config
337337
var model *chartConfig.ConfigMapEnvModel
338338
if configMapRequest.Id > 0 {
339339
model, err = impl.configMapRepository.GetByIdEnvLevel(configMapRequest.Id)
340-
if err != nil {
341-
impl.logger.Errorw("error while fetching from db", "error", err)
342-
return nil, err
343-
}
340+
} else if configMapRequest.AppId > 0 && configMapRequest.EnvironmentId > 0 {
341+
model, err = impl.configMapRepository.GetByAppIdAndEnvIdEnvLevel(configMapRequest.AppId, configMapRequest.EnvironmentId)
342+
}
343+
if err != nil && err != pg.ErrNoRows {
344+
impl.logger.Errorw("error while fetching from db", "error", err)
345+
return nil, err
346+
}
347+
if err == nil && model.Id > 0 {
344348
configsList := &ConfigsList{}
345349
found := false
346350
var configs []*ConfigData
@@ -383,7 +387,7 @@ func (impl ConfigMapServiceImpl) CMEnvironmentAddUpdate(configMapRequest *Config
383387
}
384388
configMapRequest.Id = configMap.Id
385389

386-
} else {
390+
} else if err == pg.ErrNoRows {
387391
//creating config map record for first time
388392
configsList := &ConfigsList{
389393
ConfigData: configMapRequest.ConfigData,
@@ -695,10 +699,14 @@ func (impl ConfigMapServiceImpl) CSEnvironmentAddUpdate(configMapRequest *Config
695699
var model *chartConfig.ConfigMapEnvModel
696700
if configMapRequest.Id > 0 {
697701
model, err = impl.configMapRepository.GetByIdEnvLevel(configMapRequest.Id)
698-
if err != nil {
699-
impl.logger.Errorw("error while fetching from db", "error", err)
700-
return nil, err
701-
}
702+
} else if configMapRequest.AppId > 0 && configMapRequest.EnvironmentId > 0 {
703+
model, err = impl.configMapRepository.GetByAppIdAndEnvIdEnvLevel(configMapRequest.AppId, configMapRequest.EnvironmentId)
704+
}
705+
if err != nil && err != pg.ErrNoRows {
706+
impl.logger.Errorw("error while fetching from db", "error", err)
707+
return nil, err
708+
}
709+
if err == nil && model.Id > 0 {
702710
configsList := &SecretsList{}
703711
found := false
704712
var configs []*ConfigData
@@ -743,7 +751,7 @@ func (impl ConfigMapServiceImpl) CSEnvironmentAddUpdate(configMapRequest *Config
743751
}
744752
configMapRequest.Id = configMap.Id
745753

746-
} else {
754+
} else if err == pg.ErrNoRows {
747755
//creating config map record for first time
748756
secretsList := &SecretsList{
749757
ConfigData: configMapRequest.ConfigData,

0 commit comments

Comments
 (0)