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

[Доработки] Изменение API расширений: поддержка длительных операций

parent d394a1e5
No related branches found
No related tags found
1 merge request!19Добавлены longtime operation. Добавлено описание сервиса OperationService и ExtensionService
......@@ -21,4 +21,4 @@ message GetOperationRequest {
message CancelOperationRequest {
string operation_id = 1 [(required) = true];
}
\ No newline at end of file
}
......@@ -60,9 +60,8 @@ service ExtensionService {
message InstallRequest {
repeated string extensions = 10000; // Список расширений для установки
string space_id = 10010; // Пространство для установки расширений
string env_id = 10020; // Идентификатор окружения для установки (по умолчанию master)
string env_id = 10020; // Идентификатор окружения для установки
bool force = 10100; // Устанавливать расширения вне зависимости от возможных ошибок
bool update = 10200; // Установить обновления расширений
}
// UninstallRequest - запрос на удаление расширений
......@@ -70,11 +69,10 @@ message UninstallRequest {
repeated string extensions = 10000; // Список расширений для удаления
string space_id = 10010; // Пространство для удаления расширений
string env_id = 10020; // Идентификатор окружения для установки (по умолчанию master)
bool remove = 10100; // Удалить изменения сделанные расширением в пространстве, если возможно
bool remove = 10100; // Удалить сделанные расширением изменения в пространстве, если возможно
bool force = 10200; // Удалять расширения вне зависимости от возможных ошибок, без учета зависимостей
}
// CheckRequest - запрос на проверку статуса установки расширений
message CheckRequest {
repeated string extensions = 10000; // Список расширений для удаления
......
......@@ -35,16 +35,16 @@ package extensions;
service ExtensionManagerService {
// ## Регистрация расширений
//
// Регистрация\Дерегистрация происходить через сервис менеджера расширений (Extension Manager). В процессе регистрации сервис сообщает
// Регистрация\Дерегистрация происходит через сервис менеджера расширений (Extension Manager). В процессе регистрации сервис сообщает
// о поддерживаемых сервисом действиях (Actions) и версии сервиса и зависимостях:
// 1. Действия (Actions) - перечень действия которые обрабатываются сервисом. Включает в себя как системные действия,
// так и пользовательские, которые могут быть использованы в интерфейсе;
// ~~1. Действия (Actions) - перечень действия которые обрабатываются сервисом. Включает в себя как системные действия,
// так и пользовательские, которые могут быть использованы в интерфейсе;~~
// 2. Имя сервиса/расширения - название сервиса внутри системы;
// 3. Версия сервиса - сервис сообщает текущую версию сервиса. Контроллер сообщает пользователю о возможности обновления
// расширения при смене версии;
// 4. Описание версии - содержит информацию об изменениях в последних версиях расширения;
// 5. Зависимости - перечень расширений которые необходимы сервису для функционирования. При установке сервиса
// все расширения от которых он зависит, будут так же установлены.
// все расширения, от которых он зависит, будут также установлены.
rpc RegisterExtensions(RegisterExtensionsRequest) returns (RegisterExtensionsResponse) {}
rpc UnregisterExtensions(UnregisterExtensionsRequest) returns (UnregisterExtensionsResponse) {}
......@@ -52,23 +52,24 @@ service ExtensionManagerService {
// Получить список зарегистрированных сервисов
rpc ListExtensions(ListExtensionsRequest) returns (ListExtensionsResponse) {} // Получить список сервисов
// GetExtensionStatus - получить статус расширения
rpc GetExtensions(GetExtensionsRequest) returns (GetExtensionsResponse) {} // Получить описание сервиса
// GetInstalledExtensions - получить статус расширения
rpc GetInstalledExtensions(GetInstalledExtensionsRequest) returns (GetInstalledExtensionsResponse) {} // Получить описание сервиса
}
// GetExtensionRequest - запрос на получение статуса расширений в пространстве и окружении
message GetExtensionsRequest {
// GetInstalledExtensionsRequest - запрос на получение статуса расширений в пространстве и окружении.
// Если список расширений в запросе не передан, возвращаются все установленные расширения
message GetInstalledExtensionsRequest {
repeated string extensions = 1; // Имя расширения
string space_id = 2; // Пространство имен расширения
string env_id = 3; // Идентификатор окружения
}
// GetExtensionResponse - описание расширения
message GetExtensionsResponse {
message GetInstalledExtensionsResponse {
message Status {
string extension = 10100; // Имя расширения
string title = 10110;
State state = 10120;
string msg = 10200; // Сообщение
string error = 10300; // Ошибка (state == ERROR)
bool not_found = 10350; // Расширение не найдено
......@@ -80,7 +81,7 @@ message GetExtensionsResponse {
repeated Status status = 1;
}
// ServiceDescription описание расширения (возвращается сервисом при регистрации)
// ExtensionDescriptor описание расширения (возвращается сервисом при регистрации)
message ExtensionDescriptor {
string extension = 10000; // Имя расширения
string title = 10010; // Название расширения
......@@ -120,13 +121,15 @@ message ListExtensionsResponse {
// Описание коллекций
// space_extensions (Пространство/Расширения)
enum State {
PENDING = 0;
INSTALLED = 1;
IN_PROGRESS = 2;
FAIL = 3;
}
message SpaceExtensions {
enum State {
PENDING = 0;
INSTALLED = 1;
IN_PROGRESS = 2;
FAIL = 3;
}
string extension = 10000;
string title = 10010;
string version = 10100;
......@@ -134,4 +137,4 @@ message SpaceExtensions {
State state = 10300;
string status_error = 10400; // Сообщение к ошибке
string status_msg = 10500; // Сообщение к статусу
}
\ No newline at end of file
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment