@@ -62,6 +62,7 @@ type HelmAppRestHandler interface {
6262 UpdateApplication (w http.ResponseWriter , r * http.Request )
6363 TemplateChart (w http.ResponseWriter , r * http.Request )
6464 SaveHelmAppDetailsViewedTelemetryData (w http.ResponseWriter , r * http.Request )
65+ ListHelmApplicationsForEnvironment (w http.ResponseWriter , r * http.Request )
6566}
6667
6768const HELM_APP_ACCESS_COUNTER = "HelmAppAccessCounter"
@@ -588,3 +589,46 @@ func (handler *HelmAppRestHandlerImpl) SaveHelmAppDetailsViewedTelemetryData(w h
588589 common .WriteJsonResp (w , err , nil , http .StatusOK )
589590
590591}
592+
593+ func (handler * HelmAppRestHandlerImpl ) ListHelmApplicationsForEnvironment (w http.ResponseWriter , r * http.Request ) {
594+
595+ query := r .URL .Query ()
596+
597+ clusterIdString := query .Get ("clusterId" )
598+ var (
599+ clusterId int
600+ envId int
601+ err error
602+ )
603+
604+ if len (clusterIdString ) != 0 {
605+ clusterId , err = strconv .Atoi (clusterIdString )
606+ if err != nil {
607+ common .WriteJsonResp (w , err , nil , http .StatusBadRequest )
608+ return
609+ }
610+ }
611+
612+ envIdString := query .Get ("envId" )
613+ if len (envIdString ) != 0 {
614+ envId , err = strconv .Atoi (envIdString )
615+ if err != nil {
616+ common .WriteJsonResp (w , err , nil , http .StatusBadRequest )
617+ return
618+ }
619+ }
620+
621+ token := r .Header .Get ("token" )
622+ if ok := handler .enforcer .Enforce (token , casbin .ResourceGlobal , casbin .ActionGet , "*" ); ! ok {
623+ common .WriteJsonResp (w , errors .New ("unauthorized" ), nil , http .StatusForbidden )
624+ return
625+ }
626+ releaseList , err := handler .helmAppService .ListHelmApplicationsForClusterOrEnv (r .Context (), clusterId , envId )
627+ if err != nil {
628+ handler .logger .Errorw ("error in fetching helm release for given env" , "err" , err )
629+ common .WriteJsonResp (w , err , "error in fetching helm release" , http .StatusInternalServerError )
630+ return
631+ }
632+ common .WriteJsonResp (w , nil , releaseList , http .StatusOK )
633+ return
634+ }
0 commit comments