diff --git a/perxis-proto b/perxis-proto index f000812a1eef24093c0d0abf1318e3179b679773..3459e1839d2a65bff0ca681b50670f4829b9546b 160000 --- a/perxis-proto +++ b/perxis-proto @@ -1 +1 @@ -Subproject commit f000812a1eef24093c0d0abf1318e3179b679773 +Subproject commit 3459e1839d2a65bff0ca681b50670f4829b9546b diff --git a/pkg/environments/options.go b/pkg/environments/options.go index 02f1a1fea3229ccfe702401c2dfa06e5094d9671..e92919312c109ac6699124c1cc15c30fc7ee0acc 100644 --- a/pkg/environments/options.go +++ b/pkg/environments/options.go @@ -2,8 +2,11 @@ package environments type MigrateOptions struct { - // Ожидать завершения миграции в синхронном режиме + // Deprecated - миграция по умолчанию выполняется синхронно Wait bool + + // Async - запустить миграцию в асинхронном режиме + Async bool } func MergeMigrateOptions(opts ...*MigrateOptions) *MigrateOptions { @@ -12,6 +15,9 @@ func MergeMigrateOptions(opts ...*MigrateOptions) *MigrateOptions { if opt.Wait { o.Wait = true } + if opt.Async { + o.Async = true + } } return o } diff --git a/pkg/environments/transport/grpc/protobuf_type_converters.microgen.go b/pkg/environments/transport/grpc/protobuf_type_converters.microgen.go index cb9ee820f529f6ae1389415735dccbcdcd1bfee5..fc48a7df17300fecc73e0715821e9005cf394455 100644 --- a/pkg/environments/transport/grpc/protobuf_type_converters.microgen.go +++ b/pkg/environments/transport/grpc/protobuf_type_converters.microgen.go @@ -88,12 +88,12 @@ func ProtoToListPtrEnvironment(protoEnvs []*pb.Environment) ([]*service.Environm func ElPtrMigrateOptionsToProto(options []*service.MigrateOptions) (*pb.MigrateOptions, error) { opts := service.MergeMigrateOptions(options...) - return &pb.MigrateOptions{Wait: opts.Wait}, nil + return &pb.MigrateOptions{Wait: opts.Wait, Async: opts.Async}, nil } func ProtoToElPtrMigrateOptions(protoOptions *pb.MigrateOptions) ([]*service.MigrateOptions, error) { if protoOptions == nil { return nil, nil } - return []*service.MigrateOptions{{Wait: protoOptions.Wait}}, nil + return []*service.MigrateOptions{{Wait: protoOptions.Wait, Async: protoOptions.Async}}, nil } diff --git a/proto/clients/clients.pb.go b/proto/clients/clients.pb.go index b9b1cea0655d744c267d3aeeb2b816a4c6451d12..4c75762d6119e199e3113a4086a198f102ef09aa 100644 --- a/proto/clients/clients.pb.go +++ b/proto/clients/clients.pb.go @@ -1,7 +1,7 @@ // 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: clients/clients.proto package clients @@ -35,11 +35,12 @@ type Client struct { // Описание клиента, назначение Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"` // Приложение отключено и не может авторизоваться - Disabled *bool `protobuf:"varint,7,opt,name=disabled,proto3,oneof" json:"disabled,omitempty"` - RoleId string `protobuf:"bytes,8,opt,name=role_id,json=roleId,proto3" json:"role_id,omitempty"` - Oauth *Client_OAuth `protobuf:"bytes,10,opt,name=oauth,proto3" json:"oauth,omitempty"` - Tls *Client_TLS `protobuf:"bytes,11,opt,name=tls,proto3" json:"tls,omitempty"` - ApiKey *Client_APIKey `protobuf:"bytes,12,opt,name=api_key,json=apiKey,proto3" json:"api_key,omitempty"` + Disabled *bool `protobuf:"varint,7,opt,name=disabled,proto3,oneof" json:"disabled,omitempty"` + // Идентификатор роли клиента + RoleId string `protobuf:"bytes,8,opt,name=role_id,json=roleId,proto3" json:"role_id,omitempty"` + Oauth *Client_OAuth `protobuf:"bytes,10,opt,name=oauth,proto3" json:"oauth,omitempty"` + Tls *Client_TLS `protobuf:"bytes,11,opt,name=tls,proto3" json:"tls,omitempty"` + ApiKey *Client_APIKey `protobuf:"bytes,12,opt,name=api_key,json=apiKey,proto3" json:"api_key,omitempty"` } func (x *Client) Reset() { diff --git a/proto/clients/clients_grpc.pb.go b/proto/clients/clients_grpc.pb.go index f442fc157b74957f29c2559b616154fb7167abe4..9b701db881a10acc1021de4e49cbf3b5ff4acd8a 100644 --- a/proto/clients/clients_grpc.pb.go +++ b/proto/clients/clients_grpc.pb.go @@ -1,7 +1,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: clients/clients.proto package clients diff --git a/proto/collections/collections.pb.go b/proto/collections/collections.pb.go index 9c70451d3ba2ea24fad8b403a27564d426b89594..71712728599d799f2bbeb975196a8fc75b77e042 100644 --- a/proto/collections/collections.pb.go +++ b/proto/collections/collections.pb.go @@ -1,7 +1,7 @@ // 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: collections/collections.proto package collections @@ -154,19 +154,23 @@ type Collection struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - SpaceId string `protobuf:"bytes,2,opt,name=space_id,json=spaceId,proto3" json:"space_id,omitempty"` - EnvId string `protobuf:"bytes,3,opt,name=env_id,json=envId,proto3" json:"env_id,omitempty"` - Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` - Single *bool `protobuf:"varint,5,opt,name=single,proto3,oneof" json:"single,omitempty"` - System *bool `protobuf:"varint,6,opt,name=system,proto3,oneof" json:"system,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + SpaceId string `protobuf:"bytes,2,opt,name=space_id,json=spaceId,proto3" json:"space_id,omitempty"` + EnvId string `protobuf:"bytes,3,opt,name=env_id,json=envId,proto3" json:"env_id,omitempty"` + Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` + // Коллекция может содержать ровно одну запись. При работе с записью в такой коллекции идентификатор записи в + // обращениях в API можно не указывать и предполагать, что запись всегда есть (ее не нужно создавать) + Single *bool `protobuf:"varint,5,opt,name=single,proto3,oneof" json:"single,omitempty"` + System *bool `protobuf:"varint,6,opt,name=system,proto3,oneof" json:"system,omitempty"` + // Коллекция не содержит данных. Возможно создание таких коллекций для использования как подключаемые подсхемы в + // других коллекциях NoData *bool `protobuf:"varint,12,opt,name=no_data,json=noData,proto3,oneof" json:"no_data,omitempty"` Schema string `protobuf:"bytes,7,opt,name=schema,proto3" json:"schema,omitempty"` Hidden bool `protobuf:"varint,13,opt,name=hidden,proto3" json:"hidden,omitempty"` View *Collection_View `protobuf:"bytes,9,opt,name=view,proto3" json:"view,omitempty"` StateInfo *Collection_StateInfo `protobuf:"bytes,10,opt,name=state_info,json=stateInfo,proto3" json:"state_info,omitempty"` Tags []string `protobuf:"bytes,16,rep,name=tags,proto3" json:"tags,omitempty"` - Access *Access `protobuf:"bytes,20,opt,name=access,proto3" json:"access,omitempty"` + Access *Access `protobuf:"bytes,20,opt,name=access,proto3" json:"access,omitempty"` // Возможные действия с коллекцией на основе контекста запроса } func (x *Collection) Reset() { diff --git a/proto/collections/collections_grpc.pb.go b/proto/collections/collections_grpc.pb.go index 824303740bd9b178f09b627052dbf464b75a3d95..eef27369eed0b0501ee45365e6195e4c52ea85c5 100644 --- a/proto/collections/collections_grpc.pb.go +++ b/proto/collections/collections_grpc.pb.go @@ -1,7 +1,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: collections/collections.proto package collections @@ -32,11 +32,25 @@ const ( // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. type CollectionsClient interface { + // Создать коллекцию. Установка схемы производится через отдельный метод `SetSchema` и методом `Create` игнорируется Create(ctx context.Context, in *CreateRequest, opts ...grpc.CallOption) (*CreateResponse, error) + // Получить коллекцию. Схема коллекции возвращается полная, т.е. включая все подключаемые подсхемы, если не указано + // обратное в `GetRequest.options` Get(ctx context.Context, in *GetRequest, opts ...grpc.CallOption) (*GetResponse, error) + // Возвращает список коллекций, отсортированных в алфавитном порядке. По умолчанию не возвращает коллекции без данных + // и скрытые коллекции, подробнее см. `ListRequest.filter` List(ctx context.Context, in *ListRequest, opts ...grpc.CallOption) (*ListResponse, error) + // Обновить коллекцию. Установка схемы производится через отдельный метод `SetSchema` и методом `Update` игнорируется Update(ctx context.Context, in *UpdateRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + // Установить схему коллекции. По результатам вызова метода не происходит *применение* схемы - например, + // не перестраиваются индексы БД коллекции, поскольку это может быть длительный процесс. После редактирования всех + // необходимых схем окружения необходимо их применить - выполнить миграцию путем вызова метода `Environments.Migrate`. + // Если схема коллекции изменена, но миграция еще не была запущена, коллекция будет находиться в состоянии `CHANGED`. + // + // Если в процессе миграции возникли ошибки, в соответствующие коллекции в поле `Collection.state_info` будет записано + // содержание ошибки и установлено состояние `ERROR` SetSchema(ctx context.Context, in *SetSchemaRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + // Удалить коллекцию Delete(ctx context.Context, in *DeleteRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) } @@ -106,11 +120,25 @@ func (c *collectionsClient) Delete(ctx context.Context, in *DeleteRequest, opts // All implementations must embed UnimplementedCollectionsServer // for forward compatibility type CollectionsServer interface { + // Создать коллекцию. Установка схемы производится через отдельный метод `SetSchema` и методом `Create` игнорируется Create(context.Context, *CreateRequest) (*CreateResponse, error) + // Получить коллекцию. Схема коллекции возвращается полная, т.е. включая все подключаемые подсхемы, если не указано + // обратное в `GetRequest.options` Get(context.Context, *GetRequest) (*GetResponse, error) + // Возвращает список коллекций, отсортированных в алфавитном порядке. По умолчанию не возвращает коллекции без данных + // и скрытые коллекции, подробнее см. `ListRequest.filter` List(context.Context, *ListRequest) (*ListResponse, error) + // Обновить коллекцию. Установка схемы производится через отдельный метод `SetSchema` и методом `Update` игнорируется Update(context.Context, *UpdateRequest) (*emptypb.Empty, error) + // Установить схему коллекции. По результатам вызова метода не происходит *применение* схемы - например, + // не перестраиваются индексы БД коллекции, поскольку это может быть длительный процесс. После редактирования всех + // необходимых схем окружения необходимо их применить - выполнить миграцию путем вызова метода `Environments.Migrate`. + // Если схема коллекции изменена, но миграция еще не была запущена, коллекция будет находиться в состоянии `CHANGED`. + // + // Если в процессе миграции возникли ошибки, в соответствующие коллекции в поле `Collection.state_info` будет записано + // содержание ошибки и установлено состояние `ERROR` SetSchema(context.Context, *SetSchemaRequest) (*emptypb.Empty, error) + // Удалить коллекцию Delete(context.Context, *DeleteRequest) (*emptypb.Empty, error) mustEmbedUnimplementedCollectionsServer() } diff --git a/proto/environments/environments.pb.go b/proto/environments/environments.pb.go index fdae1371c354aa97141b6f23598730e3656c9fd0..cec837936e68784f4edc1615f8139194fb1e7027 100644 --- a/proto/environments/environments.pb.go +++ b/proto/environments/environments.pb.go @@ -1,7 +1,7 @@ // 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: environments/environments.proto package environments @@ -871,7 +871,8 @@ type MigrateOptions struct { // Ожидать завершения миграции в синхронном режиме. Если в запрос передан контекст с таймаутом, // то после истечения таймаута миграция продолжится в асинхронном режиме - Wait bool `protobuf:"varint,1,opt,name=wait,proto3" json:"wait,omitempty"` + Wait bool `protobuf:"varint,1,opt,name=wait,proto3" json:"wait,omitempty"` // Deprecated - миграция по умолчанию выполняется синхронно + Async bool `protobuf:"varint,2,opt,name=async,proto3" json:"async,omitempty"` // Выполнить миграцию в асинхронном режиме } func (x *MigrateOptions) Reset() { @@ -913,6 +914,13 @@ func (x *MigrateOptions) GetWait() bool { return false } +func (x *MigrateOptions) GetAsync() bool { + if x != nil { + return x.Async + } + return false +} + var File_environments_environments_proto protoreflect.FileDescriptor var file_environments_environments_proto_rawDesc = []byte{ @@ -1009,54 +1017,55 @@ var file_environments_environments_proto_rawDesc = []byte{ 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x24, 0x0a, 0x0e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x4f, + 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x3a, 0x0a, 0x0e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x77, 0x61, 0x69, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x77, 0x61, 0x69, 0x74, 0x32, 0x81, 0x05, 0x0a, 0x0c, 0x45, - 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x55, 0x0a, 0x06, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x23, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, - 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x20, 0x2e, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x2e, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, - 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x63, 0x6f, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x77, 0x61, 0x69, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x73, + 0x79, 0x6e, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x61, 0x73, 0x79, 0x6e, 0x63, + 0x32, 0x81, 0x05, 0x0a, 0x0c, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x12, 0x55, 0x0a, 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x23, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x4f, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x21, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x2e, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x47, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x23, 0x2e, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x08, 0x53, 0x65, - 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x25, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x2e, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x53, 0x65, - 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x0b, 0x52, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x28, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x2e, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x06, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x12, 0x23, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x65, - 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, - 0x79, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x07, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x12, 0x24, + 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x24, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x65, 0x6e, 0x76, 0x69, 0x72, + 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, + 0x20, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, + 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x21, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x65, 0x6e, 0x76, 0x69, + 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x21, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x42, 0x3e, - 0x5a, 0x3c, 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, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x3b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x22, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x65, 0x6e, 0x76, 0x69, + 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x12, 0x23, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x65, 0x6e, 0x76, 0x69, + 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, + 0x12, 0x4b, 0x0a, 0x08, 0x53, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x25, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x2e, 0x53, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x51, 0x0a, + 0x0b, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x28, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, + 0x12, 0x47, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x23, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x07, 0x4d, 0x69, 0x67, + 0x72, 0x61, 0x74, 0x65, 0x12, 0x24, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x65, + 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x4d, 0x69, 0x67, 0x72, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x22, 0x00, 0x42, 0x3e, 0x5a, 0x3c, 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, 0x6e, 0x76, 0x69, 0x72, + 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x3b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/proto/environments/environments_grpc.pb.go b/proto/environments/environments_grpc.pb.go index 6679d70738a62e277e9c41c6bd237246d7b88e76..0ccbe114f6bdfd02aeb9aed7c016a62d807f935a 100644 --- a/proto/environments/environments_grpc.pb.go +++ b/proto/environments/environments_grpc.pb.go @@ -1,7 +1,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: environments/environments.proto package environments @@ -41,6 +41,13 @@ type EnvironmentsClient interface { SetAlias(ctx context.Context, in *SetAliasRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) RemoveAlias(ctx context.Context, in *RemoveAliasRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) Delete(ctx context.Context, in *DeleteRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + // Выполнить миграцию окружения. По умолчанию выполняется в асинхронном режиме, для синхронного выполнения можно + // передать соответствующую настройку в опциях `MigrateRequest.options` + // + // При вызове миграции: + // - выполняются миграции для всех коллекций окружения + // + // В случае возникновения ошибок миграции они записываются в поле `Environment.state` Migrate(ctx context.Context, in *MigrateRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) } @@ -135,6 +142,13 @@ type EnvironmentsServer interface { SetAlias(context.Context, *SetAliasRequest) (*emptypb.Empty, error) RemoveAlias(context.Context, *RemoveAliasRequest) (*emptypb.Empty, error) Delete(context.Context, *DeleteRequest) (*emptypb.Empty, error) + // Выполнить миграцию окружения. По умолчанию выполняется в асинхронном режиме, для синхронного выполнения можно + // передать соответствующую настройку в опциях `MigrateRequest.options` + // + // При вызове миграции: + // - выполняются миграции для всех коллекций окружения + // + // В случае возникновения ошибок миграции они записываются в поле `Environment.state` Migrate(context.Context, *MigrateRequest) (*emptypb.Empty, error) mustEmbedUnimplementedEnvironmentsServer() } diff --git a/proto/extensions/extension.pb.go b/proto/extensions/extension.pb.go index ffeb45ce3549c26d76aea4ac2bb997fb76e4e46d..23120cb2360e06a7b62529ff92183044efebe791 100644 --- a/proto/extensions/extension.pb.go +++ b/proto/extensions/extension.pb.go @@ -10,8 +10,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/extension.proto package extensions @@ -978,20 +978,20 @@ 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 @@ -1027,6 +1027,7 @@ type Action struct { // - :envId // - :colId // - :itemId + // NavigationRoute string `protobuf:"bytes,10510,opt,name=navigation_route,json=navigationRoute,proto3" json:"navigation_route,omitempty"` } diff --git a/proto/extensions/extension_grpc.pb.go b/proto/extensions/extension_grpc.pb.go index 2d19448ba786db2501c69cf31b34cb8c91de714b..550f0bdfada581863151e88ec94e4732d9a94508 100644 --- a/proto/extensions/extension_grpc.pb.go +++ b/proto/extensions/extension_grpc.pb.go @@ -11,7 +11,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/extension.proto package extensions @@ -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. // // Приложения так же могут использовать действия для вызова обработки в других приложениях при // необходимости.