From 5dd60fce302cf5d4c03540e3c28ca766c852cb01 Mon Sep 17 00:00:00 2001
From: Anton Sattarov <sattarov@perx.ru>
Date: Thu, 9 Feb 2023 16:37:17 +0300
Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5?=
 =?UTF-8?q?=D0=BD=D1=8B=20proto=20=D1=84=D0=B0=D0=B9=D0=BB=D1=8B=20=D0=BF?=
 =?UTF-8?q?=D0=BE=D1=81=D0=BB=D0=B5=20=D1=80=D0=B5=D0=BB=D0=B8=D0=B7=D0=B0?=
 =?UTF-8?q?=20v0.10?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 proto/environments/environments.proto | 24 ++++++++++++++++++++----
 proto/extensions/extension.proto      |  2 ++
 2 files changed, 22 insertions(+), 4 deletions(-)

diff --git a/proto/environments/environments.proto b/proto/environments/environments.proto
index 93a173b..b19fa46 100644
--- a/proto/environments/environments.proto
+++ b/proto/environments/environments.proto
@@ -1,6 +1,7 @@
 syntax = "proto3";
 
 import "google/protobuf/empty.proto";
+import "google/protobuf/timestamp.proto";
 
 option go_package = "git.perx.ru/perxis/perxis-go/environments;environments";
 
@@ -10,6 +11,13 @@ message Environment {
   string id = 1;
   string space_id = 2;
   string description = 3;
+
+  StateInfo state_info = 4;
+  repeated string aliases = 6;
+  Config config = 10;
+}
+
+message StateInfo {
   enum State {
     UNKNOWN = 0;
     NEW = 1;
@@ -17,14 +25,15 @@ message Environment {
     READY = 3;
     ERROR = 4;
   }
-  State state = 4;
-  string state_info = 5;
-  repeated string aliases = 6;
-  Config config = 10;
+  State state = 1;
+  string info = 2;
+  google.protobuf.Timestamp started_at = 3;
 }
 
 message Config {
   string source_id = 1;
+
+  // Deprecated
   repeated string features = 2;
 }
 
@@ -77,6 +86,13 @@ message DeleteRequest {
 message MigrateRequest {
   string space_id = 1;
   string env_id = 2;
+  MigrateOptions options = 10;
+}
+
+message MigrateOptions {
+  // Ожидать завершения миграции в синхронном режиме. Если в запрос передан контекст с таймаутом,
+  // то после истечения таймаута миграция продолжится в асинхронном режиме
+  bool wait = 1;
 }
 
 service Environments {
diff --git a/proto/extensions/extension.proto b/proto/extensions/extension.proto
index 4a2d57f..90aab9b 100644
--- a/proto/extensions/extension.proto
+++ b/proto/extensions/extension.proto
@@ -70,6 +70,7 @@ message ExtensionRequestResult {
     ERROR = 1; // Возникла ошибка
     PENDING = 2; // Запрос ожидает выполнения
     IN_PROGRESS = 3; // Запрос выполняется
+    PARAMETERS_REQUIRED= 4; // Требуются дополнительные данные для выполнения запроса
   }
 
   State state = 10000;  // Состояние расширение
@@ -146,6 +147,7 @@ message ActionResponse {
     ERROR = 1; // Возникла ошибка
     PENDING = 2; // Запрос ожидает выполнения
     IN_PROGRESS = 3; // Запрос выполняется
+    PARAMETERS_REQUIRED = 4; // Требуются дополнительные данные для выполнения запроса
   }
 
   State state = 10000;  // Состояние расширение
-- 
GitLab