diff --git a/proto/extensions/manager_service.proto b/proto/extensions/manager_service.proto index a85bde685fc633051564d36dcace24088a683e1f..6f4f6751adaa10e0b760a212d08119d18980c9a5 100644 --- a/proto/extensions/manager_service.proto +++ b/proto/extensions/manager_service.proto @@ -50,23 +50,33 @@ service ExtensionManagerService { rpc UnregisterExtensions(UnregisterExtensionsRequest) returns (UnregisterExtensionsResponse) {} // Получить СЃРїРёСЃРѕРє зарегистрированных сервисов - rpc ListExtensions(ListExtensionsRequest) returns (ListExtensionsResponse) {} // Получить СЃРїРёСЃРѕРє сервисов + rpc ListRegisteredExtensions(ListRegisteredExtensionsRequest) returns (ListRegisteredExtensionsResponse) {} // Получить СЃРїРёСЃРѕРє сервисов - // GetInstalledExtensions - получить статус расширения - rpc GetInstalledExtensions(GetInstalledExtensionsRequest) returns (GetInstalledExtensionsResponse) {} // Получить описание сервиса + // ListExtensions - получить статус расширения + rpc ListExtensions(ListExtensionsRequest) returns (ListExtensionsResponse) {} // Получить описание сервиса } -// GetInstalledExtensionsRequest - запрос РЅР° получение статуса расширений РІ пространстве Рё окружении. +// ListExtensionsRequest - запрос РЅР° получение статуса расширений РІ пространстве Рё окружении. // Если СЃРїРёСЃРѕРє расширений РІ запросе РЅРµ передан, возвращаются РІСЃРµ установленные расширения -message GetInstalledExtensionsRequest { - repeated string extensions = 1; // РРјСЏ расширения +// +// Рспользование флагов `installed`/`uninstalled`: +// - если РІ ListExtensionsRequest.extensions передан СЃРїРёСЃРѕРє расширений, то флаги игнорируются +// Рё возвращается информация Рѕ переданных РІ запросе расширениях +// - `installed:false, uninstalled:false` (равноценно `installed:true, uninstalled:false`) - +// возвращается информация РѕР± установленных расширениях +// - `installed:false, uninstalled:true` - вернуть только зарегистрированные, РЅРѕ РЅРµ установленные расширения +// - `installed:true, uninstalled:true` - вернуть информацию Рѕ всех зарегистрированных расширениях +message ListExtensionsRequest { + repeated string extensions = 1; // РРјСЏ расширения (опционально), regexp string space_id = 2; // Пространство имен расширения string env_id = 3; // Рдентификатор окружения + bool installed = 4; // Вернуть установленные расширения (РїРѕ умолчанию) + bool uninstalled = 5; // Вернуть неустановленные расширения } // GetExtensionResponse - описание расширения -message GetInstalledExtensionsResponse { - message Status { +message ListExtensionsResponse { + message ExtensionInfo { string extension = 10100; // РРјСЏ расширения string title = 10110; State state = 10120; @@ -78,7 +88,7 @@ message GetInstalledExtensionsResponse { string installed_version = 10510; // Установленная версия расширения string available_version = 10520; // Доступная версия расширения } - repeated Status status = 1; + repeated ExtensionInfo extensions = 1; } // ExtensionDescriptor описание расширения (возвращается сервисом РїСЂРё регистрации) @@ -111,11 +121,11 @@ message ListExtensionsFilter { // repeated string action = 2; // РЎРїРёСЃРѕРє действий обрабатываемых сервисами. РЎРїРёСЃРѕРє может содержать регулярные выражения. } -message ListExtensionsRequest { +message ListRegisteredExtensionsRequest { ListExtensionsFilter filter = 1; } -message ListExtensionsResponse { +message ListRegisteredExtensionsResponse { repeated ExtensionDescriptor extensions = 1; }