From c1d6fd93baf92e139a799eca7810ed428c8dff98 Mon Sep 17 00:00:00 2001
From: Alena Petraki <alena.petraki@gmail.com>
Date: Tue, 17 Oct 2023 12:40:18 +0300
Subject: [PATCH] =?UTF-8?q?=D0=9F=D1=80=D0=B0=D0=B2=D0=BA=D0=B8=20=D0=BF?=
 =?UTF-8?q?=D0=BE=D1=81=D0=BB=D0=B5=20Merge?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 pkg/extension/schema.go      | 10 ++++++++--
 pkg/extension/server.go      |  2 +-
 pkg/extension/server_test.go |  2 +-
 3 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/pkg/extension/schema.go b/pkg/extension/schema.go
index 96406ad5..cf71a456 100644
--- a/pkg/extension/schema.go
+++ b/pkg/extension/schema.go
@@ -26,7 +26,7 @@ func NewActionsCollection(spaceID, envID string) *collections.Collection {
 		"action", field.String(validate.Required()).SetTitle("Действия").SetTextSearch(true),
 		"target", field.Number(
 			field.NumberFormatInt,
-			validate.Enum(getEnumOpt(pb.Action_Kind_name)...),
+			validate.Enum(getEnumOpt(pb.Target_name)...),
 		).SetTitle("Отображение результата действия").WithUI(&field.UI{Widget: "Select"}),
 		"parent", field.String().SetTitle("Идентификатор родительского действия"),
 		"name", field.String().SetTitle("Название").SetTextSearch(true),
@@ -39,7 +39,7 @@ func NewActionsCollection(spaceID, envID string) *collections.Collection {
 			WithUI(&field.UI{Widget: "SelectList"}),
 		"kind", field.Number(
 			field.NumberFormatInt,
-			validate.Enum(getEnumOpt(pb.Target_name)...),
+			validate.Enum(getEnumOpt(pb.Action_Kind_name)...),
 		).SetTitle("Р’РёРґ").WithUI(&field.UI{Widget: "Select"}),
 		"classes", field.Array(field.String().SetAdditionalValues()).SetTitle("Класс").
 			WithUI(&field.UI{Widget: "SelectList"}).
@@ -59,6 +59,12 @@ func NewActionsCollection(spaceID, envID string) *collections.Collection {
 		"confirm", field.Bool().SetTitle("С подтверждением").
 			SetDescription("Пользователь должен подтвердить запуск действия").
 			WithUI(&field.UI{Widget: "Checkbox"}),
+		"view", field.Number(
+			field.NumberFormatInt,
+			validate.Enum(getEnumOpt(pb.Action_View_name)...),
+		).SetTitle("Отображение действия в интерфейсе").WithUI(&field.UI{Widget: "Select"}),
+		"order", field.Number(field.NumberFormatInt).SetTitle("Порядок отображения").
+			SetDescription("Порядок отображения действия в интерфейсе (Для пунктов меню)"),
 	)
 
 	// Includes
diff --git a/pkg/extension/server.go b/pkg/extension/server.go
index 0b161254..4e3c4fc2 100644
--- a/pkg/extension/server.go
+++ b/pkg/extension/server.go
@@ -159,7 +159,7 @@ func (s *Server) Check(ctx context.Context, req *CheckRequest) (*operation.Proto
 }
 
 func (s *Server) Action(ctx context.Context, in *pb.ActionRequest) (*pb.ActionResponse, error) {
-	actionURL, err := action.NewURL(in.Action)
+	actionURL, err := NewActionURL(in.Action)
 	if err != nil {
 		return nil, ErrInvalidAction
 	}
diff --git a/pkg/extension/server_test.go b/pkg/extension/server_test.go
index 8c93f48d..5a0a1691 100644
--- a/pkg/extension/server_test.go
+++ b/pkg/extension/server_test.go
@@ -91,7 +91,7 @@ func TestServer_Action(t *testing.T) {
 				EnvId:   "env",
 			},
 			want:    nil,
-			wantErr: "invalid action",
+			wantErr: errors.Wrap(ErrUnknownExtension, "test-extension-2").Error(),
 		},
 		{
 			name:      "Deprecated call, without extension",
-- 
GitLab