ohannessen.sec-core_3.0.41.10.source-code.streams.proto Maven / Gradle / Ivy
The newest version!
syntax = "proto3";
package event_store.client.streams;
option java_package = "com.eventstore.dbclient.proto.streams";
import "shared.proto";
import "google/rpc/status.proto";
import "google/protobuf/empty.proto";
import "google/protobuf/timestamp.proto";
service Streams {
rpc Read (ReadReq) returns (stream ReadResp);
rpc Append (stream AppendReq) returns (AppendResp);
rpc Delete (DeleteReq) returns (DeleteResp);
rpc Tombstone (TombstoneReq) returns (TombstoneResp);
rpc BatchAppend (stream BatchAppendReq) returns (stream BatchAppendResp);
}
message ReadReq {
Options options = 1;
message Options {
oneof stream_option {
StreamOptions stream = 1;
AllOptions all = 2;
}
ReadDirection read_direction = 3;
bool resolve_links = 4;
oneof count_option {
uint64 count = 5;
SubscriptionOptions subscription = 6;
}
oneof filter_option {
FilterOptions filter = 7;
event_store.client.Empty no_filter = 8;
}
UUIDOption uuid_option = 9;
ControlOption control_option = 10;
enum ReadDirection {
Forwards = 0;
Backwards = 1;
}
message StreamOptions {
event_store.client.StreamIdentifier stream_identifier = 1;
oneof revision_option {
uint64 revision = 2;
event_store.client.Empty start = 3;
event_store.client.Empty end = 4;
}
}
message AllOptions {
oneof all_option {
Position position = 1;
event_store.client.Empty start = 2;
event_store.client.Empty end = 3;
}
}
message SubscriptionOptions {
}
message Position {
uint64 commit_position = 1;
uint64 prepare_position = 2;
}
message FilterOptions {
oneof filter {
Expression stream_identifier = 1;
Expression event_type = 2;
}
oneof window {
uint32 max = 3;
event_store.client.Empty count = 4;
}
uint32 checkpointIntervalMultiplier = 5;
message Expression {
string regex = 1;
repeated string prefix = 2;
}
}
message UUIDOption {
oneof content {
event_store.client.Empty structured = 1;
event_store.client.Empty string = 2;
}
}
message ControlOption {
uint32 compatibility = 1;
}
}
}
message ReadResp {
oneof content {
ReadEvent event = 1;
SubscriptionConfirmation confirmation = 2;
Checkpoint checkpoint = 3;
StreamNotFound stream_not_found = 4;
uint64 first_stream_position = 5;
uint64 last_stream_position = 6;
AllStreamPosition last_all_stream_position = 7;
CaughtUp caught_up = 8;
FellBehind fell_behind = 9;
}
message CaughtUp {}
message FellBehind {}
message ReadEvent {
RecordedEvent event = 1;
RecordedEvent link = 2;
oneof position {
uint64 commit_position = 3;
event_store.client.Empty no_position = 4;
}
message RecordedEvent {
event_store.client.UUID id = 1;
event_store.client.StreamIdentifier stream_identifier = 2;
uint64 stream_revision = 3;
uint64 prepare_position = 4;
uint64 commit_position = 5;
map metadata = 6;
bytes custom_metadata = 7;
bytes data = 8;
}
}
message SubscriptionConfirmation {
string subscription_id = 1;
}
message Checkpoint {
uint64 commit_position = 1;
uint64 prepare_position = 2;
}
message StreamNotFound {
event_store.client.StreamIdentifier stream_identifier = 1;
}
}
message AppendReq {
oneof content {
Options options = 1;
ProposedMessage proposed_message = 2;
}
message Options {
event_store.client.StreamIdentifier stream_identifier = 1;
oneof expected_stream_revision {
uint64 revision = 2;
event_store.client.Empty no_stream = 3;
event_store.client.Empty any = 4;
event_store.client.Empty stream_exists = 5;
}
}
message ProposedMessage {
event_store.client.UUID id = 1;
map metadata = 2;
bytes custom_metadata = 3;
bytes data = 4;
}
}
message AppendResp {
oneof result {
Success success = 1;
WrongExpectedVersion wrong_expected_version = 2;
}
message Position {
uint64 commit_position = 1;
uint64 prepare_position = 2;
}
message Success {
oneof current_revision_option {
uint64 current_revision = 1;
event_store.client.Empty no_stream = 2;
}
oneof position_option {
Position position = 3;
event_store.client.Empty no_position = 4;
}
}
message WrongExpectedVersion {
oneof current_revision_option_20_6_0 {
uint64 current_revision_20_6_0 = 1;
event_store.client.Empty no_stream_20_6_0 = 2;
}
oneof expected_revision_option_20_6_0 {
uint64 expected_revision_20_6_0 = 3;
event_store.client.Empty any_20_6_0 = 4;
event_store.client.Empty stream_exists_20_6_0 = 5;
}
oneof current_revision_option {
uint64 current_revision = 6;
event_store.client.Empty current_no_stream = 7;
}
oneof expected_revision_option {
uint64 expected_revision = 8;
event_store.client.Empty expected_any = 9;
event_store.client.Empty expected_stream_exists = 10;
event_store.client.Empty expected_no_stream = 11;
}
}
}
message BatchAppendReq {
event_store.client.UUID correlation_id = 1;
Options options = 2;
repeated ProposedMessage proposed_messages = 3;
bool is_final = 4;
message Options {
event_store.client.StreamIdentifier stream_identifier = 1;
oneof expected_stream_position {
uint64 stream_position = 2;
google.protobuf.Empty no_stream = 3;
google.protobuf.Empty any = 4;
google.protobuf.Empty stream_exists = 5;
}
google.protobuf.Timestamp deadline = 6;
}
message ProposedMessage {
event_store.client.UUID id = 1;
map metadata = 2;
bytes custom_metadata = 3;
bytes data = 4;
}
}
message BatchAppendResp {
event_store.client.UUID correlation_id = 1;
oneof result {
google.rpc.Status error = 2;
Success success = 3;
}
event_store.client.StreamIdentifier stream_identifier = 4;
oneof expected_stream_position {
uint64 stream_position = 5;
google.protobuf.Empty no_stream = 6;
google.protobuf.Empty any = 7;
google.protobuf.Empty stream_exists = 8;
}
message Success {
oneof current_revision_option {
uint64 current_revision = 1;
google.protobuf.Empty no_stream = 2;
}
oneof position_option {
event_store.client.AllStreamPosition position = 3;
google.protobuf.Empty no_position = 4;
}
}
}
message DeleteReq {
Options options = 1;
message Options {
event_store.client.StreamIdentifier stream_identifier = 1;
oneof expected_stream_revision {
uint64 revision = 2;
event_store.client.Empty no_stream = 3;
event_store.client.Empty any = 4;
event_store.client.Empty stream_exists = 5;
}
}
}
message DeleteResp {
oneof position_option {
Position position = 1;
event_store.client.Empty no_position = 2;
}
message Position {
uint64 commit_position = 1;
uint64 prepare_position = 2;
}
}
message TombstoneReq {
Options options = 1;
message Options {
event_store.client.StreamIdentifier stream_identifier = 1;
oneof expected_stream_revision {
uint64 revision = 2;
event_store.client.Empty no_stream = 3;
event_store.client.Empty any = 4;
event_store.client.Empty stream_exists = 5;
}
}
}
message TombstoneResp {
oneof position_option {
Position position = 1;
event_store.client.Empty no_position = 2;
}
message Position {
uint64 commit_position = 1;
uint64 prepare_position = 2;
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy