From 595e1e03da0c9457c74a63748f74f0a636c6ed37 Mon Sep 17 00:00:00 2001 From: Alena Petraki <alena.petraki@gmail.com> Date: Thu, 12 Oct 2023 17:58:31 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=B0=D1=81=D1=88=D0=B8=D1=80=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D1=81=D0=BF=D0=B5=D1=86=D0=B8=D1=84=D0=B8=D0=BA?= =?UTF-8?q?=D0=B0=D1=86=D0=B8=D1=8F=20=D0=B4=D0=BB=D1=8F=20=D1=81=D1=82?= =?UTF-8?q?=D1=80=D1=83=D0=BA=D1=82=D1=83=D1=80=D0=B8=D1=80=D0=BE=D0=B2?= =?UTF-8?q?=D0=B0=D0=BD=D0=BD=D0=BE=D0=B9=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA?= =?UTF-8?q?=D0=B8.=20=D0=92=20Operation=20=D0=B8=D1=81=D0=BF=D0=BE=D0=BB?= =?UTF-8?q?=D1=8C=D0=B7=D1=83=D0=B5=D1=82=D1=81=D1=8F=20=D0=BE=D1=88=D0=B8?= =?UTF-8?q?=D0=B1=D0=BA=D0=B0=20=D1=82=D0=B8=D0=BF=D0=B0=20common.Error?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- proto/common/common.proto | 38 ---------------------------- proto/common/error.proto | 49 ++++++++++++++++++++++++++++++++++++ proto/common/operation.proto | 3 ++- proto/items/items.proto | 1 + 4 files changed, 52 insertions(+), 39 deletions(-) create mode 100644 proto/common/error.proto diff --git a/proto/common/common.proto b/proto/common/common.proto index 60a918a..a929133 100644 --- a/proto/common/common.proto +++ b/proto/common/common.proto @@ -6,44 +6,6 @@ package common; import "google/protobuf/struct.proto"; -message Error { - message BadRequest { - message FieldViolation { - string field = 1; - string description = 2; - } - repeated FieldViolation errors = 1; - } - - message Help { - message Link { - string description =1; - string url = 2; - } - repeated Link links = 1; - } - - message DebugInfo { - repeated string stack_trace = 1; - string detail = 2; - } - - message LocalizedMessage { - string locale = 1; - string message = 2; - } - - uint64 error_code = 1; // Код ошибки - string error_id = 2; // ID конкретного инцидента, ID уникальна для каждого случая. - string reason = 3; // ??? - string domain = 4; // Сервис,Пакет к которому относится ошибка - map<string,string> metadata = 9; // Мета-информация - BadRequest bad_request = 10; // Ошибка запроса - DebugInfo debug_info = 11; // Отладочная информация - Help help = 100; // Пользовательская информации и инструкции - repeated LocalizedMessage localized_messages = 200; // Перевод сообщения об ошибке -} - message Filter { string op = 1; string field = 2; diff --git a/proto/common/error.proto b/proto/common/error.proto new file mode 100644 index 0000000..5dce268 --- /dev/null +++ b/proto/common/error.proto @@ -0,0 +1,49 @@ +syntax = "proto3"; + +option go_package = "git.perx.ru/perxis/perxis-go/proto/common;common"; + +package common; + +import "google/protobuf/struct.proto"; + +message Error { + message BadRequest { + message FieldViolation { + string field = 1; + string description = 2; + } + repeated FieldViolation errors = 1; + } + + message Help { + message Link { + string description =1; + string url = 2; + } + repeated Link links = 1; + } + + message DebugInfo { + repeated string stack_trace = 1; + string detail = 2; + } + + message LocalizedMessage { + string locale = 1; + string message = 2; + } + + uint64 error_code = 1; // Код ошибки + string error_id = 2; // ID конкретного инцидента, ID уникальна для каждого случая. + string reason = 3; // ??? + string domain = 4; // Сервис, пакет к которому относится ошибка + string message = 5; // Текст ошибки + string details = 6; // Дополнительные детали об ошибке + map<string,string> metadata = 9; // Мета-информация + BadRequest bad_request = 10; // Ошибка запроса + DebugInfo debug_info = 11; // Отладочная информация + Help help = 100; // Пользовательская информации и инструкции + repeated LocalizedMessage localized_messages = 200; // Перевод сообщения об ошибке + + repeated Error errors = 500; // Вложенные ошибки +} diff --git a/proto/common/operation.proto b/proto/common/operation.proto index d77171a..888ff4b 100644 --- a/proto/common/operation.proto +++ b/proto/common/operation.proto @@ -4,6 +4,7 @@ package common; import "google/protobuf/timestamp.proto"; import "google/protobuf/any.proto"; +import "common/error.proto"; option go_package = "git.perx.ru/perxis/perxis-go/proto/common;common"; @@ -37,6 +38,6 @@ message Operation { google.protobuf.Any response = 9; // Результат выполнения операции в случае ошибки - string error = 10; + Error error = 10; } } diff --git a/proto/items/items.proto b/proto/items/items.proto index 9ab01fe..444cdb0 100644 --- a/proto/items/items.proto +++ b/proto/items/items.proto @@ -10,6 +10,7 @@ syntax = "proto3"; import "google/protobuf/empty.proto"; import "common/common.proto"; +import "common/error.proto"; import "google/protobuf/timestamp.proto"; import "google/protobuf/struct.proto"; -- GitLab