1+ /*
2+ * Copyright (c) 2024. Devtron Inc.
3+ *
4+ * Licensed under the Apache License, Version 2.0 (the "License");
5+ * you may not use this file except in compliance with the License.
6+ * You may obtain a copy of the License at
7+ *
8+ * http://www.apache.org/licenses/LICENSE-2.0
9+ *
10+ * Unless required by applicable law or agreed to in writing, software
11+ * distributed under the License is distributed on an "AS IS" BASIS,
12+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+ * See the License for the specific language governing permissions and
14+ * limitations under the License.
15+ */
16+
117package read
218
319import (
@@ -25,15 +41,16 @@ type EnvConfigOverrideService interface {
2541 // EnvConfigOverride.Chart is not populated,
2642 // as the chartRepoRepository.Chart contains the reference chart(in bytes).
2743 GetAllOverridesForApp (ctx context.Context , appId int ) ([]* bean.EnvConfigOverride , error )
44+ EnvConfigOverrideServiceEnt
2845}
2946
3047type EnvConfigOverrideReadServiceImpl struct {
3148 envConfigOverrideRepository chartConfig.EnvConfigOverrideRepository
3249 logger * zap.SugaredLogger
3350}
3451
35- func NewEnvConfigOverrideReadServiceImpl (repository chartConfig.EnvConfigOverrideRepository ,
36- logger * zap. SugaredLogger ) * EnvConfigOverrideReadServiceImpl {
52+ func NewEnvConfigOverrideReadServiceImpl (repository chartConfig.EnvConfigOverrideRepository , logger * zap. SugaredLogger ,
53+ ) * EnvConfigOverrideReadServiceImpl {
3754 return & EnvConfigOverrideReadServiceImpl {
3855 envConfigOverrideRepository : repository ,
3956 logger : logger ,
@@ -46,7 +63,13 @@ func (impl EnvConfigOverrideReadServiceImpl) GetByChartAndEnvironment(chartId, t
4663 impl .logger .Errorw ("error in getting chart env config override" , "chartId" , chartId , "targetEnvironmentId" , targetEnvironmentId , "err" , err )
4764 return nil , err
4865 }
49- return adapter .EnvOverrideDBToDTO (overrideDBObj ), nil
66+ overrideDTO := adapter .EnvOverrideDBToDTO (overrideDBObj )
67+ overrideDTO , err = impl .getOverrideDataWithUpdatedPatchDataUnResolved (overrideDTO , overrideDTO .Chart .AppId )
68+ if err != nil {
69+ impl .logger .Errorw ("error in patching values with base template values" , "envId" , targetEnvironmentId , "appId" , overrideDTO .Chart .AppId , "err" , err )
70+ return nil , err
71+ }
72+ return overrideDTO , nil
5073}
5174
5275func (impl EnvConfigOverrideReadServiceImpl ) ActiveEnvConfigOverride (appId , environmentId int ) (* bean.EnvConfigOverride , error ) {
@@ -55,7 +78,13 @@ func (impl EnvConfigOverrideReadServiceImpl) ActiveEnvConfigOverride(appId, envi
5578 impl .logger .Errorw ("error in getting chart env config override" , "appId" , appId , "environmentId" , environmentId , "err" , err )
5679 return nil , err
5780 }
58- return adapter .EnvOverrideDBToDTO (overrideDBObj ), nil
81+ overrideDTO := adapter .EnvOverrideDBToDTO (overrideDBObj )
82+ overrideDTO , err = impl .getOverrideDataWithUpdatedPatchDataUnResolved (overrideDTO , appId )
83+ if err != nil {
84+ impl .logger .Errorw ("error in patching values with base template values" , "envId" , environmentId , "appId" , appId , "err" , err )
85+ return nil , err
86+ }
87+ return overrideDTO , nil
5988}
6089
6190func (impl EnvConfigOverrideReadServiceImpl ) GetByIdIncludingInactive (id int ) (* bean.EnvConfigOverride , error ) {
@@ -64,7 +93,13 @@ func (impl EnvConfigOverrideReadServiceImpl) GetByIdIncludingInactive(id int) (*
6493 impl .logger .Errorw ("error in getting chart env config override" , "id" , id , "err" , err )
6594 return nil , err
6695 }
67- return adapter .EnvOverrideDBToDTO (overrideDBObj ), nil
96+ overrideDTO := adapter .EnvOverrideDBToDTO (overrideDBObj )
97+ overrideDTO , err = impl .getOverrideDataWithUpdatedPatchDataUnResolved (overrideDTO , overrideDTO .Chart .AppId )
98+ if err != nil {
99+ impl .logger .Errorw ("error in patching values with base template values" , "envId" , overrideDTO .TargetEnvironment , "appId" , overrideDTO .Chart .AppId , "err" , err )
100+ return nil , err
101+ }
102+ return overrideDTO , nil
68103}
69104
70105func (impl EnvConfigOverrideReadServiceImpl ) GetByEnvironment (targetEnvironmentId int ) ([]* bean.EnvConfigOverride , error ) {
@@ -88,7 +123,13 @@ func (impl EnvConfigOverrideReadServiceImpl) GetEnvConfigByChartId(chartId int)
88123 }
89124 envConfigOverrides := make ([]* bean.EnvConfigOverride , len (overrideDBObjs ))
90125 for _ , dbObj := range overrideDBObjs {
91- envConfigOverrides = append (envConfigOverrides , adapter .EnvOverrideDBToDTO (& dbObj ))
126+ overrideDTO := adapter .EnvOverrideDBToDTO (& dbObj )
127+ overrideDTO , err = impl .getOverrideDataWithUpdatedPatchDataUnResolved (overrideDTO , overrideDTO .Chart .AppId )
128+ if err != nil {
129+ impl .logger .Errorw ("error in patching values with base template values" , "envId" , overrideDTO .TargetEnvironment , "appId" , overrideDTO .Chart .AppId , "err" , err )
130+ return nil , err
131+ }
132+ envConfigOverrides = append (envConfigOverrides , overrideDTO )
92133 }
93134 return envConfigOverrides , nil
94135}
@@ -99,7 +140,13 @@ func (impl EnvConfigOverrideReadServiceImpl) FindLatestChartForAppByAppIdAndEnvI
99140 impl .logger .Errorw ("error in getting chart env config override" , "appId" , appId , "targetEnvironmentId" , targetEnvironmentId , "err" , err )
100141 return nil , err
101142 }
102- return adapter .EnvOverrideDBToDTO (overrideDBObj ), nil
143+ overrideDTO := adapter .EnvOverrideDBToDTO (overrideDBObj )
144+ overrideDTO , err = impl .getOverrideDataWithUpdatedPatchDataUnResolved (overrideDTO , overrideDTO .Chart .AppId )
145+ if err != nil {
146+ impl .logger .Errorw ("error in patching values with base template values" , "envId" , overrideDTO .TargetEnvironment , "appId" , overrideDTO .Chart .AppId , "err" , err )
147+ return nil , err
148+ }
149+ return overrideDTO , nil
103150}
104151
105152func (impl EnvConfigOverrideReadServiceImpl ) FindChartRefIdsForLatestChartForAppByAppIdAndEnvIds (appId int , targetEnvironmentIds []int ) (map [int ]int , error ) {
@@ -117,7 +164,13 @@ func (impl EnvConfigOverrideReadServiceImpl) FindChartByAppIdAndEnvIdAndChartRef
117164 impl .logger .Errorw ("error in getting chart env config override" , "appId" , appId , "targetEnvironmentIds" , targetEnvironmentId , "chartRefId" , chartRefId , "err" , err )
118165 return nil , err
119166 }
120- return adapter .EnvOverrideDBToDTO (overrideDBObj ), nil
167+ overrideDTO := adapter .EnvOverrideDBToDTO (overrideDBObj )
168+ overrideDTO , err = impl .getOverrideDataWithUpdatedPatchDataUnResolved (overrideDTO , overrideDTO .Chart .AppId )
169+ if err != nil {
170+ impl .logger .Errorw ("error in patching values with base template values" , "envId" , overrideDTO .TargetEnvironment , "appId" , overrideDTO .Chart .AppId , "err" , err )
171+ return nil , err
172+ }
173+ return overrideDTO , nil
121174}
122175
123176func (impl EnvConfigOverrideReadServiceImpl ) FindChartForAppByAppIdAndEnvId (appId , targetEnvironmentId int ) (* bean.EnvConfigOverride , error ) {
@@ -126,7 +179,13 @@ func (impl EnvConfigOverrideReadServiceImpl) FindChartForAppByAppIdAndEnvId(appI
126179 impl .logger .Errorw ("error in getting chart env config override" , "appId" , appId , "targetEnvironmentId" , targetEnvironmentId , "err" , err )
127180 return nil , err
128181 }
129- return adapter .EnvOverrideDBToDTO (overrideDBObj ), nil
182+ overrideDTO := adapter .EnvOverrideDBToDTO (overrideDBObj )
183+ overrideDTO , err = impl .getOverrideDataWithUpdatedPatchDataUnResolved (overrideDTO , appId )
184+ if err != nil {
185+ impl .logger .Errorw ("error in patching values with base template values" , "envId" , overrideDTO .TargetEnvironment , "appId" , appId , "err" , err )
186+ return nil , err
187+ }
188+ return overrideDTO , nil
130189}
131190
132191func (impl EnvConfigOverrideReadServiceImpl ) GetByAppIdEnvIdAndChartRefId (appId , envId int , chartRefId int ) (* bean.EnvConfigOverride , error ) {
@@ -135,7 +194,13 @@ func (impl EnvConfigOverrideReadServiceImpl) GetByAppIdEnvIdAndChartRefId(appId,
135194 impl .logger .Errorw ("error in getting chart env config override" , "appId" , appId , "envId" , envId , "chartRefId" , chartRefId , "err" , err )
136195 return nil , err
137196 }
138- return adapter .EnvOverrideDBToDTO (overrideDBObj ), nil
197+ overrideDTO := adapter .EnvOverrideDBToDTO (overrideDBObj )
198+ overrideDTO , err = impl .getOverrideDataWithUpdatedPatchDataUnResolved (overrideDTO , appId )
199+ if err != nil {
200+ impl .logger .Errorw ("error in patching values with base template values" , "envId" , overrideDTO .TargetEnvironment , "appId" , appId , "err" , err )
201+ return nil , err
202+ }
203+ return overrideDTO , nil
139204}
140205
141206func (impl EnvConfigOverrideReadServiceImpl ) GetAllOverridesForApp (ctx context.Context , appId int ) ([]* bean.EnvConfigOverride , error ) {
0 commit comments