Feroze Mohideen преди 2 години
родител
ревизия
28f6754da2
променени са 4 файла, в които са добавени 19 реда и са изтрити 14 реда
  1. 1 1
      api/server/handlers/addons/list.go
  2. 15 10
      dashboard/src/main/home/app-dashboard/apps/Apps.tsx
  3. 1 1
      go.mod
  4. 2 2
      go.sum

+ 1 - 1
api/server/handlers/addons/list.go

@@ -90,7 +90,7 @@ func (c *LatestAddonsHandler) ServeHTTP(w http.ResponseWriter, r *http.Request)
 		Base64Addons: []string{},
 	}
 
-	for _, addon := range latestAddonsResp.Msg.Addons {
+	for _, addon := range latestAddonsResp.Msg.AddonsWithEnv {
 		by, err := helpers.MarshalContractObject(ctx, addon)
 		if err != nil {
 			err = telemetry.Error(ctx, span, err, "error marshaling addon")

+ 15 - 10
dashboard/src/main/home/app-dashboard/apps/Apps.tsx

@@ -1,5 +1,5 @@
 import React, { useCallback, useContext, useMemo, useState } from "react";
-import { Addon } from "@porter-dev/api-contracts/src/porter/v1/addons_pb";
+import { AddonWithEnvVars } from "@porter-dev/api-contracts";
 import { useQueries } from "@tanstack/react-query";
 import { useHistory } from "react-router";
 import styled from "styled-components";
@@ -32,6 +32,7 @@ import { checkIfProjectHasPayment } from "lib/hooks/useStripe";
 import api from "shared/api";
 import { Context } from "shared/Context";
 import { useDeploymentTarget } from "shared/DeploymentTargetContext";
+import { valueExists } from "shared/util";
 import applicationGrad from "assets/application-grad.svg";
 import calendar from "assets/calendar-number.svg";
 import gift from "assets/gift.svg";
@@ -170,15 +171,19 @@ const Apps: React.FC = () => {
   });
 
   const clientAddons: ClientAddon[] = useMemo(() => {
-    return addons.map((a) => {
-      const proto = Addon.fromJsonString(atob(a), {
-        ignoreUnknownFields: true,
-      });
-
-      return clientAddonFromProto({
-        addon: proto,
-      });
-    });
+    return addons
+      .map((a: string) => {
+        const proto = AddonWithEnvVars.fromJsonString(atob(a), {
+          ignoreUnknownFields: true,
+        });
+        if (!proto.addon) {
+          return null;
+        }
+        return clientAddonFromProto({
+          addon: proto.addon,
+        });
+      })
+      .filter(valueExists);
   }, [addons]);
 
   const deletePreviewEnv = useCallback(async () => {

+ 1 - 1
go.mod

@@ -84,7 +84,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.137
+	github.com/porter-dev/api-contracts v0.2.138
 	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

@@ -1525,8 +1525,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.137 h1:ABs9mdt1wQFQZraaNdLw3s0OhSGGWKYwLIBKrNdd7PY=
-github.com/porter-dev/api-contracts v0.2.137/go.mod h1:VV5BzXd02ZdbWIPLVP+PX3GKawJSGQnxorVT2sUZALU=
+github.com/porter-dev/api-contracts v0.2.138 h1:VG+1nYkn1fW2ryEmqGtJhNRjuN1J4GgysSzZee9cBaI=
+github.com/porter-dev/api-contracts v0.2.138/go.mod h1:VV5BzXd02ZdbWIPLVP+PX3GKawJSGQnxorVT2sUZALU=
 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=