From 707a4347efc431c4ad23b193d9ab3a746dd38ebb Mon Sep 17 00:00:00 2001 From: Pavel Antonov <antonov@perx.ru> Date: Tue, 29 Oct 2024 17:47:25 +0400 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D1=8B=20=D1=81=D0=BE=D0=BE=D0=B1=D1=89=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F=20=D0=A1=D0=BE=D0=B1=D1=8B=D1=82=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- proto/common/common.proto | 29 ----------------------------- proto/common/event.proto | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 29 deletions(-) create mode 100644 proto/common/event.proto diff --git a/proto/common/common.proto b/proto/common/common.proto index ccec161..374e6d9 100644 --- a/proto/common/common.proto +++ b/proto/common/common.proto @@ -73,33 +73,4 @@ message Version { string build_time = 3; string commit = 4; int32 build_number = 5; -} - -// Определение типов событий -enum EventType { - EVENT_UNKNOWN = 0; - EVENT_CREATE = 1; - EVENT_UPDATE = 2; - EVENT_DELETE = 3; - EVENT_PUBLISH = 4; - EVENT_UNPUBLISH = 5; - // Добавляем события РїРѕ необходимости -} - -// Структура события -message Event { - // РўРёРї события - EventType type = 1; - // Время события - google.protobuf.Timestamp timestamp = 2; - // Рдентификатор oid, вызвавшего событие - string caller = 3; - // РўРёРї сущности (например, "Item", "User", "Spaces") - string entity_type = 4; - // Рдентификатор затронутой сущности - string entity_id = 5; - // Данные РґРѕ изменения (для событий обновления Рё удаления) - google.protobuf.Struct old_data = 6; - // Новые данные (для событий создания Рё обновления) - google.protobuf.Struct new_data = 7; } \ No newline at end of file diff --git a/proto/common/event.proto b/proto/common/event.proto new file mode 100644 index 0000000..27592cd --- /dev/null +++ b/proto/common/event.proto @@ -0,0 +1,35 @@ +syntax = "proto3"; + +package events; + +option go_package = "git.perx.ru/perxis/perxis-go/proto/events"; + +import "google/protobuf/struct.proto"; +import "google/protobuf/timestamp.proto"; +import "spaces/spaces.proto"; +import "users/users.proto"; + +message EventMetadata { + +} + +// Event описывает РІСЃРµ события передаваемые РІ системе +message Event { + + // Рдентификатор события + string id = 1; + + // Время наступления события + google.protobuf.Timestamp time = 2; + + // Рдентификатор инициатора события + string principal = 5; + + EventMetadata metadata = 10; + + oneof event { + // UserEvent user_event = 100; + // OrganizationEvent organization_event = 200; + content.spaces.SpaceEvent space = 300; + } +} \ No newline at end of file -- GitLab