diff --git a/pkg/extension/action.go b/pkg/extension/action.go index 3f090dffc541dcdee9f3dba7b0b8e6adc30931df..3230219c2a56da6031b1a1238946be2b2adb31e6 100644 --- a/pkg/extension/action.go +++ b/pkg/extension/action.go @@ -18,6 +18,8 @@ type ( ActionRequest = pb.ActionRequest ActionResponse = pb.ActionResponse + ActionTarget = pb.Target + //ActionRequest struct { // Extension string // Action string @@ -61,6 +63,8 @@ const ( type Action struct { Extension string `mapstructure:"extension,omitempty"` // Расширение Action string `mapstructure:"action,omitempty"` // Рдентификатор действия + Target ActionTarget `mapstructure:"target,omitempty"` // Как должен отображаться результат действия + Parent string `mapstructure:"parent,omitempty"` // Рдентификатор родительского действия (для отображения РІ меню) Name string `mapstructure:"name,omitempty"` // Название действия для отображения РІ интерфейсе (РїСѓРЅРєС‚ меню, РєРЅРѕРїРєР°). Description string `mapstructure:"description,omitempty"` // Описание действия для отображения РІ интерфейсе Icon string `mapstructure:"icon,omitempty"` // Название РёРєРѕРЅРєРё для отображения действия РІ интерфейсе @@ -71,14 +75,17 @@ type Action struct { Refs []*references.Reference `mapstructure:"refs,omitempty"` // Ссылки РЅР° записи используемые для выполнения действия (назначение ссылок зависит РѕС‚ действия Рё расширения) ParamsCollection string `mapstructure:"params_collection,omitempty"` Request *ActionRequest `mapstructure:"request,omitempty"` // Параметры запроса (используется РІ случае `ActionResponse.next`) - NavigationAction bool `mapstructure:"navigation_action,omitempty"` // Флаг указывающий что действие переносить пользователя РІ РґСЂСѓРіСѓСЋ часть интерфейса, Р° РЅРµ отправляет запрос РЅР° сервер + NavigationAction bool `mapstructure:"navigation_action,omitempty"` // Флаг указывающий, что действие переносить пользователя РІ РґСЂСѓРіСѓСЋ часть интерфейса, Р° РЅРµ отправляет запрос РЅР° сервер NavigationRoute string `mapstructure:"navigation_route,omitempty"` + Autorun bool `mapstructure:"autorun,omitempty"` // Параметр указывающий, что действие выполняется автоматически + Confirm bool `mapstructure:"confirm,omitempty"` // Параметр указывающий, что действие требует подтверждения пользователя } func ActionToMap(action *Action) map[string]interface{} { res := make(map[string]interface{}) - mapstructure.Decode(action, &res) + _ = mapstructure.Decode(action, &res) res["kind"] = int64(action.Kind.Number()) + res["target"] = int64(action.Target.Number()) return res } @@ -172,6 +179,8 @@ func ActionFromPB(a *pb.Action) *Action { return &Action{ Extension: a.Extension, Action: a.Action, + Target: a.Target, + Parent: a.Parent, Name: a.Name, Description: a.Description, Icon: a.Icon, @@ -185,6 +194,8 @@ func ActionFromPB(a *pb.Action) *Action { //Request: ActionRequestFromPB(a.Request), NavigationAction: a.NavigationAction, NavigationRoute: a.NavigationRoute, + Autorun: a.Autorun, + Confirm: a.Confirm, } }