@@ -51,6 +51,7 @@ const ENV_DELETE_SUCCESS_RESP = "Environment deleted successfully."
51
51
type EnvironmentRestHandler interface {
52
52
Create (w http.ResponseWriter , r * http.Request )
53
53
Get (w http.ResponseWriter , r * http.Request )
54
+ GetDataSourceName (w http.ResponseWriter , r * http.Request )
54
55
GetAll (w http.ResponseWriter , r * http.Request )
55
56
GetAllActive (w http.ResponseWriter , r * http.Request )
56
57
Update (w http.ResponseWriter , r * http.Request )
@@ -167,6 +168,34 @@ func (impl EnvironmentRestHandlerImpl) Get(w http.ResponseWriter, r *http.Reques
167
168
common .WriteJsonResp (w , err , bean , http .StatusOK )
168
169
}
169
170
171
+ func (impl EnvironmentRestHandlerImpl ) GetDataSourceName (w http.ResponseWriter , r * http.Request ) {
172
+ vars := mux .Vars (r )
173
+ environmentName := vars ["environmentName" ]
174
+
175
+ bean , err := impl .environmentClusterMappingsService .FindOne (environmentName )
176
+ if err != nil {
177
+ impl .logger .Errorw ("service err, Get" , "err" , err , "payload" , bean )
178
+ common .WriteJsonResp (w , err , nil , http .StatusInternalServerError )
179
+ return
180
+ }
181
+
182
+ // RBAC enforcer applying
183
+ token := r .Header .Get ("token" )
184
+ if ok := impl .enforcer .Enforce (token , casbin .ResourceGlobalEnvironment , casbin .ActionGet , bean .EnvironmentIdentifier ); ! ok {
185
+ common .WriteJsonResp (w , errors .New ("unauthorized" ), nil , http .StatusForbidden )
186
+ return
187
+ }
188
+ //RBAC enforcer Ends
189
+
190
+ resp , err := impl .environmentClusterMappingsService .GetDataSourceName (bean )
191
+ if err != nil {
192
+ impl .logger .Errorw ("service err, Get" , "err" , err , "env" , environmentName )
193
+ common .WriteJsonResp (w , err , nil , http .StatusInternalServerError )
194
+ return
195
+ }
196
+ common .WriteJsonResp (w , err , resp , http .StatusOK )
197
+ }
198
+
170
199
func (impl EnvironmentRestHandlerImpl ) GetAll (w http.ResponseWriter , r * http.Request ) {
171
200
environments , err := impl .environmentReadService .GetAll ()
172
201
if err != nil {
0 commit comments