Skip to content

Commit 77bf66b

Browse files
authored
Merge branch 'develop' into webhook-changes
2 parents 4edda50 + aebe5d3 commit 77bf66b

File tree

22 files changed

+622
-282
lines changed

22 files changed

+622
-282
lines changed

api/cluster/EnvironmentRestHandler.go

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ const ENV_DELETE_SUCCESS_RESP = "Environment deleted successfully."
5151
type EnvironmentRestHandler interface {
5252
Create(w http.ResponseWriter, r *http.Request)
5353
Get(w http.ResponseWriter, r *http.Request)
54+
GetDataSourceName(w http.ResponseWriter, r *http.Request)
5455
GetAll(w http.ResponseWriter, r *http.Request)
5556
GetAllActive(w http.ResponseWriter, r *http.Request)
5657
Update(w http.ResponseWriter, r *http.Request)
@@ -167,6 +168,34 @@ func (impl EnvironmentRestHandlerImpl) Get(w http.ResponseWriter, r *http.Reques
167168
common.WriteJsonResp(w, err, bean, http.StatusOK)
168169
}
169170

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+
170199
func (impl EnvironmentRestHandlerImpl) GetAll(w http.ResponseWriter, r *http.Request) {
171200
environments, err := impl.environmentReadService.GetAll()
172201
if err != nil {

api/cluster/EnvironmentRouter.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,10 @@ func (impl EnvironmentRouterImpl) InitEnvironmentClusterMappingsRouter(environme
4141
Methods("GET").
4242
Queries("environment", "{environment}").
4343
HandlerFunc(impl.environmentClusterMappingsRestHandler.Get)
44+
environmentClusterMappingsRouter.Path("/data-source-name").
45+
Methods("GET").
46+
Queries("environmentName", "{environmentName}").
47+
HandlerFunc(impl.environmentClusterMappingsRestHandler.GetDataSourceName)
4448
environmentClusterMappingsRouter.Path("").
4549
Methods("GET").
4650
Queries("id", "{id}").

0 commit comments

Comments
 (0)