From a507af06e34015a5cceef4ec3817679c1da0d45d Mon Sep 17 00:00:00 2001 From: Pavel Antonov <antonov@perx.ru> Date: Tue, 25 Jul 2023 17:11:28 +0400 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=BF=D0=B8=D1=81=D0=B0=D0=BD=20=D0=BC?= =?UTF-8?q?=D0=B5=D1=82=D0=BE=D0=B4=20References.Publish?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- proto/references/references.proto | 33 +++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/proto/references/references.proto b/proto/references/references.proto index e8ef011..a6e7070 100644 --- a/proto/references/references.proto +++ b/proto/references/references.proto @@ -24,8 +24,37 @@ message GetResponse { repeated Reference notfound = 2; } -// References принимает список ссылок на записи и возвращает два списка: -// список найденных записей и не найденных ссылок +// PublishRequest запрос на публикацию записей по ссылкам +message PublishRequest { + string space_id = 1; // Пространство публикации + string env_id = 2; // Окружение публикации + repeated Reference references = 3; // Список ссылок на записи для публикации + bool recursive = 4; // Рекурсивно публиковать все ссылки на найденные записи + bool force = 5; // Принудительно публиковать записи, даже если они содержат не опубликованные ссылки +} + +// PublishResponse ответ на запрос публикации записей +message PublishResponse { + repeated Reference published = 2; // Список опубликованных записей + repeated Reference notfound = 3; // Список не найденных записей + repeated Reference unpublished = 4; // Список не опубликованных записей, требующих публикации +} + +// References сервис предназначен для работы со ссылками на записи service References { + + // Get возвращает список записей по ссылкам rpc Get(GetRequest) returns(GetResponse) {} + + // Publish принимает список ссылок на записи и публикует их с учетом вложенных ссылок. + // + // - В случае если флаг `recursive` установлен в true, то будут рекурсивно опубликованы + // все записи на которые ссылаются найденные записи. + // - Если флаг `recursive` установлен в false, то будут опубликованы записи + // только из списка `references` в случае если они не содержат не опубликованных + // ссылок. В противном случае возвращается список не опубликованных записей `unpublished` + // которые требуют публикации. Список `published` при этом будет пустым. В случае если флаг + // `force` установлен в true, то записи будут опубликованы даже если они содержат + // не опубликованные ссылки. + rpc Publish(PublishRequest) returns(PublishResponse) {} } -- GitLab