diff --git a/proto/clients/clients.proto b/proto/clients/clients.proto index c20c5d4cab1d94fa740458747c01ac0af52f66eb..8716932dbc68df7eb84e9af6c2c8b52a5ff09e12 100644 --- a/proto/clients/clients.proto +++ b/proto/clients/clients.proto @@ -36,12 +36,7 @@ message Client { // Приложение отключено Рё РЅРµ может авторизоваться optional bool disabled = 7; -// // Приложение имеет доступ Рє указанным окружениям пространства (ID или Alias) -// repeated string environments = 8; -// -// // РЎРїРёСЃРѕРє правил доступа Рє коллекциям -// repeated common.Rule rules = 9; - + // Рдентификатор роли клиента string role_id = 8; OAuth oauth = 10; diff --git a/proto/collections/collections.proto b/proto/collections/collections.proto index c182a944d666f00e4cd8588cd100d421f007a8b3..e7dd51fa9a8d481275997817fd60c47ccb472b65 100644 --- a/proto/collections/collections.proto +++ b/proto/collections/collections.proto @@ -20,8 +20,14 @@ message Collection { string space_id = 2; string env_id = 3; string name = 4; + + // Коллекция может содержать СЂРѕРІРЅРѕ РѕРґРЅСѓ запись. РџСЂРё работе СЃ записью РІ такой коллекции идентификатор записи РІ + // обращениях РІ API РјРѕР¶РЅРѕ РЅРµ указывать Рё предполагать, что запись всегда есть (ее РЅРµ РЅСѓР¶РЅРѕ создавать) optional bool single = 5; optional bool system = 6; + + // Коллекция РЅРµ содержит данных. Р’РѕР·РјРѕР¶РЅРѕ создание таких коллекций для использования как подключаемые подсхемы РІ + // РґСЂСѓРіРёС… коллекциях optional bool no_data = 12; string schema = 7; bool hidden = 13; @@ -49,7 +55,7 @@ message Collection { StateInfo state_info = 10; repeated string tags = 16; - Access access = 20; + Access access = 20; // Возможные действия СЃ коллекцией РЅР° РѕСЃРЅРѕРІРµ контекста запроса } message CreateRequest { @@ -110,10 +116,30 @@ message DeleteRequest { } service Collections { + + // Создать коллекцию. Установка схемы производится через отдельный метод `SetSchema` Рё методом `Create` игнорируется rpc Create(CreateRequest) returns(CreateResponse) {} + + // Получить коллекцию. Схема коллекции возвращается полная, С‚.Рµ. включая РІСЃРµ подключаемые подсхемы, если РЅРµ указано + // обратное РІ `GetRequest.options` rpc Get(GetRequest) returns(GetResponse) {} + + // Возвращает СЃРїРёСЃРѕРє коллекций, отсортированных РІ алфавитном РїРѕСЂСЏРґРєРµ. РџРѕ умолчанию РЅРµ возвращает коллекции без данных + // Рё скрытые коллекции, подробнее СЃРј. `ListRequest.filter` rpc List(ListRequest) returns(ListResponse) {} + + // Обновить коллекцию. Установка схемы производится через отдельный метод `SetSchema` Рё методом `Update` игнорируется rpc Update(UpdateRequest) returns(google.protobuf.Empty) {} + + // Установить схему коллекции. РџРѕ результатам вызова метода РЅРµ РїСЂРѕРёСЃС…РѕРґРёС‚ *применение* схемы - например, + // РЅРµ перестраиваются индексы БД коллекции, поскольку это может быть длительный процесс. После редактирования всех + // необходимых схем окружения необходимо РёС… применить - выполнить миграцию путем вызова метода `Environments.Migrate`. + // Если схема коллекции изменена, РЅРѕ миграция еще РЅРµ была запущена, коллекция будет находиться РІ состоянии `CHANGED`. + // + // Если РІ процессе миграции возникли ошибки, РІ соответствующие коллекции РІ поле `Collection.state_info` будет записано + // содержание ошибки Рё установлено состояние `ERROR` rpc SetSchema(SetSchemaRequest) returns(google.protobuf.Empty) {} + + // Удалить коллекцию rpc Delete(DeleteRequest) returns(google.protobuf.Empty) {} } diff --git a/proto/environments/environments.proto b/proto/environments/environments.proto index 19f2e0ca5978e3b9965254456c5673835d401e20..2d6bb83189765cfe471e46933e196908d046f930 100644 --- a/proto/environments/environments.proto +++ b/proto/environments/environments.proto @@ -103,5 +103,13 @@ service Environments { rpc SetAlias(SetAliasRequest) returns(google.protobuf.Empty) {} rpc RemoveAlias(RemoveAliasRequest) returns(google.protobuf.Empty) {} rpc Delete(DeleteRequest) returns(google.protobuf.Empty) {} + + // Выполнить миграцию окружения. РџРѕ умолчанию выполняется РІ асинхронном режиме, для СЃРёРЅС…СЂРѕРЅРЅРѕРіРѕ выполнения РјРѕР¶РЅРѕ + // передать соответствующую настройку РІ опциях `MigrateRequest.options` + // + // РџСЂРё вызове миграции: + // - выполняются миграции для всех коллекций окружения + // + // Р’ случае возникновения ошибок миграции РѕРЅРё записываются РІ поле `Environment.state` rpc Migrate(MigrateRequest) returns(google.protobuf.Empty) {} } \ No newline at end of file