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
+
1
17
package read
2
18
3
19
import (
@@ -25,15 +41,16 @@ type EnvConfigOverrideService interface {
25
41
// EnvConfigOverride.Chart is not populated,
26
42
// as the chartRepoRepository.Chart contains the reference chart(in bytes).
27
43
GetAllOverridesForApp (ctx context.Context , appId int ) ([]* bean.EnvConfigOverride , error )
44
+ EnvConfigOverrideServiceEnt
28
45
}
29
46
30
47
type EnvConfigOverrideReadServiceImpl struct {
31
48
envConfigOverrideRepository chartConfig.EnvConfigOverrideRepository
32
49
logger * zap.SugaredLogger
33
50
}
34
51
35
- func NewEnvConfigOverrideReadServiceImpl (repository chartConfig.EnvConfigOverrideRepository ,
36
- logger * zap. SugaredLogger ) * EnvConfigOverrideReadServiceImpl {
52
+ func NewEnvConfigOverrideReadServiceImpl (repository chartConfig.EnvConfigOverrideRepository , logger * zap. SugaredLogger ,
53
+ ) * EnvConfigOverrideReadServiceImpl {
37
54
return & EnvConfigOverrideReadServiceImpl {
38
55
envConfigOverrideRepository : repository ,
39
56
logger : logger ,
@@ -46,7 +63,13 @@ func (impl EnvConfigOverrideReadServiceImpl) GetByChartAndEnvironment(chartId, t
46
63
impl .logger .Errorw ("error in getting chart env config override" , "chartId" , chartId , "targetEnvironmentId" , targetEnvironmentId , "err" , err )
47
64
return nil , err
48
65
}
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
50
73
}
51
74
52
75
func (impl EnvConfigOverrideReadServiceImpl ) ActiveEnvConfigOverride (appId , environmentId int ) (* bean.EnvConfigOverride , error ) {
@@ -55,7 +78,13 @@ func (impl EnvConfigOverrideReadServiceImpl) ActiveEnvConfigOverride(appId, envi
55
78
impl .logger .Errorw ("error in getting chart env config override" , "appId" , appId , "environmentId" , environmentId , "err" , err )
56
79
return nil , err
57
80
}
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
59
88
}
60
89
61
90
func (impl EnvConfigOverrideReadServiceImpl ) GetByIdIncludingInactive (id int ) (* bean.EnvConfigOverride , error ) {
@@ -64,7 +93,13 @@ func (impl EnvConfigOverrideReadServiceImpl) GetByIdIncludingInactive(id int) (*
64
93
impl .logger .Errorw ("error in getting chart env config override" , "id" , id , "err" , err )
65
94
return nil , err
66
95
}
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
68
103
}
69
104
70
105
func (impl EnvConfigOverrideReadServiceImpl ) GetByEnvironment (targetEnvironmentId int ) ([]* bean.EnvConfigOverride , error ) {
@@ -88,7 +123,13 @@ func (impl EnvConfigOverrideReadServiceImpl) GetEnvConfigByChartId(chartId int)
88
123
}
89
124
envConfigOverrides := make ([]* bean.EnvConfigOverride , len (overrideDBObjs ))
90
125
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 )
92
133
}
93
134
return envConfigOverrides , nil
94
135
}
@@ -99,7 +140,13 @@ func (impl EnvConfigOverrideReadServiceImpl) FindLatestChartForAppByAppIdAndEnvI
99
140
impl .logger .Errorw ("error in getting chart env config override" , "appId" , appId , "targetEnvironmentId" , targetEnvironmentId , "err" , err )
100
141
return nil , err
101
142
}
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
103
150
}
104
151
105
152
func (impl EnvConfigOverrideReadServiceImpl ) FindChartRefIdsForLatestChartForAppByAppIdAndEnvIds (appId int , targetEnvironmentIds []int ) (map [int ]int , error ) {
@@ -117,7 +164,13 @@ func (impl EnvConfigOverrideReadServiceImpl) FindChartByAppIdAndEnvIdAndChartRef
117
164
impl .logger .Errorw ("error in getting chart env config override" , "appId" , appId , "targetEnvironmentIds" , targetEnvironmentId , "chartRefId" , chartRefId , "err" , err )
118
165
return nil , err
119
166
}
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
121
174
}
122
175
123
176
func (impl EnvConfigOverrideReadServiceImpl ) FindChartForAppByAppIdAndEnvId (appId , targetEnvironmentId int ) (* bean.EnvConfigOverride , error ) {
@@ -126,7 +179,13 @@ func (impl EnvConfigOverrideReadServiceImpl) FindChartForAppByAppIdAndEnvId(appI
126
179
impl .logger .Errorw ("error in getting chart env config override" , "appId" , appId , "targetEnvironmentId" , targetEnvironmentId , "err" , err )
127
180
return nil , err
128
181
}
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
130
189
}
131
190
132
191
func (impl EnvConfigOverrideReadServiceImpl ) GetByAppIdEnvIdAndChartRefId (appId , envId int , chartRefId int ) (* bean.EnvConfigOverride , error ) {
@@ -135,7 +194,13 @@ func (impl EnvConfigOverrideReadServiceImpl) GetByAppIdEnvIdAndChartRefId(appId,
135
194
impl .logger .Errorw ("error in getting chart env config override" , "appId" , appId , "envId" , envId , "chartRefId" , chartRefId , "err" , err )
136
195
return nil , err
137
196
}
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
139
204
}
140
205
141
206
func (impl EnvConfigOverrideReadServiceImpl ) GetAllOverridesForApp (ctx context.Context , appId int ) ([]* bean.EnvConfigOverride , error ) {
0 commit comments