From 9cffb0d4f8f98e18ef280346b69d927c6602b4ef Mon Sep 17 00:00:00 2001
From: Alena Petraki <alena.petraki@gmail.com>
Date: Wed, 11 Oct 2023 11:23:37 +0300
Subject: [PATCH] =?UTF-8?q?Storge.GetStatus=20=D0=B2=D0=BE=D0=B7=D0=B2?=
 =?UTF-8?q?=D1=80=D0=B0=D1=89=D0=B0=D0=B5=D1=82=20`Status.Installed:=20tru?=
 =?UTF-8?q?e`=20=D1=82=D0=BE=D0=BB=D1=8C=D0=BA=D0=BE=20=D0=B5=D1=81=D0=BB?=
 =?UTF-8?q?=D0=B8=20=D1=80=D0=B0=D1=81=D1=88=D0=B8=D1=80=D0=B5=D0=BD=D0=B8?=
 =?UTF-8?q?=D0=B5=20=D0=BF=D0=BE=D0=BB=D0=BD=D0=BE=D1=81=D1=82=D1=8C=D1=8E?=
 =?UTF-8?q?=20=D1=83=D1=81=D1=82=D0=B0=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5=D0=BD?=
 =?UTF-8?q?=D0=BE=20=D0=B8=20=D0=B2=20=D1=81=D0=BE=D1=81=D1=82=D0=BE=D1=8F?=
 =?UTF-8?q?=D0=BD=D0=B8=D0=B8=20`StateInstalled`?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 pkg/extension/extension.go | 42 ++------------------------------------
 pkg/extension/storage.go   |  2 +-
 2 files changed, 3 insertions(+), 41 deletions(-)

diff --git a/pkg/extension/extension.go b/pkg/extension/extension.go
index 46f9f48d..c4abb5d5 100644
--- a/pkg/extension/extension.go
+++ b/pkg/extension/extension.go
@@ -2,11 +2,9 @@ package extension
 
 import (
 	"context"
-	"fmt"
 
 	"git.perx.ru/perxis/perxis-go/pkg/content"
 	"git.perx.ru/perxis/perxis-go/pkg/errors"
-	"git.perx.ru/perxis/perxis-go/pkg/items"
 	pb "git.perx.ru/perxis/perxis-go/proto/extensions"
 )
 
@@ -28,25 +26,6 @@ type (
 	State               = pb.State
 )
 
-//type State pb.State
-//
-//func (s State) Value() int {
-//	return int(s)
-//}
-//
-//func (s State) String() string {
-//	return pb.State(s).String()
-//}
-//
-//const (
-//	StatePending    = State(pb.State_PENDING)
-//	StateInstalled  = State(pb.State_INSTALLED)
-//	StateInProgress = State(pb.State_IN_PROGRESS)
-//	StateFail       = State(pb.State_FAIL)
-//
-//	//ExtensionMetadataKey = "extension"
-//)
-
 var (
 	ErrStart = errors.New("start failed")
 	ErrStop  = errors.New("stop failed")
@@ -85,26 +64,9 @@ type Extension interface {
 }
 
 func CheckInstalled(ctx context.Context, content *content.Content, spaceID, envID, extension string) (bool, error) {
-	res, _, err := content.Items.Find(ctx, spaceID, envID, StatusCollectionID,
-		&items.Filter{Q: []string{fmt.Sprintf("id == '%s'", extension)}})
+	status, err := NewStorage(content).GetStatus(ctx, spaceID, envID, extension)
 	if err != nil {
 		return false, err
 	}
-
-	if len(res) == 0 || res[0].Data["extension_state"] != int64(StateInstalled) {
-		return false, nil
-	}
-
-	return true, nil
-
+	return status.Installed, nil
 }
-
-//func ExtensionError(err error, ext string) error {
-//	return errors.WithContext(err, "extension", ext)
-//}
-//
-//func ExtensionFromError(err error) string {
-//	v, _ := errors.ContextKey(err, "extension")
-//	ext, _ := v.(string)
-//	return ext
-//}
diff --git a/pkg/extension/storage.go b/pkg/extension/storage.go
index f80b978b..35a8f559 100644
--- a/pkg/extension/storage.go
+++ b/pkg/extension/storage.go
@@ -54,7 +54,7 @@ func statusFromItem(extension string, item *items.Item) *Status {
 		State:            State(state),
 		Msg:              msg,
 		Error:            errmsg,
-		Installed:        true,
+		Installed:        State(state) == StateInstalled,
 		InstalledVersion: ver,
 	}
 }
-- 
GitLab