@@ -49,7 +49,6 @@ import (
49
49
"github.com/devtron-labs/devtron/pkg/auth/authorisation/casbin"
50
50
"github.com/devtron-labs/devtron/pkg/auth/user"
51
51
"github.com/devtron-labs/devtron/pkg/cluster"
52
- bean3 "github.com/devtron-labs/devtron/pkg/deployment/common/bean"
53
52
"github.com/devtron-labs/devtron/util"
54
53
"github.com/devtron-labs/devtron/util/argo"
55
54
"github.com/devtron-labs/devtron/util/rbac"
@@ -65,7 +64,6 @@ type InstalledAppRestHandler interface {
65
64
DeployBulk (w http.ResponseWriter , r * http.Request )
66
65
CheckAppExists (w http.ResponseWriter , r * http.Request )
67
66
DefaultComponentInstallation (w http.ResponseWriter , r * http.Request )
68
- FetchAppDetailsForInstalledApp (w http.ResponseWriter , r * http.Request )
69
67
DeleteArgoInstalledAppWithNonCascade (w http.ResponseWriter , r * http.Request )
70
68
FetchAppDetailsForInstalledAppV2 (w http.ResponseWriter , r * http.Request )
71
69
FetchResourceTree (w http.ResponseWriter , r * http.Request )
@@ -692,90 +690,6 @@ func (handler *InstalledAppRestHandlerImpl) checkNotesAuth(token string, appName
692
690
return ok
693
691
}
694
692
695
- func (handler * InstalledAppRestHandlerImpl ) FetchAppDetailsForInstalledApp (w http.ResponseWriter , r * http.Request ) {
696
- userId , err := handler .userAuthService .GetLoggedInUser (r )
697
- if userId == 0 || err != nil {
698
- common .WriteJsonResp (w , err , nil , http .StatusUnauthorized )
699
- return
700
- }
701
-
702
- vars := mux .Vars (r )
703
- installedAppId , err := strconv .Atoi (vars ["installed-app-id" ])
704
- if err != nil {
705
- handler .Logger .Errorw ("request err, FetchAppDetailsForInstalledApp" , "err" , err , "installedAppId" , installedAppId )
706
- common .WriteJsonResp (w , err , nil , http .StatusBadRequest )
707
- return
708
- }
709
- token := r .Header .Get ("token" )
710
- envId , err := strconv .Atoi (vars ["env-id" ])
711
- if err != nil {
712
- handler .Logger .Errorw ("request err, FetchAppDetailsForInstalledApp" , "err" , err , "installedAppId" , installedAppId , "envId" , envId )
713
- common .WriteJsonResp (w , err , nil , http .StatusBadRequest )
714
- return
715
- }
716
- handler .Logger .Infow ("request payload, FetchAppDetailsForInstalledApp, app store" , "installedAppId" , installedAppId , "envId" , envId )
717
-
718
- installedApp , err := handler .installedAppService .GetInstalledAppById (installedAppId )
719
- if err == pg .ErrNoRows {
720
- common .WriteJsonResp (w , err , "App not found in database" , http .StatusBadRequest )
721
- return
722
- }
723
- if util3 .IsExternalChartStoreApp (installedApp .App .DisplayName ) {
724
- //this is external app case where app_name is a unique identifier, and we want to fetch resource based on display_name
725
- handler .installedAppService .ChangeAppNameToDisplayNameForInstalledApp (installedApp )
726
- }
727
-
728
- appDetail , err := handler .installedAppService .FindAppDetailsForAppstoreApplication (installedAppId , envId )
729
- if err != nil {
730
- handler .Logger .Errorw ("service err, FetchAppDetailsForInstalledApp, app store" , "err" , err , "installedAppId" , installedAppId , "envId" , envId )
731
- common .WriteJsonResp (w , err , nil , http .StatusInternalServerError )
732
- return
733
- }
734
-
735
- //rbac block starts from here
736
- object , object2 := handler .enforcerUtil .GetHelmObjectByAppNameAndEnvId (appDetail .AppName , appDetail .EnvironmentId )
737
-
738
- var ok bool
739
-
740
- if object2 == "" {
741
- ok = handler .enforcer .Enforce (token , casbin .ResourceHelmApp , casbin .ActionGet , object )
742
- } else {
743
- ok = handler .enforcer .Enforce (token , casbin .ResourceHelmApp , casbin .ActionGet , object ) || handler .enforcer .Enforce (token , casbin .ResourceHelmApp , casbin .ActionGet , object2 )
744
- }
745
-
746
- if ! ok {
747
- common .WriteJsonResp (w , fmt .Errorf ("unauthorized user" ), nil , http .StatusForbidden )
748
- return
749
- }
750
- //rback block ends here
751
- resourceTreeAndNotesContainer := bean2.AppDetailsContainer {}
752
- resourceTreeAndNotesContainer .ResourceTree = map [string ]interface {}{}
753
-
754
- if len (installedApp .App .AppName ) > 0 && len (installedApp .Environment .Name ) > 0 {
755
- err = handler .fetchResourceTree (w , r , & resourceTreeAndNotesContainer , * installedApp , appDetail .DeploymentConfig , "" , "" )
756
- if appDetail .DeploymentAppType == util2 .PIPELINE_DEPLOYMENT_TYPE_ACD {
757
- apiError , ok := err .(* util2.ApiError )
758
- if ok && apiError != nil {
759
- if apiError .Code == constants .AppDetailResourceTreeNotFound && installedApp .DeploymentAppDeleteRequest == true {
760
- // TODO refactoring: should be performed through nats
761
- err = handler .appStoreDeploymentService .MarkGitOpsInstalledAppsDeletedIfArgoAppIsDeleted (installedAppId , envId )
762
- appDeleteErr , appDeleteErrOk := err .(* util2.ApiError )
763
- if appDeleteErrOk && appDeleteErr != nil {
764
- handler .Logger .Errorw (appDeleteErr .InternalMessage )
765
- return
766
- }
767
- }
768
- }
769
- } else if err != nil {
770
- common .WriteJsonResp (w , fmt .Errorf ("error in fetching resource tree" ), nil , http .StatusInternalServerError )
771
- return
772
- }
773
- }
774
- appDetail .ResourceTree = resourceTreeAndNotesContainer .ResourceTree
775
- appDetail .Notes = resourceTreeAndNotesContainer .Notes
776
- common .WriteJsonResp (w , nil , appDetail , http .StatusOK )
777
- }
778
-
779
693
func (handler * InstalledAppRestHandlerImpl ) FetchAppDetailsForInstalledAppV2 (w http.ResponseWriter , r * http.Request ) {
780
694
userId , err := handler .userAuthService .GetLoggedInUser (r )
781
695
if userId == 0 || err != nil {
@@ -820,6 +734,8 @@ func (handler *InstalledAppRestHandlerImpl) FetchAppDetailsForInstalledAppV2(w h
820
734
}
821
735
822
736
func (handler * InstalledAppRestHandlerImpl ) FetchResourceTree (w http.ResponseWriter , r * http.Request ) {
737
+ token := r .Header .Get ("token" )
738
+ ctx := context .WithValue (r .Context (), "token" , token )
823
739
userId , err := handler .userAuthService .GetLoggedInUser (r )
824
740
if userId == 0 || err != nil {
825
741
common .WriteJsonResp (w , err , nil , http .StatusUnauthorized )
@@ -853,7 +769,6 @@ func (handler *InstalledAppRestHandlerImpl) FetchResourceTree(w http.ResponseWri
853
769
common .WriteJsonResp (w , nil , nil , http .StatusOK )
854
770
return
855
771
}
856
- token := r .Header .Get ("token" )
857
772
object , object2 := handler .enforcerUtil .GetHelmObjectByAppNameAndEnvId (installedApp .App .AppName , installedApp .EnvironmentId )
858
773
var ok bool
859
774
if object2 == "" {
@@ -876,7 +791,8 @@ func (handler *InstalledAppRestHandlerImpl) FetchResourceTree(w http.ResponseWri
876
791
resourceTreeAndNotesContainer .ResourceTree = map [string ]interface {}{}
877
792
878
793
if len (installedApp .App .AppName ) > 0 && len (installedApp .Environment .Name ) > 0 {
879
- err = handler .fetchResourceTree (w , r , & resourceTreeAndNotesContainer , * installedApp , appDetail .DeploymentConfig , appDetail .HelmReleaseInstallStatus , appDetail .Status )
794
+ cn , _ := w .(http.CloseNotifier )
795
+ err = handler .installedAppResourceService .FetchResourceTree (ctx , cn , & resourceTreeAndNotesContainer , * installedApp , appDetail .DeploymentConfig , appDetail .HelmReleaseInstallStatus , appDetail .Status )
880
796
if appDetail .DeploymentAppType == util2 .PIPELINE_DEPLOYMENT_TYPE_ACD {
881
797
//resource tree has been fetched now prepare to sync application deployment status with this resource tree call
882
798
handler .syncDeploymentStatusWithResourceTreeCall (appDetail )
@@ -968,13 +884,6 @@ func (handler *InstalledAppRestHandlerImpl) FetchResourceTreeForACDApp(w http.Re
968
884
common .WriteJsonResp (w , err , appDetail , http .StatusOK )
969
885
}
970
886
971
- func (handler * InstalledAppRestHandlerImpl ) fetchResourceTree (w http.ResponseWriter , r * http.Request , resourceTreeAndNotesContainer * bean2.AppDetailsContainer , installedApp repository.InstalledApps , deploymentConfig * bean3.DeploymentConfig , helmReleaseInstallStatus string , status string ) error {
972
- ctx := r .Context ()
973
- cn , _ := w .(http.CloseNotifier )
974
- err := handler .installedAppResourceService .FetchResourceTree (ctx , cn , resourceTreeAndNotesContainer , installedApp , deploymentConfig , helmReleaseInstallStatus , status )
975
- return err
976
- }
977
-
978
887
func (handler * InstalledAppRestHandlerImpl ) fetchResourceTreeWithHibernateForACD (w http.ResponseWriter , r * http.Request , appDetail * bean2.AppDetailContainer ) {
979
888
ctx := r .Context ()
980
889
cn , _ := w .(http.CloseNotifier )
0 commit comments