Skip to content
Snippets Groups Projects
Commit 2ac64502 authored by Alena Petraki's avatar Alena Petraki
Browse files

При получении списка расширений поле `Info.Extension` устанавливается из...

При получении списка расширений поле `Info.Extension` устанавливается из данных записи: пустое поле означает, что коллекция `space_extensions` еще не была мигрирована
parent 4027a8e4
No related branches found
No related tags found
No related merge requests found
Subproject commit 606cf8070bc9a930cadd5117bf49cc119ff3a16e
Subproject commit 78539871cf2d9f6b187865c4855450143dec4e79
......@@ -45,6 +45,7 @@ func infoFromItem(extension string, item *items.Item) *Info {
d := item.Data
id, _ := d["id"].(string) // чтобы при получении списка расширений было возможно понять, что коллекция `space_extensions` еще не была мигрирована (v0.0.19)
title, _ := d["title"].(string)
state, _ := d["extension_state"].(int64)
ver, _ := d["version"].(string)
......@@ -52,7 +53,7 @@ func infoFromItem(extension string, item *items.Item) *Info {
errmsg, _ := d["status_error"].(string)
return &Info{
Extension: extension,
Extension: id,
Title: title,
State: State(state),
Msg: msg,
......
......@@ -108,9 +108,16 @@ type ListExtensionsRequest struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Extensions []string `protobuf:"bytes,1,rep,name=extensions,proto3" json:"extensions,omitempty"` // Имя расширения (опционально), regexp
// Имя расширения (опционально), regexp. Фильтр по расширениям является приоритетным
// относительно остальных фильтров - если в `ListExtensionsRequest.extensions` передано
// [ a, b, c ], то в `ListExtensionsResponse.extensions` вернется три элемента с информацией о
// каждом из расширений
Extensions []string `protobuf:"bytes,1,rep,name=extensions,proto3" json:"extensions,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"` // Идентификатор окружения
// Вернуть список расширений, которые находятся в одном из переданных состояний
// Если список состояний пустой, по умолчанию возвращаются расширения в любом состоянии,
// кроме NOT_INSTALLED
State []State `protobuf:"varint,4,rep,packed,name=state,proto3,enum=extensions.State" json:"state,omitempty"`
}
......@@ -174,7 +181,11 @@ func (x *ListExtensionsRequest) GetState() []State {
return nil
}
// ListExtensionsResponse - описание расширения
// ListExtensionsResponse - описание расширений. Результирующий список возвращается всегда
// в отсортированном виде:
// - Если `ListExtensionsRequest.extensions` пустой, то отсортированный по идентификатору расширения
// - Если `ListExtensionsRequest.extensions` заполнен, то возвращаются расширения в соответствующем
// запросу порядке
type ListExtensionsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
......
......@@ -72,7 +72,7 @@ type ExtensionManagerServiceClient interface {
UnregisterExtensions(ctx context.Context, in *UnregisterExtensionsRequest, opts ...grpc.CallOption) (*UnregisterExtensionsResponse, error)
// Получить список зарегистрированных сервисов
ListRegisteredExtensions(ctx context.Context, in *ListRegisteredExtensionsRequest, opts ...grpc.CallOption) (*ListRegisteredExtensionsResponse, error)
// ListExtensions - получить статус расширения
// ListExtensions - получить информацию о расширениях
ListExtensions(ctx context.Context, in *ListExtensionsRequest, opts ...grpc.CallOption) (*ListExtensionsResponse, error)
}
......@@ -140,7 +140,7 @@ type ExtensionManagerServiceServer interface {
UnregisterExtensions(context.Context, *UnregisterExtensionsRequest) (*UnregisterExtensionsResponse, error)
// Получить список зарегистрированных сервисов
ListRegisteredExtensions(context.Context, *ListRegisteredExtensionsRequest) (*ListRegisteredExtensionsResponse, error)
// ListExtensions - получить статус расширения
// ListExtensions - получить информацию о расширениях
ListExtensions(context.Context, *ListExtensionsRequest) (*ListExtensionsResponse, error)
mustEmbedUnimplementedExtensionManagerServiceServer()
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment