syntax = “proto3”; package event_store.client.projections; option java_package = “com.eventstore.dbclient.proto.projections”;
import “google/protobuf/struct.proto”; import “shared.proto”;
service Projections {
rpc Create (CreateReq) returns (CreateResp); rpc Update (UpdateReq) returns (UpdateResp); rpc Delete (DeleteReq) returns (DeleteResp); rpc Statistics (StatisticsReq) returns (stream StatisticsResp); rpc Disable (DisableReq) returns (DisableResp); rpc Enable (EnableReq) returns (EnableResp); rpc Reset (ResetReq) returns (ResetResp); rpc State (StateReq) returns (StateResp); rpc Result (ResultReq) returns (ResultResp); rpc RestartSubsystem (event_store.client.shared.Empty) returns (event_store.client.shared.Empty);
}
message CreateReq {
Options options = 1; message Options { oneof mode { event_store.client.shared.Empty one_time = 1; Transient transient = 2; Continuous continuous = 3; } string query = 4; message Transient { string name = 1; } message Continuous { string name = 1; bool track_emitted_streams = 2; } }
}
message CreateResp { }
message UpdateReq {
Options options = 1; message Options { string name = 1; string query = 2; oneof emit_option { bool emit_enabled = 3; event_store.client.shared.Empty no_emit_options = 4; } }
}
message UpdateResp { }
message DeleteReq {
Options options = 1; message Options { string name = 1; bool delete_emitted_streams = 2; bool delete_state_stream = 3; bool delete_checkpoint_stream = 4; }
}
message DeleteResp { }
message StatisticsReq {
Options options = 1; message Options { oneof mode { string name = 1; event_store.client.shared.Empty all = 2; event_store.client.shared.Empty transient = 3; event_store.client.shared.Empty continuous = 4; event_store.client.shared.Empty one_time = 5; } }
}
message StatisticsResp {
Details details = 1; message Details { int64 coreProcessingTime = 1; int64 version = 2; int64 epoch = 3; string effectiveName = 4; int32 writesInProgress = 5; int32 readsInProgress = 6; int32 partitionsCached = 7; string status = 8; string stateReason = 9; string name = 10; string mode = 11; string position = 12; float progress = 13; string lastCheckpoint = 14; int64 eventsProcessedAfterRestart = 15; string checkpointStatus = 16; int64 bufferedEvents = 17; int32 writePendingEventsBeforeCheckpoint = 18; int32 writePendingEventsAfterCheckpoint = 19; }
}
message StateReq {
Options options = 1; message Options { string name = 1; string partition = 2; }
}
message StateResp {
google.protobuf.Value state = 1;
}
message ResultReq {
Options options = 1; message Options { string name = 1; string partition = 2; }
}
message ResultResp {
google.protobuf.Value result = 1;
}
message ResetReq {
Options options = 1; message Options { string name = 1; bool write_checkpoint = 2; }
}
message ResetResp { }
message EnableReq {
Options options = 1; message Options { string name = 1; }
}
message EnableResp { }
message DisableReq {
Options options = 1; message Options { string name = 1; bool write_checkpoint = 2; }
}
message DisableResp { }