From e09530b49f4a52155b966c68adbf76d62799f6bd Mon Sep 17 00:00:00 2001 From: Danis Kirasirov <kirasirov@perx.ru> Date: Fri, 22 Nov 2024 08:41:49 +0000 Subject: [PATCH] =?UTF-8?q?feat(extensions):=20=D0=94=D0=BE=D0=B1=D0=B0?= =?UTF-8?q?=D0=B2=D0=BB=D0=B5=D0=BD=D1=8B=20=D0=BF=D0=BE=D0=BB=D1=8F=20?= =?UTF-8?q?=D0=B4=D0=BB=D1=8F=20=D0=BF=D0=B5=D1=80=D0=B5=D0=B4=D0=B0=D1=87?= =?UTF-8?q?=D0=B8=20=D0=BA=D0=BB=D0=B8=D0=B5=D0=BD=D1=82=D1=81=D0=BA=D0=B8?= =?UTF-8?q?=D1=85=20=D0=B4=D0=B0=D0=BD=D0=BD=D1=8B=D1=85=20=D0=BF=D1=80?= =?UTF-8?q?=D0=B8=20=D0=B7=D0=B0=D0=BF=D1=80=D0=BE=D1=81=D0=B0=D1=85=20Act?= =?UTF-8?q?ionRequest?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Issue: https://git.perx.ru/perxis/perxis/-/issues/2905 --- perxis-proto | 2 +- pkg/extension/action.go | 80 ++++++++++----- pkg/extension/action_test.go | 19 +++- proto/extensions/extension.pb.go | 167 ++++++++++++++++++++++++------- 4 files changed, 201 insertions(+), 67 deletions(-) diff --git a/perxis-proto b/perxis-proto index b43d6b33..e86c1f43 160000 --- a/perxis-proto +++ b/perxis-proto @@ -1 +1 @@ -Subproject commit b43d6b33bf6c47d659bc3f14075dfa8473fdc707 +Subproject commit e86c1f4304bde0094f870346f4ba3bf4a7e8858f diff --git a/pkg/extension/action.go b/pkg/extension/action.go index feb19d9a..34d96a2b 100644 --- a/pkg/extension/action.go +++ b/pkg/extension/action.go @@ -15,19 +15,27 @@ type ( ResponseState = pb.ActionResponse_State ResponseFormat = pb.ActionResponse_Format + UserPreferences struct { + Timezone string `json:"timezone,omitempty"` // Timezone в формате IANA. Пример: "Europe/Moscow", "America/New_York" https://en.wikipedia.org/wiki/List_of_tz_database_time_zones + Locale string `json:"locale,omitempty"` // Текущая локаль пользователя в UI + Theme string `json:"theme,omitempty"` // Текущая тема пользователя в UI + Agent string `json:"agent,omitempty"` // Браузер или приложение пользователя + } + ActionRequest struct { - Extension string `json:"extension,omitempty"` - Action string `json:"action"` - LocaleID string `json:"locale_id,omitempty"` - SpaceID string `json:"space_id,omitempty"` - EnvID string `json:"env_id,omitempty"` - CollectionID string `json:"collection_id,omitempty"` - ItemID string `json:"item_id,omitempty"` - ItemIDs []string `json:"item_ids,omitempty"` - Fields []string `json:"fields,omitempty"` - Metadata map[string]string `json:"metadata,omitempty"` - Refs []*references.Reference `json:"refs,omitempty"` - Params *references.Reference `json:"params,omitempty"` + Extension string `json:"extension,omitempty"` + Action string `json:"action"` + LocaleID string `json:"locale_id,omitempty"` + SpaceID string `json:"space_id,omitempty"` + EnvID string `json:"env_id,omitempty"` + CollectionID string `json:"collection_id,omitempty"` + ItemID string `json:"item_id,omitempty"` + ItemIDs []string `json:"item_ids,omitempty"` + Fields []string `json:"fields,omitempty"` + Metadata map[string]string `json:"metadata,omitempty"` + Refs []*references.Reference `json:"refs,omitempty"` + Params *references.Reference `json:"params,omitempty"` + UserPreferences *UserPreferences `json:"user,omitempty"` } ActionResponse struct { @@ -141,6 +149,17 @@ func ActionRequestToPB(req *ActionRequest) *pb.ActionRequest { if req == nil { return nil } + + var userPref *pb.ActionRequest_UserPreferences + if req.UserPreferences != nil { + userPref = &pb.ActionRequest_UserPreferences{ + Timezone: req.UserPreferences.Timezone, + Locale: req.UserPreferences.Locale, + Theme: req.UserPreferences.Theme, + Agent: req.UserPreferences.Agent, + } + } + return &pb.ActionRequest{ Extension: req.Extension, Action: req.Action, @@ -154,6 +173,7 @@ func ActionRequestToPB(req *ActionRequest) *pb.ActionRequest { Metadata: req.Metadata, Refs: references.ReferenceListToPB(req.Refs), Params: references.ReferenceToPB(req.Params), + User: userPref, } } @@ -161,19 +181,31 @@ func ActionRequestFromPB(req *pb.ActionRequest) *ActionRequest { if req == nil { return nil } + + var userPref *UserPreferences + if req.User != nil { + userPref = &UserPreferences{ + Timezone: req.User.Timezone, + Locale: req.User.Locale, + Theme: req.User.Theme, + Agent: req.User.Agent, + } + } + return &ActionRequest{ - Extension: req.Extension, - Action: req.Action, - LocaleID: req.LocaleId, - SpaceID: req.SpaceId, - EnvID: req.EnvId, - CollectionID: req.CollectionId, - ItemID: req.ItemId, - ItemIDs: req.ItemIds, - Fields: req.Fields, - Metadata: req.Metadata, - Refs: references.ReferenceListFromPB(req.Refs), - Params: references.ReferenceFromPB(req.Params), + Extension: req.Extension, + Action: req.Action, + LocaleID: req.LocaleId, + SpaceID: req.SpaceId, + EnvID: req.EnvId, + CollectionID: req.CollectionId, + ItemID: req.ItemId, + ItemIDs: req.ItemIds, + Fields: req.Fields, + Metadata: req.Metadata, + Refs: references.ReferenceListFromPB(req.Refs), + Params: references.ReferenceFromPB(req.Params), + UserPreferences: userPref, } } func ActionResponseToPB(out *ActionResponse) *pb.ActionResponse { diff --git a/pkg/extension/action_test.go b/pkg/extension/action_test.go index d714a399..16e6897c 100644 --- a/pkg/extension/action_test.go +++ b/pkg/extension/action_test.go @@ -13,7 +13,7 @@ func TestActionToProto(t *testing.T) { var pbAction *pb.Action err := gofakeit.Struct(&pbAction) require.NoError(t, err) - + action := ActionFromPB(pbAction) result := ActionToPB(action) require.Equal(t, pbAction, result) @@ -52,7 +52,18 @@ func TestActionRequestToProto(t *testing.T) { var pbAction *pb.ActionRequest err := gofakeit.Struct(&pbAction) require.NoError(t, err) - + + action := ActionRequestFromPB(pbAction) + result := ActionRequestToPB(action) + require.Equal(t, pbAction, result) + }) + + t.Run("User is nil", func(t *testing.T) { + var pbAction *pb.ActionRequest + err := gofakeit.Struct(&pbAction) + require.NoError(t, err) + + pbAction.User = nil action := ActionRequestFromPB(pbAction) result := ActionRequestToPB(action) require.Equal(t, pbAction, result) @@ -71,12 +82,12 @@ func TestActionResponseToProto(t *testing.T) { var pbAction *pb.ActionResponse err := gofakeit.Struct(&pbAction) require.NoError(t, err) - + action := ActionResponseFromPB(pbAction) result := ActionResponseToPB(action) require.Equal(t, pbAction, result) }) - + t.Run("Action is nil", func(t *testing.T) { var pbAction *pb.ActionResponse action := ActionResponseFromPB(pbAction) diff --git a/proto/extensions/extension.pb.go b/proto/extensions/extension.pb.go index 49bd7845..1955e2cc 100644 --- a/proto/extensions/extension.pb.go +++ b/proto/extensions/extension.pb.go @@ -498,7 +498,8 @@ type ActionRequest struct { Refs []*references.Reference `protobuf:"bytes,11010,rep,name=refs,proto3" json:"refs,omitempty"` // Ссылка на документ с параметрами выполнения Action. // Чтобы при выполнении действия открывалась форма параметров, необходимо указать `Action.params_collection` - Params *references.Reference `protobuf:"bytes,11020,opt,name=params,proto3" json:"params,omitempty"` + Params *references.Reference `protobuf:"bytes,11020,opt,name=params,proto3" json:"params,omitempty"` + User *ActionRequest_UserPreferences `protobuf:"bytes,11030,opt,name=user,proto3" json:"user,omitempty"` } func (x *ActionRequest) Reset() { @@ -615,6 +616,83 @@ func (x *ActionRequest) GetParams() *references.Reference { return nil } +func (x *ActionRequest) GetUser() *ActionRequest_UserPreferences { + if x != nil { + return x.User + } + return nil +} + +// Параметры запроса пользователя +type ActionRequest_UserPreferences struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Timezone string `protobuf:"bytes,1000,opt,name=timezone,proto3" json:"timezone,omitempty"` // Timezone в формате IANA. Пример: "Europe/Moscow", "America/New_York" https://en.wikipedia.org/wiki/List_of_tz_database_time_zones + Locale string `protobuf:"bytes,1020,opt,name=locale,proto3" json:"locale,omitempty"` // Текущая локаль пользователя в UI + Theme string `protobuf:"bytes,1030,opt,name=theme,proto3" json:"theme,omitempty"` // Текущая тема пользователя в UI + Agent string `protobuf:"bytes,1040,opt,name=agent,proto3" json:"agent,omitempty"` // Браузера или приложение пользователя +} + +func (x *ActionRequest_UserPreferences) Reset() { + *x = ActionRequest_UserPreferences{} + mi := &file_extensions_extension_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ActionRequest_UserPreferences) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ActionRequest_UserPreferences) ProtoMessage() {} + +func (x *ActionRequest_UserPreferences) ProtoReflect() protoreflect.Message { + mi := &file_extensions_extension_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ActionRequest_UserPreferences.ProtoReflect.Descriptor instead. +func (*ActionRequest_UserPreferences) Descriptor() ([]byte, []int) { + return file_extensions_extension_proto_rawDescGZIP(), []int{1, 1} +} + +func (x *ActionRequest_UserPreferences) GetTimezone() string { + if x != nil { + return x.Timezone + } + return "" +} + +func (x *ActionRequest_UserPreferences) GetLocale() string { + if x != nil { + return x.Locale + } + return "" +} + +func (x *ActionRequest_UserPreferences) GetTheme() string { + if x != nil { + return x.Theme + } + return "" +} + +func (x *ActionRequest_UserPreferences) GetAgent() string { + if x != nil { + return x.Agent + } + return "" +} + var File_extensions_extension_proto protoreflect.FileDescriptor var file_extensions_extension_proto_rawDesc = []byte{ @@ -680,7 +758,7 @@ var file_extensions_extension_proto_rawDesc = []byte{ 0x44, 0x44, 0x45, 0x4e, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x4d, 0x41, 0x49, 0x4e, 0x5f, 0x4d, 0x45, 0x4e, 0x55, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x4d, 0x41, 0x49, 0x4e, 0x5f, 0x4d, 0x45, 0x4e, 0x55, 0x5f, 0x42, 0x4f, 0x54, - 0x54, 0x4f, 0x4d, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x10, 0x03, 0x22, 0xfd, 0x03, 0x0a, 0x0d, 0x41, + 0x54, 0x4f, 0x4d, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x10, 0x03, 0x22, 0xb4, 0x05, 0x0a, 0x0d, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xe8, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x06, 0x61, @@ -708,22 +786,33 @@ var file_extensions_extension_proto_rawDesc = []byte{ 0x04, 0x72, 0x65, 0x66, 0x73, 0x12, 0x36, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x8c, 0x56, 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, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x3b, 0x0a, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x3e, 0x0a, + 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x96, 0x56, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 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, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 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, 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, 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, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x75, 0x0a, 0x0f, 0x55, 0x73, + 0x65, 0x72, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x1b, 0x0a, + 0x08, 0x74, 0x69, 0x6d, 0x65, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xe8, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x7a, 0x6f, 0x6e, 0x65, 0x12, 0x17, 0x0a, 0x06, 0x6c, 0x6f, + 0x63, 0x61, 0x6c, 0x65, 0x18, 0xfc, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x6f, 0x63, + 0x61, 0x6c, 0x65, 0x12, 0x15, 0x0a, 0x05, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x18, 0x86, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x12, 0x15, 0x0a, 0x05, 0x61, 0x67, + 0x65, 0x6e, 0x74, 0x18, 0x90, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x67, 0x65, 0x6e, + 0x74, 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, 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 ( @@ -739,31 +828,33 @@ func file_extensions_extension_proto_rawDescGZIP() []byte { } var file_extensions_extension_proto_enumTypes = make([]protoimpl.EnumInfo, 3) -var file_extensions_extension_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_extensions_extension_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_extensions_extension_proto_goTypes = []any{ - (Target)(0), // 0: extensions.Target - (Action_Kind)(0), // 1: extensions.Action.Kind - (Action_View)(0), // 2: extensions.Action.View - (*Action)(nil), // 3: extensions.Action - (*ActionRequest)(nil), // 4: extensions.ActionRequest - nil, // 5: extensions.ActionRequest.MetadataEntry - (*references.Reference)(nil), // 6: content.references.Reference + (Target)(0), // 0: extensions.Target + (Action_Kind)(0), // 1: extensions.Action.Kind + (Action_View)(0), // 2: extensions.Action.View + (*Action)(nil), // 3: extensions.Action + (*ActionRequest)(nil), // 4: extensions.ActionRequest + nil, // 5: extensions.ActionRequest.MetadataEntry + (*ActionRequest_UserPreferences)(nil), // 6: extensions.ActionRequest.UserPreferences + (*references.Reference)(nil), // 7: content.references.Reference } var file_extensions_extension_proto_depIdxs = []int32{ - 0, // 0: extensions.Action.target:type_name -> extensions.Target - 6, // 1: extensions.Action.image:type_name -> content.references.Reference - 1, // 2: extensions.Action.kind:type_name -> extensions.Action.Kind - 6, // 3: extensions.Action.refs:type_name -> content.references.Reference - 4, // 4: extensions.Action.request:type_name -> extensions.ActionRequest - 2, // 5: extensions.Action.view:type_name -> extensions.Action.View - 5, // 6: extensions.ActionRequest.metadata:type_name -> extensions.ActionRequest.MetadataEntry - 6, // 7: extensions.ActionRequest.refs:type_name -> content.references.Reference - 6, // 8: extensions.ActionRequest.params:type_name -> content.references.Reference - 9, // [9:9] is the sub-list for method output_type - 9, // [9:9] is the sub-list for method input_type - 9, // [9:9] is the sub-list for extension type_name - 9, // [9:9] is the sub-list for extension extendee - 0, // [0:9] is the sub-list for field type_name + 0, // 0: extensions.Action.target:type_name -> extensions.Target + 7, // 1: extensions.Action.image:type_name -> content.references.Reference + 1, // 2: extensions.Action.kind:type_name -> extensions.Action.Kind + 7, // 3: extensions.Action.refs:type_name -> content.references.Reference + 4, // 4: extensions.Action.request:type_name -> extensions.ActionRequest + 2, // 5: extensions.Action.view:type_name -> extensions.Action.View + 5, // 6: extensions.ActionRequest.metadata:type_name -> extensions.ActionRequest.MetadataEntry + 7, // 7: extensions.ActionRequest.refs:type_name -> content.references.Reference + 7, // 8: extensions.ActionRequest.params:type_name -> content.references.Reference + 6, // 9: extensions.ActionRequest.user:type_name -> extensions.ActionRequest.UserPreferences + 10, // [10:10] is the sub-list for method output_type + 10, // [10:10] is the sub-list for method input_type + 10, // [10:10] is the sub-list for extension type_name + 10, // [10:10] is the sub-list for extension extendee + 0, // [0:10] is the sub-list for field type_name } func init() { file_extensions_extension_proto_init() } @@ -777,7 +868,7 @@ func file_extensions_extension_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_extensions_extension_proto_rawDesc, NumEnums: 3, - NumMessages: 3, + NumMessages: 4, NumExtensions: 0, NumServices: 0, }, -- GitLab