diff --git a/go.sum b/go.sum index c23afb4718c63e0424aaa4805c160dd724735e56..e79fdfe453e8f261d715fe3f81e8c81d3d26b7fb 100644 --- a/go.sum +++ b/go.sum @@ -13,8 +13,6 @@ github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ3 github.com/davecgh/go-spew v0.0.0-20161028175848-04cdfd42973b/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/gdamore/encoding v1.0.0/go.mod h1:alR0ol34c49FCSBLjhosxzcPHQbf2trDkoo5dl+VrEg= github.com/gdamore/tcell v1.3.0/go.mod h1:Hjvr+Ofd+gLglo7RYKxxnzCBmev3BzsS67MebKS4zMM= @@ -38,6 +36,7 @@ github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEW github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= +github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/gosimple/slug v1.13.1 h1:bQ+kpX9Qa6tHRaK+fZR0A0M2Kd7Pa5eHPPsb1JpHD+Q= github.com/gosimple/slug v1.13.1/go.mod h1:UiRaFH+GEilHstLUmcBgWcI42viBN7mAb818JrYOeFQ= @@ -54,12 +53,9 @@ github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHm github.com/klauspost/compress v1.13.6 h1:P76CopJELS0TiO2mebmnzgWaajssP/EszplttgQxcgc= github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= @@ -68,6 +64,7 @@ github.com/lucasb-eyer/go-colorful v1.0.3/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.8/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/minio/highwayhash v1.0.2 h1:Aak5U0nElisjDCfPSG79Tgzkn2gl66NxOMspRrKnA/g= +github.com/minio/highwayhash v1.0.2/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY= github.com/mitchellh/mapstructure v1.4.2 h1:6h7AQ0yhTcIsmFmnAwQls75jp2Gzs4iB8W7pjMO+rqo= github.com/mitchellh/mapstructure v1.4.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -78,7 +75,9 @@ github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjY github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe h1:iruDEfMl2E6fbMZ9s0scYfZQ84/6SPL6zC8ACM2oIL0= github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= github.com/nats-io/jwt/v2 v2.0.3 h1:i/O6cmIsjpcQyWDYNcq2JyZ3/VTF8SJ4JWluI5OhpvI= +github.com/nats-io/jwt/v2 v2.0.3/go.mod h1:VRP+deawSXyhNjXmxPCHskrR6Mq50BqpEI5SEcNiGlY= github.com/nats-io/nats-server/v2 v2.5.0 h1:wsnVaaXH9VRSg+A2MVg5Q727/CqxnmPLGFQ3YZYKTQg= +github.com/nats-io/nats-server/v2 v2.5.0/go.mod h1:Kj86UtrXAL6LwYRA6H4RqzkHhK0Vcv2ZnKD5WbQ1t3g= github.com/nats-io/nats.go v1.23.0 h1:lR28r7IX44WjYgdiKz9GmUeW0uh/m33uD3yEjLZ2cOE= github.com/nats-io/nats.go v1.23.0/go.mod h1:ki/Scsa23edbh8IRZbCuNXR9TDcbvfaSijKtaqQgw+Q= github.com/nats-io/nkeys v0.3.0 h1:cgM5tL53EvYRU+2YLXIK0G2mJtK12Ft9oeooSZMA2G8= @@ -183,6 +182,7 @@ golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac h1:7zkz7BUtwNFFqcowJ+RIgu2MaV/MapERkDIy+mwPyjs= +golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -204,7 +204,6 @@ google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqw gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/perxis-proto b/perxis-proto index 062d090c3a8e44d3cc4ca61678bf58c0e7377812..6e55b78ebc551eb6f3ee9be1b1c7464749091e68 160000 --- a/perxis-proto +++ b/perxis-proto @@ -1 +1 @@ -Subproject commit 062d090c3a8e44d3cc4ca61678bf58c0e7377812 +Subproject commit 6e55b78ebc551eb6f3ee9be1b1c7464749091e68 diff --git a/pkg/extension/action.go b/pkg/extension/action.go index 3f090dffc541dcdee9f3dba7b0b8e6adc30931df..9e4247c03e42e743ddd3710dd916d1a39635c52d 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, } } diff --git a/proto/extensions/extension.pb.go b/proto/extensions/extension.pb.go index 23120cb2360e06a7b62529ff92183044efebe791..a74f1cea28680560beea1a8e6a08db8c70342ecf 100644 --- a/proto/extensions/extension.pb.go +++ b/proto/extensions/extension.pb.go @@ -31,6 +31,71 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) +// Target - определяет как открывать результат выполнения действия РІ пользовательском интерфейсе +type Target int32 + +const ( + Target_DEFAULT Target = 0 // РџРѕ умолчанию (если нет РґСЂСѓРіРёС… условий, то MODAL) + Target_MODAL Target = 1 // Открывать РІ модальном РѕРєРЅРµ + Target_WIDE Target = 2 // Открывать РІ широком модальном РѕРєРЅРµ + Target_MAIN Target = 4 // Открывать РІ главной рабочей области (часть без меню) + Target_DRAWER Target = 5 // Открывать РІ Р±РѕРєРѕРІРѕР№ панели + Target_NOTIFICATION Target = 6 // Открывать РІРёРґРµ всплывающего уведомлении + Target_BLANK Target = 7 // Открывать РІ РЅРѕРІРѕР№ вкладке + Target_NONE Target = 100 // РќРµ отображать результат +) + +// Enum value maps for Target. +var ( + Target_name = map[int32]string{ + 0: "DEFAULT", + 1: "MODAL", + 2: "WIDE", + 4: "MAIN", + 5: "DRAWER", + 6: "NOTIFICATION", + 7: "BLANK", + 100: "NONE", + } + Target_value = map[string]int32{ + "DEFAULT": 0, + "MODAL": 1, + "WIDE": 2, + "MAIN": 4, + "DRAWER": 5, + "NOTIFICATION": 6, + "BLANK": 7, + "NONE": 100, + } +) + +func (x Target) Enum() *Target { + p := new(Target) + *p = x + return p +} + +func (x Target) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Target) Descriptor() protoreflect.EnumDescriptor { + return file_extensions_extension_proto_enumTypes[0].Descriptor() +} + +func (Target) Type() protoreflect.EnumType { + return &file_extensions_extension_proto_enumTypes[0] +} + +func (x Target) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Target.Descriptor instead. +func (Target) EnumDescriptor() ([]byte, []int) { + return file_extensions_extension_proto_rawDescGZIP(), []int{0} +} + type ExtensionRequestResult_State int32 const ( @@ -70,11 +135,11 @@ func (x ExtensionRequestResult_State) String() string { } func (ExtensionRequestResult_State) Descriptor() protoreflect.EnumDescriptor { - return file_extensions_extension_proto_enumTypes[0].Descriptor() + return file_extensions_extension_proto_enumTypes[1].Descriptor() } func (ExtensionRequestResult_State) Type() protoreflect.EnumType { - return &file_extensions_extension_proto_enumTypes[0] + return &file_extensions_extension_proto_enumTypes[1] } func (x ExtensionRequestResult_State) Number() protoreflect.EnumNumber { @@ -125,11 +190,11 @@ func (x ActionResponse_State) String() string { } func (ActionResponse_State) Descriptor() protoreflect.EnumDescriptor { - return file_extensions_extension_proto_enumTypes[1].Descriptor() + return file_extensions_extension_proto_enumTypes[2].Descriptor() } func (ActionResponse_State) Type() protoreflect.EnumType { - return &file_extensions_extension_proto_enumTypes[1] + return &file_extensions_extension_proto_enumTypes[2] } func (x ActionResponse_State) Number() protoreflect.EnumNumber { @@ -141,42 +206,97 @@ func (ActionResponse_State) EnumDescriptor() ([]byte, []int) { return file_extensions_extension_proto_rawDescGZIP(), []int{10, 0} } +type ActionResponse_Format int32 + +const ( + ActionResponse_PLAIN ActionResponse_Format = 0 + ActionResponse_HTML ActionResponse_Format = 1 + ActionResponse_MARKDOWN ActionResponse_Format = 2 +) + +// Enum value maps for ActionResponse_Format. +var ( + ActionResponse_Format_name = map[int32]string{ + 0: "PLAIN", + 1: "HTML", + 2: "MARKDOWN", + } + ActionResponse_Format_value = map[string]int32{ + "PLAIN": 0, + "HTML": 1, + "MARKDOWN": 2, + } +) + +func (x ActionResponse_Format) Enum() *ActionResponse_Format { + p := new(ActionResponse_Format) + *p = x + return p +} + +func (x ActionResponse_Format) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ActionResponse_Format) Descriptor() protoreflect.EnumDescriptor { + return file_extensions_extension_proto_enumTypes[3].Descriptor() +} + +func (ActionResponse_Format) Type() protoreflect.EnumType { + return &file_extensions_extension_proto_enumTypes[3] +} + +func (x ActionResponse_Format) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ActionResponse_Format.Descriptor instead. +func (ActionResponse_Format) EnumDescriptor() ([]byte, []int) { + return file_extensions_extension_proto_rawDescGZIP(), []int{10, 1} +} + // Kind описывает c какой сущность системы связано действие Рё что требуется передать РІ качестве параметров // Рнтерфейс загружает пользовательские действия Рё отображает РёС… РІ интерфейсе РІ зависимости РѕС‚ ActionType. type Action_Kind int32 const ( - Action_DEFAULT Action_Kind = 0 // Действие РЅРµ отображается РІ интерфейсе Рё РјРѕРіСѓС‚ используется для выполнения дополнительных запросов (СЃРј. `ActionResponse.next`) или напрямую РёР· сторонних приложений. - Action_SPACE Action_Kind = 1 // Действие связано СЃ пространством (требуется передача space_id). Отображается РІ меню "Действия". - Action_ENVIRONMENT Action_Kind = 2 // Действие связано СЃ окружением (требуется передача space_id, env_id). Отображается РІ меню "Действия". - Action_COLLECTION Action_Kind = 3 // Действие связано СЃ коллекцией (требуется передача space_id, env_id, collection_id). Отображается РЅР° экране СЃРїРёСЃРєР° записей. - Action_ITEM Action_Kind = 4 // Действие связано СЃ записью (требуется передача space_id, env_id, collection_id, item_id). Отображается РЅР° экране редактирования записи. - Action_ITEMS Action_Kind = 5 // Действие связано СЃ несколькими записями (требуется передача space_id, env_id, collection_id, item_ids). Отображается РЅР° экране СЃРїРёСЃРєР° записей. - Action_REVISION Action_Kind = 6 // Действие связано СЃ ревизией записи (требуется передача space_id, env_id, collection_id, item_id, rev_id). РќР° данный момент РЅРµ используется. - Action_CREATE Action_Kind = 7 // Действие создание записи (требуется передача space_id, env_id, collection_id). + Action_DEFAULT Action_Kind = 0 // Действие РЅРµ отображается РІ интерфейсе Рё РјРѕРіСѓС‚ используется для выполнения дополнительных запросов (СЃРј. `ActionResponse.next`) или напрямую РёР· сторонних приложений. + Action_SPACE Action_Kind = 1 // Действие связано СЃ пространством (требуется передача space_id). Отображается РІ меню "Действия". + Action_ENVIRONMENT Action_Kind = 2 // Действие связано СЃ окружением (требуется передача space_id, env_id). Отображается РІ меню "Действия". + Action_COLLECTION Action_Kind = 3 // Действие связано СЃ коллекцией (требуется передача space_id, env_id, collection_id). Отображается РЅР° экране СЃРїРёСЃРєР° записей. + Action_ITEM Action_Kind = 4 // Действие связано СЃ записью (требуется передача space_id, env_id, collection_id, item_id). Отображается РЅР° экране редактирования записи. + Action_ITEMS Action_Kind = 5 // Действие связано СЃ несколькими записями (требуется передача space_id, env_id, collection_id, item_ids). Отображается РЅР° экране СЃРїРёСЃРєР° записей. + Action_REVISION Action_Kind = 6 // Действие связано СЃ ревизией записи (требуется передача space_id, env_id, collection_id, item_id, rev_id). РќР° данный момент РЅРµ используется. + Action_CREATE Action_Kind = 7 // Действие создание записи (требуется передача space_id, env_id, collection_id). + Action_MAIN_MENU Action_Kind = 10000 // Действие отображается РІ главном меню (требуется передача space_id, env_id) + Action_MAIN_MENU_BOTTOM Action_Kind = 10010 // Действие отображается РІ главном меню РІРЅРёР·Сѓ (требуется передача space_id, env_id) ) // Enum value maps for Action_Kind. var ( Action_Kind_name = map[int32]string{ - 0: "DEFAULT", - 1: "SPACE", - 2: "ENVIRONMENT", - 3: "COLLECTION", - 4: "ITEM", - 5: "ITEMS", - 6: "REVISION", - 7: "CREATE", + 0: "DEFAULT", + 1: "SPACE", + 2: "ENVIRONMENT", + 3: "COLLECTION", + 4: "ITEM", + 5: "ITEMS", + 6: "REVISION", + 7: "CREATE", + 10000: "MAIN_MENU", + 10010: "MAIN_MENU_BOTTOM", } Action_Kind_value = map[string]int32{ - "DEFAULT": 0, - "SPACE": 1, - "ENVIRONMENT": 2, - "COLLECTION": 3, - "ITEM": 4, - "ITEMS": 5, - "REVISION": 6, - "CREATE": 7, + "DEFAULT": 0, + "SPACE": 1, + "ENVIRONMENT": 2, + "COLLECTION": 3, + "ITEM": 4, + "ITEMS": 5, + "REVISION": 6, + "CREATE": 7, + "MAIN_MENU": 10000, + "MAIN_MENU_BOTTOM": 10010, } ) @@ -191,11 +311,11 @@ func (x Action_Kind) String() string { } func (Action_Kind) Descriptor() protoreflect.EnumDescriptor { - return file_extensions_extension_proto_enumTypes[2].Descriptor() + return file_extensions_extension_proto_enumTypes[4].Descriptor() } func (Action_Kind) Type() protoreflect.EnumType { - return &file_extensions_extension_proto_enumTypes[2] + return &file_extensions_extension_proto_enumTypes[4] } func (x Action_Kind) Number() protoreflect.EnumNumber { @@ -897,8 +1017,12 @@ type ActionResponse struct { unknownFields protoimpl.UnknownFields State ActionResponse_State `protobuf:"varint,10000,opt,name=state,proto3,enum=extensions.ActionResponse_State" json:"state,omitempty"` // Состояние расширение + Target Target `protobuf:"varint,10010,opt,name=target,proto3,enum=extensions.Target" json:"target,omitempty"` // Как открывать результат выполнения действия РІ пользовательском интерфейсе (переопределяет значение РІ Action) + Format ActionResponse_Format `protobuf:"varint,10050,opt,name=format,proto3,enum=extensions.ActionResponse_Format" json:"format,omitempty"` // Формат полей msg Рё error Msg string `protobuf:"bytes,10100,opt,name=msg,proto3" json:"msg,omitempty"` // Сообщение Рѕ выполнении действия - Error string `protobuf:"bytes,10200,opt,name=error,proto3" json:"error,omitempty"` // Сообщение РІ случае ошибки + Title string `protobuf:"bytes,10110,opt,name=title,proto3" json:"title,omitempty"` // Текст для отображения РІ интерфейсе + Image string `protobuf:"bytes,10140,opt,name=image,proto3" json:"image,omitempty"` // Рзображение для отображения РІ интерфейсе (шапке РѕРєРЅР°) + Error string `protobuf:"bytes,10200,opt,name=error,proto3" json:"error,omitempty"` // Сообщение РІ случае ошибки (дополнительно Рє msg) Next []*Action `protobuf:"bytes,10300,rep,name=next,proto3" json:"next,omitempty"` // Следующие возможные действия. Рнтерфейс отображает как варианты дальнейших действий пользователя Metadata map[string]string `protobuf:"bytes,10400,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Метаданные запроса Refs []*references.Reference `protobuf:"bytes,10320,rep,name=refs,proto3" json:"refs,omitempty"` // Ссылки РЅР° записи (назначение ссылок зависит РѕС‚ действия Рё расширения) @@ -943,6 +1067,20 @@ func (x *ActionResponse) GetState() ActionResponse_State { return ActionResponse_DONE } +func (x *ActionResponse) GetTarget() Target { + if x != nil { + return x.Target + } + return Target_DEFAULT +} + +func (x *ActionResponse) GetFormat() ActionResponse_Format { + if x != nil { + return x.Format + } + return ActionResponse_PLAIN +} + func (x *ActionResponse) GetMsg() string { if x != nil { return x.Msg @@ -950,6 +1088,20 @@ func (x *ActionResponse) GetMsg() string { return "" } +func (x *ActionResponse) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *ActionResponse) GetImage() string { + if x != nil { + return x.Image + } + return "" +} + func (x *ActionResponse) GetError() string { if x != nil { return x.Error @@ -978,33 +1130,61 @@ func (x *ActionResponse) GetRefs() []*references.Reference { return nil } -//* -//Action описывает как коллекцию РІ системе СЃ предуставновленными действиями, так Рё возможные дальнейшие действия после -//получения ответа (СЃРј. `ActionResponse.next`) +// * +// Action описывает как коллекцию РІ системе СЃ предуставновленными действиями, так Рё возможные дальнейшие действия после +// получения ответа (СЃРј. `ActionResponse.next`) // -//Если поле `request` присутствует, РЅРѕ РЅРµ РІСЃРµ требуемые поля заполнены, то значения для РЅРёС… берутся РёР· текущих значений. +// Если поле `request` присутствует, РЅРѕ РЅРµ РІСЃРµ требуемые поля заполнены, то значения для РЅРёС… берутся РёР· текущих значений. // -//Коллекция: space_actions (Пространство/Действия) -//Действия сохраненные РІ коллекции РЅРµ содержат поля `request`. Значение заполняется текущими значениями. +// Коллекция: space_actions (Пространство/Действия) +// Действия сохраненные РІ коллекции РЅРµ содержат поля `request`. Значение заполняется текущими значениями. // -//Пользовательские действия добавляются РїСЂРё установке расширений или РїСЂРё -//настройке РІ системную коллекции `Пространство/Действия` (system_actions). Расширения самостоятельно контролирует создание необходимых -//РёРј действий РІ коллекции. +// Пользовательские действия добавляются РїСЂРё установке расширений или РїСЂРё +// настройке РІ системную коллекции `Пространство/Действия` (system_actions). Расширения самостоятельно контролирует создание необходимых +// РёРј действий РІ коллекции. // -//Рнтерфейс загружает пользовательские действия Рё отображает РёС… РІ интерфейсе соответствующим образом. +// Рнтерфейс загружает пользовательские действия Рё отображает РёС… РІ интерфейсе соответствующим образом. type Action struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Extension string `protobuf:"bytes,10000,opt,name=extension,proto3" json:"extension,omitempty"` // Расширение - Action string `protobuf:"bytes,10100,opt,name=action,proto3" json:"action,omitempty"` // Рдентификатор действия + // DEPRECATED: Рспользуйте `action` РІ формате URI + Extension string `protobuf:"bytes,10000,opt,name=extension,proto3" json:"extension,omitempty"` // Расширение + // Рдентификатор действия (РІ формате URI) + // Варианты использования: + // - пустой - никаких действий РЅРµ выполняется + // - `action_id` - простое действие (если установлено расширение, то РѕРЅРѕ используется) + // - `grpc:///extension_id/action_id` - полное действие СЃ указанием расширения + // - `https://host/path` - действие РїРѕ HTTP(S) + // - `ui:///path` - действие РІ интерфейсе + // - `/path` - действие РІ интерфейсе + // + // Пример: `https://example.com/api/v1/action` - будет выполнен запрос HTTP РїРѕ указанному URL. + // Сервер может вернуть ответ РІ формате JSON или HTML/MD. Дальнейшие действия определяется РѕРї заголовку ответа + // `Content-Type`: + // - `application/json` - ответ РІ формате JSON. Структура ответа соответствует `ActionResponse` Рё интерпретируется + // тем Р¶Рµ СЃРїРѕСЃРѕР±РѕРј что Рё ответ РѕС‚ GRPC. + // - `text/html` - ответ РІ формате HTML. Рнтерфейс отображает ответ РІ РІРёРґРµ сообщения РІ IFrame + // - `text/markdown` - ответ РІ формате MD. Рнтерфейс отображает ответ РІ РІРёРґРµ сообщения. + // + // Переменные `:var` заменяются РЅР° текуще значение РІ пользовательском интерфейсе + // Перечень переменных для подстановки: + // - :spaceId + // - :envId + // - :colId + // - :itemId + // + // Пример: `ui:///spaces/:spaceId/envs/:envId/cols/:colId` - будет выполнено действие РІ интерфейсе. + Action string `protobuf:"bytes,10100,opt,name=action,proto3" json:"action,omitempty"` + Target Target `protobuf:"varint,10110,opt,name=target,proto3,enum=extensions.Target" json:"target,omitempty"` // как должен отображаться результат действия + Parent string `protobuf:"bytes,10120,opt,name=parent,proto3" json:"parent,omitempty"` // Рдентификатор родительского действия (для отображения РІ меню) Name string `protobuf:"bytes,10200,opt,name=name,proto3" json:"name,omitempty"` // Название действия для отображения РІ интерфейсе (РїСѓРЅРєС‚ меню, РєРЅРѕРїРєР°). Description string `protobuf:"bytes,10210,opt,name=description,proto3" json:"description,omitempty"` // Описание действия для отображения РІ интерфейсе Icon string `protobuf:"bytes,10220,opt,name=icon,proto3" json:"icon,omitempty"` // Название РёРєРѕРЅРєРё для отображения действия РІ интерфейсе Image *references.Reference `protobuf:"bytes,10230,opt,name=image,proto3" json:"image,omitempty"` // Рзображение для отображения РІ действия РІ интерфейсе Groups []string `protobuf:"bytes,10240,rep,name=groups,proto3" json:"groups,omitempty"` // Группы отображения действия РІ интерфейсе - Kind Action_Kind `protobuf:"varint,10300,opt,name=kind,proto3,enum=extensions.Action_Kind" json:"kind,omitempty"` // Указывает РЅР° что направлено действие + Kind Action_Kind `protobuf:"varint,10300,opt,name=kind,proto3,enum=extensions.Action_Kind" json:"kind,omitempty"` // Указывает область действия (РіРґРµ отображается действие) Classes []string `protobuf:"bytes,10310,rep,name=classes,proto3" json:"classes,omitempty"` // Классы данных Рє которым применимо действие (название коллекций или специальных РіСЂСѓРїРї РІ рамках которых данное действие применимо) // Для `CREATE` действуют следующие правила: // - Для создание записей РІ коллекции применимы действия которые содержат РІ classes название коллекции @@ -1015,8 +1195,9 @@ type Action struct { // Коллекция для сохранения параметрами действия. Если параметр указан, то РїСЂРё выполнении действия будет открываться // форма создания записи РІ указанной коллекции ParamsCollection string `protobuf:"bytes,10330,opt,name=params_collection,json=paramsCollection,proto3" json:"params_collection,omitempty"` - Request *ActionRequest `protobuf:"bytes,10400,opt,name=request,proto3" json:"request,omitempty"` // Параметры запроса (используется РІ случае `ActionResponse.next`) - NavigationAction bool `protobuf:"varint,10500,opt,name=navigation_action,json=navigationAction,proto3" json:"navigation_action,omitempty"` // Флаг указывающий что действие переносить пользователя РІ РґСЂСѓРіСѓСЋ часть интерфейса, Р° РЅРµ отправляет запрос РЅР° сервер + Request *ActionRequest `protobuf:"bytes,10400,opt,name=request,proto3" json:"request,omitempty"` // Параметры запроса (используется РІ случае `ActionResponse.next`) + // DEPRECATED: Рспользуйте `action_url` вместо `navigation_route` + NavigationAction bool `protobuf:"varint,10500,opt,name=navigation_action,json=navigationAction,proto3" json:"navigation_action,omitempty"` // Флаг указывающий что действие переносить пользователя РІ РґСЂСѓРіСѓСЋ часть интерфейса, Р° РЅРµ отправляет запрос РЅР° сервер // navigation_route - Строка шаблон для перехода РІ интерфейсе // РџСЂРё указании полного адреса (http(s)://xyz), URL открывается РІ РЅРѕРІРѕРј РѕРєРЅРµ браузера // Относительный адрес РІ пользовательском интерфейсе переносит пользователя РІ соответствующий раздел без перезагрузки приложения @@ -1028,7 +1209,14 @@ type Action struct { // - :colId // - :itemId // + // DEPRECATED: Рспользуйте `action_type == "NAVIGATION"` NavigationRoute string `protobuf:"bytes,10510,opt,name=navigation_route,json=navigationRoute,proto3" json:"navigation_route,omitempty"` + // Параметр указывающий что действие выполняется автоматически + // Если указано, то действие выполняется автоматически каждый раз РїСЂРё загрузке приложения + Autorun bool `protobuf:"varint,10520,opt,name=autorun,proto3" json:"autorun,omitempty"` + // Параметр указывающий что действие требует подтверждения пользователя + // Перед выполнением действия пользователю отображается информация Рѕ действии Рё РєРЅРѕРїРєРё подтверждения/отмены + Confirm bool `protobuf:"varint,10530,opt,name=confirm,proto3" json:"confirm,omitempty"` } func (x *Action) Reset() { @@ -1077,6 +1265,20 @@ func (x *Action) GetAction() string { return "" } +func (x *Action) GetTarget() Target { + if x != nil { + return x.Target + } + return Target_DEFAULT +} + +func (x *Action) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + func (x *Action) GetName() string { if x != nil { return x.Name @@ -1161,6 +1363,20 @@ func (x *Action) GetNavigationRoute() string { return "" } +func (x *Action) GetAutorun() bool { + if x != nil { + return x.Autorun + } + return false +} + +func (x *Action) GetConfirm() bool { + if x != nil { + return x.Confirm + } + return false +} + var File_extensions_extension_proto protoreflect.FileDescriptor var file_extensions_extension_proto_rawDesc = []byte{ @@ -1268,101 +1484,130 @@ var file_extensions_extension_proto_rawDesc = []byte{ 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa9, 0x03, 0x0a, + 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xed, 0x04, 0x0a, 0x0e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x90, 0x4e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x11, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, - 0xf4, 0x4e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x15, 0x0a, 0x05, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x18, 0xd8, 0x4f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x12, 0x27, 0x0a, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x18, 0xbc, 0x50, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x12, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x12, 0x45, 0x0a, 0x08, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0xa0, 0x51, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, - 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x12, 0x32, 0x0a, 0x04, 0x72, 0x65, 0x66, 0x73, 0x18, 0xd0, 0x50, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x66, 0x65, - 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, - 0x52, 0x04, 0x72, 0x65, 0x66, 0x73, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x22, 0x53, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x08, 0x0a, 0x04, - 0x44, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, - 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x0f, - 0x0a, 0x0b, 0x49, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x03, 0x12, - 0x17, 0x0a, 0x13, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x45, 0x54, 0x45, 0x52, 0x53, 0x5f, 0x52, 0x45, - 0x51, 0x55, 0x49, 0x52, 0x45, 0x44, 0x10, 0x04, 0x22, 0x87, 0x05, 0x0a, 0x06, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, - 0x18, 0x90, 0x4e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, - 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0x4e, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x13, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0xd8, 0x4f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x21, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0xe2, 0x4f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x13, 0x0a, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x18, 0xec, 0x4f, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, - 0x65, 0x18, 0xf6, 0x4f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2b, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x18, 0x9a, 0x4e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x65, 0x78, 0x74, 0x65, + 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x3a, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, + 0xc2, 0x4e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x12, 0x11, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0xf4, 0x4e, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6d, 0x73, 0x67, 0x12, 0x15, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0xfe, 0x4e, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x15, 0x0a, 0x05, 0x69, + 0x6d, 0x61, 0x67, 0x65, 0x18, 0x9c, 0x4f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, + 0x67, 0x65, 0x12, 0x15, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0xd8, 0x4f, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x27, 0x0a, 0x04, 0x6e, 0x65, 0x78, + 0x74, 0x18, 0xbc, 0x50, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x65, + 0x78, 0x74, 0x12, 0x45, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0xa0, + 0x51, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x32, 0x0a, 0x04, 0x72, 0x65, 0x66, + 0x73, 0x18, 0xd0, 0x50, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x52, 0x65, - 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x17, - 0x0a, 0x06, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x80, 0x50, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x06, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x2c, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, - 0xbc, 0x50, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, - 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x19, 0x0a, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, - 0x18, 0xc6, 0x50, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, - 0x12, 0x32, 0x0a, 0x04, 0x72, 0x65, 0x66, 0x73, 0x18, 0xd0, 0x50, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x04, - 0x72, 0x65, 0x66, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x5f, 0x63, - 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xda, 0x50, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x10, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0xa0, 0x51, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, - 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x6e, 0x61, 0x76, 0x69, - 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x84, 0x52, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x6e, 0x61, 0x76, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x10, 0x6e, 0x61, 0x76, 0x69, 0x67, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x8e, 0x52, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0f, 0x6e, 0x61, 0x76, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x75, - 0x74, 0x65, 0x22, 0x6e, 0x0a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, - 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x50, 0x41, 0x43, 0x45, - 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x45, 0x4e, 0x56, 0x49, 0x52, 0x4f, 0x4e, 0x4d, 0x45, 0x4e, - 0x54, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x4f, 0x4c, 0x4c, 0x45, 0x43, 0x54, 0x49, 0x4f, - 0x4e, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x54, 0x45, 0x4d, 0x10, 0x04, 0x12, 0x09, 0x0a, - 0x05, 0x49, 0x54, 0x45, 0x4d, 0x53, 0x10, 0x05, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x45, 0x56, 0x49, - 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x06, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, - 0x10, 0x07, 0x32, 0xe3, 0x02, 0x0a, 0x09, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, - 0x12, 0x44, 0x0a, 0x07, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x1a, 0x2e, 0x65, 0x78, - 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3e, 0x0a, 0x05, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, - 0x18, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x43, 0x68, 0x65, - 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x65, 0x78, 0x74, 0x65, - 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x12, 0x19, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x65, 0x78, - 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x09, 0x55, 0x6e, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x1c, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x19, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x65, 0x78, 0x74, - 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x3a, 0x5a, 0x38, 0x67, 0x69, 0x74, 0x2e, - 0x70, 0x65, 0x72, 0x78, 0x2e, 0x72, 0x75, 0x2f, 0x70, 0x65, 0x72, 0x78, 0x69, 0x73, 0x2f, 0x70, - 0x65, 0x72, 0x78, 0x69, 0x73, 0x2d, 0x67, 0x6f, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, - 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3b, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x04, 0x72, 0x65, 0x66, 0x73, 0x1a, 0x3b, 0x0a, + 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x53, 0x0a, 0x05, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, + 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, + 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x49, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x47, + 0x52, 0x45, 0x53, 0x53, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x45, + 0x54, 0x45, 0x52, 0x53, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, 0x45, 0x44, 0x10, 0x04, 0x22, + 0x2b, 0x0a, 0x06, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x09, 0x0a, 0x05, 0x50, 0x4c, 0x41, + 0x49, 0x4e, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x54, 0x4d, 0x4c, 0x10, 0x01, 0x12, 0x0c, + 0x0a, 0x08, 0x4d, 0x41, 0x52, 0x4b, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x02, 0x22, 0xab, 0x06, 0x0a, + 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x90, 0x4e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x78, 0x74, + 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0xf4, 0x4e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x2b, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0xfe, 0x4e, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x12, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x17, 0x0a, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x88, 0x4f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x13, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xd8, 0x4f, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe2, 0x4f, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x13, 0x0a, + 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x18, 0xec, 0x4f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x63, + 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0xf6, 0x4f, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x17, 0x0a, 0x06, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x73, 0x18, 0x80, 0x50, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x73, 0x12, 0x2c, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0xbc, 0x50, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x17, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, + 0x19, 0x0a, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x18, 0xc6, 0x50, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x04, 0x72, 0x65, + 0x66, 0x73, 0x18, 0xd0, 0x50, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x52, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x04, 0x72, 0x65, 0x66, 0x73, 0x12, 0x2c, + 0x0a, 0x11, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0xda, 0x50, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x07, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0xa0, 0x51, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, + 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x6e, 0x61, 0x76, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x84, 0x52, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, + 0x6e, 0x61, 0x76, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x2a, 0x0a, 0x10, 0x6e, 0x61, 0x76, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, + 0x6f, 0x75, 0x74, 0x65, 0x18, 0x8e, 0x52, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6e, 0x61, 0x76, + 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x07, + 0x61, 0x75, 0x74, 0x6f, 0x72, 0x75, 0x6e, 0x18, 0x98, 0x52, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, + 0x61, 0x75, 0x74, 0x6f, 0x72, 0x75, 0x6e, 0x12, 0x19, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x72, 0x6d, 0x18, 0xa2, 0x52, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x72, 0x6d, 0x22, 0x95, 0x01, 0x0a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x0b, 0x0a, 0x07, 0x44, + 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x50, 0x41, 0x43, + 0x45, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x45, 0x4e, 0x56, 0x49, 0x52, 0x4f, 0x4e, 0x4d, 0x45, + 0x4e, 0x54, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x4f, 0x4c, 0x4c, 0x45, 0x43, 0x54, 0x49, + 0x4f, 0x4e, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x54, 0x45, 0x4d, 0x10, 0x04, 0x12, 0x09, + 0x0a, 0x05, 0x49, 0x54, 0x45, 0x4d, 0x53, 0x10, 0x05, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x45, 0x56, + 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x06, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x52, 0x45, 0x41, 0x54, + 0x45, 0x10, 0x07, 0x12, 0x0e, 0x0a, 0x09, 0x4d, 0x41, 0x49, 0x4e, 0x5f, 0x4d, 0x45, 0x4e, 0x55, + 0x10, 0x90, 0x4e, 0x12, 0x15, 0x0a, 0x10, 0x4d, 0x41, 0x49, 0x4e, 0x5f, 0x4d, 0x45, 0x4e, 0x55, + 0x5f, 0x42, 0x4f, 0x54, 0x54, 0x4f, 0x4d, 0x10, 0x9a, 0x4e, 0x2a, 0x67, 0x0a, 0x06, 0x54, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, + 0x00, 0x12, 0x09, 0x0a, 0x05, 0x4d, 0x4f, 0x44, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, + 0x57, 0x49, 0x44, 0x45, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x4d, 0x41, 0x49, 0x4e, 0x10, 0x04, + 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x52, 0x41, 0x57, 0x45, 0x52, 0x10, 0x05, 0x12, 0x10, 0x0a, 0x0c, + 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x06, 0x12, 0x09, + 0x0a, 0x05, 0x42, 0x4c, 0x41, 0x4e, 0x4b, 0x10, 0x07, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, + 0x45, 0x10, 0x64, 0x32, 0xe3, 0x02, 0x0a, 0x09, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, + 0x6e, 0x12, 0x44, 0x0a, 0x07, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x1a, 0x2e, 0x65, + 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, + 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3e, 0x0a, 0x05, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x12, 0x18, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x65, 0x78, 0x74, + 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x12, 0x19, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x65, + 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x09, 0x55, 0x6e, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x1c, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x19, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x65, 0x78, + 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x3a, 0x5a, 0x38, 0x67, 0x69, 0x74, + 0x2e, 0x70, 0x65, 0x72, 0x78, 0x2e, 0x72, 0x75, 0x2f, 0x70, 0x65, 0x72, 0x78, 0x69, 0x73, 0x2f, + 0x70, 0x65, 0x72, 0x78, 0x69, 0x73, 0x2d, 0x67, 0x6f, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, + 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3b, 0x65, 0x78, 0x74, 0x65, 0x6e, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1377,60 +1622,65 @@ func file_extensions_extension_proto_rawDescGZIP() []byte { return file_extensions_extension_proto_rawDescData } -var file_extensions_extension_proto_enumTypes = make([]protoimpl.EnumInfo, 3) +var file_extensions_extension_proto_enumTypes = make([]protoimpl.EnumInfo, 5) var file_extensions_extension_proto_msgTypes = make([]protoimpl.MessageInfo, 14) var file_extensions_extension_proto_goTypes = []interface{}{ - (ExtensionRequestResult_State)(0), // 0: extensions.ExtensionRequestResult.State - (ActionResponse_State)(0), // 1: extensions.ActionResponse.State - (Action_Kind)(0), // 2: extensions.Action.Kind - (*InstallRequest)(nil), // 3: extensions.InstallRequest - (*ExtensionRequestResult)(nil), // 4: extensions.ExtensionRequestResult - (*InstallResponse)(nil), // 5: extensions.InstallResponse - (*UninstallRequest)(nil), // 6: extensions.UninstallRequest - (*UninstallResponse)(nil), // 7: extensions.UninstallResponse - (*UpdateRequest)(nil), // 8: extensions.UpdateRequest - (*UpdateResponse)(nil), // 9: extensions.UpdateResponse - (*CheckRequest)(nil), // 10: extensions.CheckRequest - (*CheckResponse)(nil), // 11: extensions.CheckResponse - (*ActionRequest)(nil), // 12: extensions.ActionRequest - (*ActionResponse)(nil), // 13: extensions.ActionResponse - (*Action)(nil), // 14: extensions.Action - nil, // 15: extensions.ActionRequest.MetadataEntry - nil, // 16: extensions.ActionResponse.MetadataEntry - (*references.Reference)(nil), // 17: content.references.Reference + (Target)(0), // 0: extensions.Target + (ExtensionRequestResult_State)(0), // 1: extensions.ExtensionRequestResult.State + (ActionResponse_State)(0), // 2: extensions.ActionResponse.State + (ActionResponse_Format)(0), // 3: extensions.ActionResponse.Format + (Action_Kind)(0), // 4: extensions.Action.Kind + (*InstallRequest)(nil), // 5: extensions.InstallRequest + (*ExtensionRequestResult)(nil), // 6: extensions.ExtensionRequestResult + (*InstallResponse)(nil), // 7: extensions.InstallResponse + (*UninstallRequest)(nil), // 8: extensions.UninstallRequest + (*UninstallResponse)(nil), // 9: extensions.UninstallResponse + (*UpdateRequest)(nil), // 10: extensions.UpdateRequest + (*UpdateResponse)(nil), // 11: extensions.UpdateResponse + (*CheckRequest)(nil), // 12: extensions.CheckRequest + (*CheckResponse)(nil), // 13: extensions.CheckResponse + (*ActionRequest)(nil), // 14: extensions.ActionRequest + (*ActionResponse)(nil), // 15: extensions.ActionResponse + (*Action)(nil), // 16: extensions.Action + nil, // 17: extensions.ActionRequest.MetadataEntry + nil, // 18: extensions.ActionResponse.MetadataEntry + (*references.Reference)(nil), // 19: content.references.Reference } var file_extensions_extension_proto_depIdxs = []int32{ - 0, // 0: extensions.ExtensionRequestResult.state:type_name -> extensions.ExtensionRequestResult.State - 4, // 1: extensions.InstallResponse.results:type_name -> extensions.ExtensionRequestResult - 4, // 2: extensions.UninstallResponse.results:type_name -> extensions.ExtensionRequestResult - 4, // 3: extensions.UpdateResponse.results:type_name -> extensions.ExtensionRequestResult - 4, // 4: extensions.CheckResponse.results:type_name -> extensions.ExtensionRequestResult - 15, // 5: extensions.ActionRequest.metadata:type_name -> extensions.ActionRequest.MetadataEntry - 17, // 6: extensions.ActionRequest.refs:type_name -> content.references.Reference - 17, // 7: extensions.ActionRequest.params:type_name -> content.references.Reference - 1, // 8: extensions.ActionResponse.state:type_name -> extensions.ActionResponse.State - 14, // 9: extensions.ActionResponse.next:type_name -> extensions.Action - 16, // 10: extensions.ActionResponse.metadata:type_name -> extensions.ActionResponse.MetadataEntry - 17, // 11: extensions.ActionResponse.refs:type_name -> content.references.Reference - 17, // 12: extensions.Action.image:type_name -> content.references.Reference - 2, // 13: extensions.Action.kind:type_name -> extensions.Action.Kind - 17, // 14: extensions.Action.refs:type_name -> content.references.Reference - 12, // 15: extensions.Action.request:type_name -> extensions.ActionRequest - 3, // 16: extensions.Extension.Install:input_type -> extensions.InstallRequest - 10, // 17: extensions.Extension.Check:input_type -> extensions.CheckRequest - 8, // 18: extensions.Extension.Update:input_type -> extensions.UpdateRequest - 6, // 19: extensions.Extension.Uninstall:input_type -> extensions.UninstallRequest - 12, // 20: extensions.Extension.Action:input_type -> extensions.ActionRequest - 5, // 21: extensions.Extension.Install:output_type -> extensions.InstallResponse - 11, // 22: extensions.Extension.Check:output_type -> extensions.CheckResponse - 9, // 23: extensions.Extension.Update:output_type -> extensions.UpdateResponse - 7, // 24: extensions.Extension.Uninstall:output_type -> extensions.UninstallResponse - 13, // 25: extensions.Extension.Action:output_type -> extensions.ActionResponse - 21, // [21:26] is the sub-list for method output_type - 16, // [16:21] is the sub-list for method input_type - 16, // [16:16] is the sub-list for extension type_name - 16, // [16:16] is the sub-list for extension extendee - 0, // [0:16] is the sub-list for field type_name + 1, // 0: extensions.ExtensionRequestResult.state:type_name -> extensions.ExtensionRequestResult.State + 6, // 1: extensions.InstallResponse.results:type_name -> extensions.ExtensionRequestResult + 6, // 2: extensions.UninstallResponse.results:type_name -> extensions.ExtensionRequestResult + 6, // 3: extensions.UpdateResponse.results:type_name -> extensions.ExtensionRequestResult + 6, // 4: extensions.CheckResponse.results:type_name -> extensions.ExtensionRequestResult + 17, // 5: extensions.ActionRequest.metadata:type_name -> extensions.ActionRequest.MetadataEntry + 19, // 6: extensions.ActionRequest.refs:type_name -> content.references.Reference + 19, // 7: extensions.ActionRequest.params:type_name -> content.references.Reference + 2, // 8: extensions.ActionResponse.state:type_name -> extensions.ActionResponse.State + 0, // 9: extensions.ActionResponse.target:type_name -> extensions.Target + 3, // 10: extensions.ActionResponse.format:type_name -> extensions.ActionResponse.Format + 16, // 11: extensions.ActionResponse.next:type_name -> extensions.Action + 18, // 12: extensions.ActionResponse.metadata:type_name -> extensions.ActionResponse.MetadataEntry + 19, // 13: extensions.ActionResponse.refs:type_name -> content.references.Reference + 0, // 14: extensions.Action.target:type_name -> extensions.Target + 19, // 15: extensions.Action.image:type_name -> content.references.Reference + 4, // 16: extensions.Action.kind:type_name -> extensions.Action.Kind + 19, // 17: extensions.Action.refs:type_name -> content.references.Reference + 14, // 18: extensions.Action.request:type_name -> extensions.ActionRequest + 5, // 19: extensions.Extension.Install:input_type -> extensions.InstallRequest + 12, // 20: extensions.Extension.Check:input_type -> extensions.CheckRequest + 10, // 21: extensions.Extension.Update:input_type -> extensions.UpdateRequest + 8, // 22: extensions.Extension.Uninstall:input_type -> extensions.UninstallRequest + 14, // 23: extensions.Extension.Action:input_type -> extensions.ActionRequest + 7, // 24: extensions.Extension.Install:output_type -> extensions.InstallResponse + 13, // 25: extensions.Extension.Check:output_type -> extensions.CheckResponse + 11, // 26: extensions.Extension.Update:output_type -> extensions.UpdateResponse + 9, // 27: extensions.Extension.Uninstall:output_type -> extensions.UninstallResponse + 15, // 28: extensions.Extension.Action:output_type -> extensions.ActionResponse + 24, // [24:29] is the sub-list for method output_type + 19, // [19:24] is the sub-list for method input_type + 19, // [19:19] is the sub-list for extension type_name + 19, // [19:19] is the sub-list for extension extendee + 0, // [0:19] is the sub-list for field type_name } func init() { file_extensions_extension_proto_init() } @@ -1589,7 +1839,7 @@ func file_extensions_extension_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_extensions_extension_proto_rawDesc, - NumEnums: 3, + NumEnums: 5, NumMessages: 14, NumExtensions: 0, NumServices: 1, diff --git a/proto/extensions/extension_grpc.pb.go b/proto/extensions/extension_grpc.pb.go index 550f0bdfada581863151e88ec94e4732d9a94508..784527d37db21be2337aa3406ef3dd83eb87e940 100644 --- a/proto/extensions/extension_grpc.pb.go +++ b/proto/extensions/extension_grpc.pb.go @@ -63,10 +63,10 @@ type ExtensionClient interface { // доступное для всех пользователей. // // Примеры пользовательских действий: - // - "Собрать сайт" - добавляется Perxis.Web для СЃР±РѕСЂРєРё сайта, доступна пользователю через меню, - // параметры space_id, env_id. РџСЂРё вызове выполняется запрос РЅР° сервер ProcessAction. - // - "Посмотреть задачи" - добавляется Tasks для перехода РЅР° коллекцию задач. Отображается РІ меню, - // параметры space_id, env_id. + // - "Собрать сайт" - добавляется Perxis.Web для СЃР±РѕСЂРєРё сайта, доступна пользователю через меню, + // параметры space_id, env_id. РџСЂРё вызове выполняется запрос РЅР° сервер ProcessAction. + // - "Посмотреть задачи" - добавляется Tasks для перехода РЅР° коллекцию задач. Отображается РІ меню, + // параметры space_id, env_id. // // Приложения так Р¶Рµ РјРѕРіСѓС‚ использовать действия для вызова обработки РІ РґСЂСѓРіРёС… приложениях РїСЂРё // необходимости. @@ -153,10 +153,10 @@ type ExtensionServer interface { // доступное для всех пользователей. // // Примеры пользовательских действий: - // - "Собрать сайт" - добавляется Perxis.Web для СЃР±РѕСЂРєРё сайта, доступна пользователю через меню, - // параметры space_id, env_id. РџСЂРё вызове выполняется запрос РЅР° сервер ProcessAction. - // - "Посмотреть задачи" - добавляется Tasks для перехода РЅР° коллекцию задач. Отображается РІ меню, - // параметры space_id, env_id. + // - "Собрать сайт" - добавляется Perxis.Web для СЃР±РѕСЂРєРё сайта, доступна пользователю через меню, + // параметры space_id, env_id. РџСЂРё вызове выполняется запрос РЅР° сервер ProcessAction. + // - "Посмотреть задачи" - добавляется Tasks для перехода РЅР° коллекцию задач. Отображается РІ меню, + // параметры space_id, env_id. // // Приложения так Р¶Рµ РјРѕРіСѓС‚ использовать действия для вызова обработки РІ РґСЂСѓРіРёС… приложениях РїСЂРё // необходимости. diff --git a/proto/extensions/manager.pb.go b/proto/extensions/manager.pb.go index be2193d80f6b5b7c1efc10db15cbdd2be63ec6ad..cb5b209259d642794eb201b9bb60bbf60c87d3f9 100644 --- a/proto/extensions/manager.pb.go +++ b/proto/extensions/manager.pb.go @@ -27,8 +27,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.29.0 -// protoc v3.21.12 +// protoc-gen-go v1.31.0 +// protoc v4.23.4 // source: extensions/manager.proto package extensions diff --git a/proto/extensions/manager_grpc.pb.go b/proto/extensions/manager_grpc.pb.go index 093b6165f912a2f22f9482a8f3035ce3b2bc07e9..aa5a5105bffb683691d866f65127857d5453192c 100644 --- a/proto/extensions/manager_grpc.pb.go +++ b/proto/extensions/manager_grpc.pb.go @@ -28,7 +28,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.3.0 -// - protoc v3.21.12 +// - protoc v4.23.4 // source: extensions/manager.proto package extensions