@@ -19,6 +19,8 @@ package restHandler
19
19
import (
20
20
"encoding/json"
21
21
"fmt"
22
+ "github.com/devtron-labs/devtron/pkg/pipeline/draftAwareConfigService"
23
+ "github.com/devtron-labs/devtron/util"
22
24
"net/http"
23
25
"strconv"
24
26
@@ -63,31 +65,35 @@ type ConfigMapRestHandler interface {
63
65
}
64
66
65
67
type ConfigMapRestHandlerImpl struct {
66
- pipelineBuilder pipeline.PipelineBuilder
67
- Logger * zap.SugaredLogger
68
- chartService chart.ChartService
69
- userAuthService user.UserService
70
- teamService team.TeamService
71
- enforcer casbin.Enforcer
72
- pipelineRepository pipelineConfig.PipelineRepository
73
- enforcerUtil rbac.EnforcerUtil
74
- configMapService pipeline.ConfigMapService
68
+ pipelineBuilder pipeline.PipelineBuilder
69
+ Logger * zap.SugaredLogger
70
+ chartService chart.ChartService
71
+ userAuthService user.UserService
72
+ teamService team.TeamService
73
+ enforcer casbin.Enforcer
74
+ pipelineRepository pipelineConfig.PipelineRepository
75
+ enforcerUtil rbac.EnforcerUtil
76
+ configMapService pipeline.ConfigMapService
77
+ draftAwareResourceService draftAwareConfigService.DraftAwareResourceService
75
78
}
76
79
77
80
func NewConfigMapRestHandlerImpl (pipelineBuilder pipeline.PipelineBuilder , Logger * zap.SugaredLogger ,
78
81
chartService chart.ChartService , userAuthService user.UserService , teamService team.TeamService ,
79
82
enforcer casbin.Enforcer , pipelineRepository pipelineConfig.PipelineRepository ,
80
- enforcerUtil rbac.EnforcerUtil , configMapService pipeline.ConfigMapService ) * ConfigMapRestHandlerImpl {
83
+ enforcerUtil rbac.EnforcerUtil , configMapService pipeline.ConfigMapService ,
84
+ draftAwareResourceService draftAwareConfigService.DraftAwareResourceService ,
85
+ ) * ConfigMapRestHandlerImpl {
81
86
return & ConfigMapRestHandlerImpl {
82
- pipelineBuilder : pipelineBuilder ,
83
- Logger : Logger ,
84
- chartService : chartService ,
85
- userAuthService : userAuthService ,
86
- teamService : teamService ,
87
- enforcer : enforcer ,
88
- pipelineRepository : pipelineRepository ,
89
- enforcerUtil : enforcerUtil ,
90
- configMapService : configMapService ,
87
+ pipelineBuilder : pipelineBuilder ,
88
+ Logger : Logger ,
89
+ chartService : chartService ,
90
+ userAuthService : userAuthService ,
91
+ teamService : teamService ,
92
+ enforcer : enforcer ,
93
+ pipelineRepository : pipelineRepository ,
94
+ enforcerUtil : enforcerUtil ,
95
+ configMapService : configMapService ,
96
+ draftAwareResourceService : draftAwareResourceService ,
91
97
}
92
98
}
93
99
@@ -118,8 +124,10 @@ func (handler ConfigMapRestHandlerImpl) CMGlobalAddUpdate(w http.ResponseWriter,
118
124
return
119
125
}
120
126
//RBAC END
121
-
122
- res , err := handler .configMapService .CMGlobalAddUpdate (& configMapRequest )
127
+ isSuperAdmin := handler .enforcer .Enforce (token , casbin .ResourceGlobal , casbin .ActionCreate , "*" )
128
+ ctx := r .Context ()
129
+ util .SetSuperAdminInContext (ctx , isSuperAdmin )
130
+ res , err := handler .draftAwareResourceService .CMGlobalAddUpdate (ctx , & configMapRequest )
123
131
if err != nil {
124
132
handler .Logger .Errorw ("service err, CMGlobalAddUpdate" , "err" , err , "payload" , configMapRequest )
125
133
common .WriteJsonResp (w , err , nil , http .StatusInternalServerError )
@@ -162,8 +170,10 @@ func (handler ConfigMapRestHandlerImpl) CMEnvironmentAddUpdate(w http.ResponseWr
162
170
}
163
171
}
164
172
//RBAC END
165
-
166
- res , err := handler .configMapService .CMEnvironmentAddUpdate (& configMapRequest )
173
+ isSuperAdmin := handler .enforcer .Enforce (token , casbin .ResourceGlobal , casbin .ActionCreate , "*" )
174
+ ctx := r .Context ()
175
+ util .SetSuperAdminInContext (ctx , isSuperAdmin )
176
+ res , err := handler .draftAwareResourceService .CMEnvironmentAddUpdate (ctx , & configMapRequest )
167
177
if err != nil {
168
178
handler .Logger .Errorw ("service err, CMEnvironmentAddUpdate" , "err" , err , "payload" , configMapRequest )
169
179
common .WriteJsonResp (w , err , nil , http .StatusInternalServerError )
@@ -359,8 +369,10 @@ func (handler ConfigMapRestHandlerImpl) CSGlobalAddUpdate(w http.ResponseWriter,
359
369
return
360
370
}
361
371
//RBAC END
362
-
363
- res , err := handler .configMapService .CSGlobalAddUpdate (& configMapRequest )
372
+ isSuperAdmin := handler .enforcer .Enforce (token , casbin .ResourceGlobal , casbin .ActionCreate , "*" )
373
+ ctx := r .Context ()
374
+ util .SetSuperAdminInContext (ctx , isSuperAdmin )
375
+ res , err := handler .draftAwareResourceService .CSGlobalAddUpdate (ctx , & configMapRequest )
364
376
if err != nil {
365
377
handler .Logger .Errorw ("service err, CSGlobalAddUpdate" , "err" , err , "payload" , configMapRequest )
366
378
common .WriteJsonResp (w , err , nil , http .StatusInternalServerError )
@@ -404,8 +416,10 @@ func (handler ConfigMapRestHandlerImpl) CSEnvironmentAddUpdate(w http.ResponseWr
404
416
}
405
417
}
406
418
//RBAC END
407
-
408
- res , err := handler .configMapService .CSEnvironmentAddUpdate (& configMapRequest )
419
+ isSuperAdmin := handler .enforcer .Enforce (token , casbin .ResourceGlobal , casbin .ActionCreate , "*" )
420
+ ctx := r .Context ()
421
+ util .SetSuperAdminInContext (ctx , isSuperAdmin )
422
+ res , err := handler .draftAwareResourceService .CSEnvironmentAddUpdate (ctx , & configMapRequest )
409
423
if err != nil {
410
424
handler .Logger .Errorw ("service err, CSEnvironmentAddUpdate" , "err" , err , "payload" , configMapRequest )
411
425
common .WriteJsonResp (w , err , nil , http .StatusInternalServerError )
@@ -517,8 +531,15 @@ func (handler ConfigMapRestHandlerImpl) CMGlobalDelete(w http.ResponseWriter, r
517
531
return
518
532
}
519
533
//RBAC END
520
-
521
- res , err := handler .configMapService .CMGlobalDelete (name , id , userId )
534
+ isSuperAdmin := handler .enforcer .Enforce (token , casbin .ResourceGlobal , casbin .ActionCreate , "*" )
535
+ ctx := r .Context ()
536
+ util .SetSuperAdminInContext (ctx , isSuperAdmin )
537
+ deleteReq := & bean.ConfigDataRequest {
538
+ Id : id ,
539
+ AppId : appId ,
540
+ UserId : userId ,
541
+ }
542
+ res , err := handler .draftAwareResourceService .CMGlobalDelete (ctx , name , deleteReq )
522
543
if err != nil {
523
544
handler .Logger .Errorw ("service err, CMGlobalDelete" , "err" , err , "appId" , appId , "id" , id , "name" , name )
524
545
common .WriteJsonResp (w , err , nil , http .StatusInternalServerError )
@@ -572,8 +593,15 @@ func (handler ConfigMapRestHandlerImpl) CMEnvironmentDelete(w http.ResponseWrite
572
593
}
573
594
}
574
595
//RBAC END
575
-
576
- res , err := handler .configMapService .CMEnvironmentDelete (name , id , userId )
596
+ isSuperAdmin := handler .enforcer .Enforce (token , casbin .ResourceGlobal , casbin .ActionCreate , "*" )
597
+ ctx := r .Context ()
598
+ util .SetSuperAdminInContext (ctx , isSuperAdmin )
599
+ deleteReq := & bean.ConfigDataRequest {
600
+ Id : id ,
601
+ AppId : appId ,
602
+ UserId : userId ,
603
+ }
604
+ res , err := handler .draftAwareResourceService .CMEnvironmentDelete (ctx , name , deleteReq )
577
605
if err != nil {
578
606
handler .Logger .Errorw ("service err, CMEnvironmentDelete" , "err" , err , "appId" , appId , "envId" , envId , "id" , id )
579
607
common .WriteJsonResp (w , err , nil , http .StatusInternalServerError )
@@ -613,8 +641,15 @@ func (handler ConfigMapRestHandlerImpl) CSGlobalDelete(w http.ResponseWriter, r
613
641
return
614
642
}
615
643
//RBAC END
616
-
617
- res , err := handler .configMapService .CSGlobalDelete (name , id , userId )
644
+ isSuperAdmin := handler .enforcer .Enforce (token , casbin .ResourceGlobal , casbin .ActionCreate , "*" )
645
+ ctx := r .Context ()
646
+ util .SetSuperAdminInContext (ctx , isSuperAdmin )
647
+ deleteReq := & bean.ConfigDataRequest {
648
+ Id : id ,
649
+ AppId : appId ,
650
+ UserId : userId ,
651
+ }
652
+ res , err := handler .draftAwareResourceService .CSGlobalDelete (ctx , name , deleteReq )
618
653
if err != nil {
619
654
handler .Logger .Errorw ("service err, CSGlobalDelete" , "err" , err , "appId" , appId , "id" , id , "name" , name )
620
655
common .WriteJsonResp (w , err , nil , http .StatusInternalServerError )
@@ -668,8 +703,15 @@ func (handler ConfigMapRestHandlerImpl) CSEnvironmentDelete(w http.ResponseWrite
668
703
}
669
704
}
670
705
//RBAC END
671
-
672
- res , err := handler .configMapService .CSEnvironmentDelete (name , id , userId )
706
+ isSuperAdmin := handler .enforcer .Enforce (token , casbin .ResourceGlobal , casbin .ActionCreate , "*" )
707
+ ctx := r .Context ()
708
+ util .SetSuperAdminInContext (ctx , isSuperAdmin )
709
+ deleteReq := & bean.ConfigDataRequest {
710
+ Id : id ,
711
+ AppId : appId ,
712
+ UserId : userId ,
713
+ }
714
+ res , err := handler .draftAwareResourceService .CSEnvironmentDelete (ctx , name , deleteReq )
673
715
if err != nil {
674
716
handler .Logger .Errorw ("service err, CSEnvironmentDelete" , "err" , err , "appId" , appId , "envId" , envId , "id" , id )
675
717
common .WriteJsonResp (w , err , nil , http .StatusInternalServerError )
0 commit comments