#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EntityEventData {
#[prost(message, optional, tag = "1")]
pub value: ::core::option::Option<EntityResult>,
#[prost(message, optional, tag = "2")]
pub old_value: ::core::option::Option<EntityResult>,
#[prost(message, optional, tag = "3")]
pub update_mask: ::core::option::Option<PropertyMask>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PropertyMask {
#[prost(string, repeated, tag = "1")]
pub property_paths: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EntityResult {
#[prost(message, optional, tag = "1")]
pub entity: ::core::option::Option<Entity>,
#[prost(int64, tag = "4")]
pub version: i64,
#[prost(message, optional, tag = "6")]
pub create_time: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag = "5")]
pub update_time: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(bytes = "vec", tag = "3")]
pub cursor: ::prost::alloc::vec::Vec<u8>,
}
pub mod entity_result {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum ResultType {
Unspecified = 0,
Full = 1,
Projection = 2,
KeyOnly = 3,
}
impl ResultType {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "RESULT_TYPE_UNSPECIFIED",
Self::Full => "FULL",
Self::Projection => "PROJECTION",
Self::KeyOnly => "KEY_ONLY",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"RESULT_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
"FULL" => Some(Self::Full),
"PROJECTION" => Some(Self::Projection),
"KEY_ONLY" => Some(Self::KeyOnly),
_ => None,
}
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PartitionId {
#[prost(string, tag = "2")]
pub project_id: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub database_id: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub namespace_id: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Key {
#[prost(message, optional, tag = "1")]
pub partition_id: ::core::option::Option<PartitionId>,
#[prost(message, repeated, tag = "2")]
pub path: ::prost::alloc::vec::Vec<key::PathElement>,
}
pub mod key {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PathElement {
#[prost(string, tag = "1")]
pub kind: ::prost::alloc::string::String,
#[prost(oneof = "path_element::IdType", tags = "2, 3")]
pub id_type: ::core::option::Option<path_element::IdType>,
}
pub mod path_element {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum IdType {
#[prost(int64, tag = "2")]
Id(i64),
#[prost(string, tag = "3")]
Name(::prost::alloc::string::String),
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ArrayValue {
#[prost(message, repeated, tag = "1")]
pub values: ::prost::alloc::vec::Vec<Value>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Value {
#[prost(int32, tag = "14")]
pub meaning: i32,
#[prost(bool, tag = "19")]
pub exclude_from_indexes: bool,
#[prost(oneof = "value::ValueType", tags = "11, 1, 2, 3, 10, 5, 17, 18, 8, 6, 9")]
pub value_type: ::core::option::Option<value::ValueType>,
}
pub mod value {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum ValueType {
#[prost(enumeration = "::pbjson_types::NullValue", tag = "11")]
NullValue(i32),
#[prost(bool, tag = "1")]
BooleanValue(bool),
#[prost(int64, tag = "2")]
IntegerValue(i64),
#[prost(double, tag = "3")]
DoubleValue(f64),
#[prost(message, tag = "10")]
TimestampValue(::pbjson_types::Timestamp),
#[prost(message, tag = "5")]
KeyValue(super::Key),
#[prost(string, tag = "17")]
StringValue(::prost::alloc::string::String),
#[prost(bytes, tag = "18")]
BlobValue(::prost::alloc::vec::Vec<u8>),
#[prost(message, tag = "8")]
GeoPointValue(super::super::super::super::super::r#type::LatLng),
#[prost(message, tag = "6")]
EntityValue(super::Entity),
#[prost(message, tag = "9")]
ArrayValue(super::ArrayValue),
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Entity {
#[prost(message, optional, tag = "1")]
pub key: ::core::option::Option<Key>,
#[prost(map = "string, message", tag = "3")]
pub properties: ::std::collections::HashMap<::prost::alloc::string::String, Value>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EntityCreatedEvent {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<EntityEventData>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EntityUpdatedEvent {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<EntityEventData>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EntityDeletedEvent {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<EntityEventData>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EntityWrittenEvent {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<EntityEventData>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EntityCreatedEventWithAuthContext {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<EntityEventData>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EntityUpdatedEventWithAuthContext {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<EntityEventData>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EntityDeletedEventWithAuthContext {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<EntityEventData>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EntityWrittenEventWithAuthContext {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<EntityEventData>,
}