Просмотр исходного кода

use endpoint returning apps linked to env group for v2 (#4112)

d-g-town 2 лет назад
Родитель
Сommit
9d9bade9ab
3 измененных файлов с 23 добавлено и 6 удалено
  1. 20 3
      api/server/handlers/environment_groups/list.go
  2. 1 1
      go.mod
  3. 2 2
      go.sum

+ 20 - 3
api/server/handlers/environment_groups/list.go

@@ -5,6 +5,9 @@ import (
 	"strings"
 	"time"
 
+	"connectrpc.com/connect"
+	porterv1 "github.com/porter-dev/api-contracts/generated/go/porter/v1"
+
 	"github.com/porter-dev/porter/api/server/authz"
 	"github.com/porter-dev/porter/api/server/handlers"
 	"github.com/porter-dev/porter/api/server/shared"
@@ -134,15 +137,29 @@ func (c *ListEnvironmentGroupsHandler) ServeHTTP(w http.ResponseWriter, r *http.
 				linkedApplications = append(linkedApplications, porterAppName)
 			}
 		} else {
-			applications, err := environmentgroups.LinkedApplications(ctx, agent, latestVersion.Name, false)
+			appsLinkedToEnvGroupReq := connect.NewRequest(&porterv1.AppsLinkedToEnvGroupRequest{
+				ProjectId:     int64(project.ID),
+				ClusterId:     int64(cluster.ID),
+				EnvGroupName:  envGroupName,
+				IgnorePreview: true,
+			})
+
+			appsLinkedToEnvGroupResp, err := c.Config().ClusterControlPlaneClient.AppsLinkedToEnvGroup(ctx, appsLinkedToEnvGroupReq)
 			if err != nil {
 				err = telemetry.Error(ctx, span, err, "unable to get linked applications")
 				c.HandleAPIError(w, r, apierrors.NewErrPassThroughToClient(err, http.StatusInternalServerError))
 				return
 			}
+			if appsLinkedToEnvGroupResp == nil || appsLinkedToEnvGroupResp.Msg == nil {
+				err = telemetry.Error(ctx, span, err, "ccp resp is nil")
+				c.HandleAPIError(w, r, apierrors.NewErrPassThroughToClient(err, http.StatusInternalServerError))
+				return
+			}
 
-			for _, app := range applications {
-				linkedApplications = append(linkedApplications, app.Name)
+			for _, app := range appsLinkedToEnvGroupResp.Msg.LinkedApps {
+				if app != nil {
+					linkedApplications = append(linkedApplications, app.Name)
+				}
 			}
 		}
 

+ 1 - 1
go.mod

@@ -83,7 +83,7 @@ require (
 	github.com/matryer/is v1.4.0
 	github.com/nats-io/nats.go v1.24.0
 	github.com/open-policy-agent/opa v0.44.0
-	github.com/porter-dev/api-contracts v0.2.76
+	github.com/porter-dev/api-contracts v0.2.78
 	github.com/riandyrn/otelchi v0.5.1
 	github.com/santhosh-tekuri/jsonschema/v5 v5.0.1
 	github.com/stefanmcshane/helm v0.0.0-20221213002717-88a4a2c6e77d

+ 2 - 2
go.sum

@@ -1520,8 +1520,8 @@ github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77
 github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
 github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
 github.com/polyfloyd/go-errorlint v0.0.0-20210722154253-910bb7978349/go.mod h1:wi9BfjxjF/bwiZ701TzmfKu6UKC357IOAtNr0Td0Lvw=
-github.com/porter-dev/api-contracts v0.2.76 h1:hQrtYKG7Z0JQlCXpmmXH+pNI2CcyXfdDpiH4VKSChw0=
-github.com/porter-dev/api-contracts v0.2.76/go.mod h1:fX6JmP5QuzxDLvqP3evFOTXjI4dHxsG0+VKNTjImZU8=
+github.com/porter-dev/api-contracts v0.2.78 h1:Iyp1DL33mPxJZQSjH8W/ylv5Ch8i30eJJx9mvhZmhTU=
+github.com/porter-dev/api-contracts v0.2.78/go.mod h1:fX6JmP5QuzxDLvqP3evFOTXjI4dHxsG0+VKNTjImZU8=
 github.com/porter-dev/switchboard v0.0.3 h1:dBuYkiVLa5Ce7059d6qTe9a1C2XEORFEanhbtV92R+M=
 github.com/porter-dev/switchboard v0.0.3/go.mod h1:xSPzqSFMQ6OSbp42fhCi4AbGbQbsm6nRvOkrblFeXU4=
 github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI=