diff --git a/proto/common/common.proto b/proto/common/common.proto index ccec1615b07a9c91be0424963b79d49604caf988..374e6d9dfdfa5c9d45d2a4448e6bc6c22f9d6498 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 0000000000000000000000000000000000000000..27592cd73bd0bdae8c0e4021dc5cde0e7ae29fa9 --- /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