@@ -21,6 +21,8 @@ import (
2121 "fmt"
2222 "github.com/devtron-labs/devtron/pkg/build/git/gitMaterial/repository"
2323 "github.com/devtron-labs/devtron/pkg/build/git/gitProvider"
24+ "github.com/devtron-labs/devtron/pkg/bulkAction/bean"
25+ "github.com/devtron-labs/devtron/pkg/bulkAction/service"
2426 "github.com/devtron-labs/devtron/pkg/cluster/environment"
2527 "net/http"
2628 "strconv"
@@ -34,7 +36,6 @@ import (
3436 "github.com/devtron-labs/devtron/pkg/appWorkflow"
3537 "github.com/devtron-labs/devtron/pkg/auth/authorisation/casbin"
3638 "github.com/devtron-labs/devtron/pkg/auth/user"
37- "github.com/devtron-labs/devtron/pkg/bulkAction"
3839 "github.com/devtron-labs/devtron/pkg/chart"
3940 "github.com/devtron-labs/devtron/pkg/pipeline"
4041 "github.com/devtron-labs/devtron/pkg/team"
@@ -61,7 +62,7 @@ type BulkUpdateRestHandlerImpl struct {
6162 ciPipelineRepository pipelineConfig.CiPipelineRepository
6263 ciHandler pipeline.CiHandler
6364 logger * zap.SugaredLogger
64- bulkUpdateService bulkAction .BulkUpdateService
65+ bulkUpdateService service .BulkUpdateService
6566 chartService chart.ChartService
6667 propertiesConfigService pipeline.PropertiesConfigService
6768 userAuthService user.UserService
@@ -81,7 +82,7 @@ type BulkUpdateRestHandlerImpl struct {
8182}
8283
8384func NewBulkUpdateRestHandlerImpl (pipelineBuilder pipeline.PipelineBuilder , logger * zap.SugaredLogger ,
84- bulkUpdateService bulkAction .BulkUpdateService ,
85+ bulkUpdateService service .BulkUpdateService ,
8586 chartService chart.ChartService ,
8687 propertiesConfigService pipeline.PropertiesConfigService ,
8788 userAuthService user.UserService ,
@@ -135,7 +136,7 @@ func (handler BulkUpdateRestHandlerImpl) FindBulkUpdateReadme(w http.ResponseWri
135136 return
136137 }
137138 //auth free, only login required
138- var responseArr []* bulkAction .BulkUpdateSeeExampleResponse
139+ var responseArr []* bean .BulkUpdateSeeExampleResponse
139140 responseArr = append (responseArr , response )
140141 common .WriteJsonResp (w , nil , responseArr , http .StatusOK )
141142}
@@ -157,7 +158,7 @@ func (handler BulkUpdateRestHandlerImpl) CheckAuthForImpactedObjects(AppId int,
157158}
158159func (handler BulkUpdateRestHandlerImpl ) GetImpactedAppsName (w http.ResponseWriter , r * http.Request ) {
159160 decoder := json .NewDecoder (r .Body )
160- var script bulkAction .BulkUpdateScript
161+ var script bean .BulkUpdateScript
161162 err := decoder .Decode (& script )
162163 if err != nil {
163164 common .WriteJsonResp (w , err , nil , http .StatusBadRequest )
@@ -212,7 +213,7 @@ func (handler BulkUpdateRestHandlerImpl) CheckAuthForBulkUpdate(AppId int, EnvId
212213}
213214func (handler BulkUpdateRestHandlerImpl ) BulkUpdate (w http.ResponseWriter , r * http.Request ) {
214215 decoder := json .NewDecoder (r .Body )
215- var script bulkAction .BulkUpdateScript
216+ var script bean .BulkUpdateScript
216217 err := decoder .Decode (& script )
217218 if err != nil {
218219 common .WriteJsonResp (w , err , nil , http .StatusBadRequest )
@@ -255,65 +256,55 @@ func (handler BulkUpdateRestHandlerImpl) BulkUpdate(w http.ResponseWriter, r *ht
255256}
256257
257258func (handler BulkUpdateRestHandlerImpl ) BulkHibernate (w http.ResponseWriter , r * http.Request ) {
258- userId , err := handler .userAuthService .GetLoggedInUser (r )
259- if userId == 0 || err != nil {
260- common .WriteJsonResp (w , err , "Unauthorized User" , http .StatusUnauthorized )
261- return
262- }
263- decoder := json .NewDecoder (r .Body )
264- var request bulkAction.BulkApplicationForEnvironmentPayload
265- err = decoder .Decode (& request )
266- if err != nil {
267- common .WriteJsonResp (w , err , nil , http .StatusBadRequest )
268- return
269- }
270- request .UserId = userId
271- err = handler .validator .Struct (request )
259+ request , err := handler .decodeAndValidateBulkRequest (w , r )
272260 if err != nil {
273- handler .logger .Errorw ("validation err" , "err" , err , "request" , request )
274- common .WriteJsonResp (w , err , nil , http .StatusBadRequest )
275- return
261+ return // response already written by the helper on error.
276262 }
277-
278263 token := r .Header .Get ("token" )
279- response , err := handler .bulkUpdateService .BulkHibernate (& request , r .Context (), w , token , handler .checkAuthForBulkHibernateAndUnhibernate )
264+ response , err := handler .bulkUpdateService .BulkHibernate (request , r .Context (), w , token , handler .checkAuthForBulkHibernateAndUnhibernate )
280265 if err != nil {
281266 common .WriteJsonResp (w , err , nil , http .StatusInternalServerError )
282267 return
283268 }
284269 common .WriteJsonResp (w , nil , response , http .StatusOK )
285270}
286271
287- func (handler BulkUpdateRestHandlerImpl ) BulkUnHibernate (w http.ResponseWriter , r * http.Request ) {
272+ // decodeAndValidateBulkRequest is a helper to decode and validate the request.
273+ func (handler BulkUpdateRestHandlerImpl ) decodeAndValidateBulkRequest (w http.ResponseWriter , r * http.Request ) (* bean.BulkApplicationForEnvironmentPayload , error ) {
288274 userId , err := handler .userAuthService .GetLoggedInUser (r )
289275 if userId == 0 || err != nil {
290276 common .WriteJsonResp (w , err , "Unauthorized User" , http .StatusUnauthorized )
291- return
277+ return nil , err
292278 }
279+
293280 decoder := json .NewDecoder (r .Body )
294- var request bulkAction.BulkApplicationForEnvironmentPayload
295- err = decoder .Decode (& request )
296- if err != nil {
281+ var request bean.BulkApplicationForEnvironmentPayload
282+ if err = decoder .Decode (& request ); err != nil {
297283 common .WriteJsonResp (w , err , nil , http .StatusBadRequest )
298- return
284+ return nil , err
299285 }
300286 request .UserId = userId
301- err = handler .validator .Struct (request )
302- if err != nil {
303- handler .logger .Errorw ("validation err" , "err" , err , "request" , request )
287+ if err = handler .validator .Struct (request ); err != nil {
288+ handler .logger .Errorw ("validation error" , "request" , request , "err" , err )
304289 common .WriteJsonResp (w , err , nil , http .StatusBadRequest )
305- return
290+ return nil , err
306291 }
292+ return & request , nil
293+ }
307294
295+ func (handler BulkUpdateRestHandlerImpl ) BulkUnHibernate (w http.ResponseWriter , r * http.Request ) {
296+ request , err := handler .decodeAndValidateBulkRequest (w , r )
297+ if err != nil {
298+ return // response already written by the helper on error.
299+ }
308300 token := r .Header .Get ("token" )
309- response , err := handler .bulkUpdateService .BulkUnHibernate (& request , r .Context (), w , token , handler .checkAuthForBulkHibernateAndUnhibernate )
301+ response , err := handler .bulkUpdateService .BulkUnHibernate (request , r .Context (), w , token , handler .checkAuthForBulkHibernateAndUnhibernate )
310302 if err != nil {
311303 common .WriteJsonResp (w , err , nil , http .StatusInternalServerError )
312304 return
313305 }
314306 common .WriteJsonResp (w , nil , response , http .StatusOK )
315307}
316-
317308func (handler BulkUpdateRestHandlerImpl ) BulkDeploy (w http.ResponseWriter , r * http.Request ) {
318309 token := r .Header .Get ("token" )
319310 userId , err := handler .userAuthService .GetLoggedInUser (r )
@@ -322,7 +313,7 @@ func (handler BulkUpdateRestHandlerImpl) BulkDeploy(w http.ResponseWriter, r *ht
322313 return
323314 }
324315 decoder := json .NewDecoder (r .Body )
325- var request bulkAction .BulkApplicationForEnvironmentPayload
316+ var request bean .BulkApplicationForEnvironmentPayload
326317 err = decoder .Decode (& request )
327318 if err != nil {
328319 common .WriteJsonResp (w , err , nil , http .StatusBadRequest )
@@ -350,7 +341,7 @@ func (handler BulkUpdateRestHandlerImpl) BulkBuildTrigger(w http.ResponseWriter,
350341 return
351342 }
352343 decoder := json .NewDecoder (r .Body )
353- var request bulkAction .BulkApplicationForEnvironmentPayload
344+ var request bean .BulkApplicationForEnvironmentPayload
354345 err = decoder .Decode (& request )
355346 if err != nil {
356347 common .WriteJsonResp (w , err , nil , http .StatusBadRequest )
@@ -399,7 +390,7 @@ func (handler BulkUpdateRestHandlerImpl) HandleCdPipelineBulkAction(w http.Respo
399390 common .WriteJsonResp (w , err , "Unauthorized User" , http .StatusUnauthorized )
400391 return
401392 }
402- var cdPipelineBulkActionReq bulkAction .CdBulkActionRequestDto
393+ var cdPipelineBulkActionReq bean .CdBulkActionRequestDto
403394 err = decoder .Decode (& cdPipelineBulkActionReq )
404395 cdPipelineBulkActionReq .UserId = userId
405396 if err != nil {
0 commit comments