#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DocumentEventData {
#[prost(message, optional, tag = "1")]
pub value: ::core::option::Option<Document>,
#[prost(message, optional, tag = "2")]
pub old_value: ::core::option::Option<Document>,
#[prost(message, optional, tag = "3")]
pub update_mask: ::core::option::Option<DocumentMask>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DocumentMask {
#[prost(string, repeated, tag = "1")]
pub field_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 Document {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(map = "string, message", tag = "2")]
pub fields: ::std::collections::HashMap<::prost::alloc::string::String, Value>,
#[prost(message, optional, tag = "3")]
pub create_time: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag = "4")]
pub update_time: ::core::option::Option<::pbjson_types::Timestamp>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Value {
#[prost(oneof = "value::ValueType", tags = "11, 1, 2, 3, 10, 17, 18, 5, 8, 9, 6")]
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(string, tag = "17")]
StringValue(::prost::alloc::string::String),
#[prost(bytes, tag = "18")]
BytesValue(::prost::alloc::vec::Vec<u8>),
#[prost(string, tag = "5")]
ReferenceValue(::prost::alloc::string::String),
#[prost(message, tag = "8")]
GeoPointValue(super::super::super::super::super::r#type::LatLng),
#[prost(message, tag = "9")]
ArrayValue(super::ArrayValue),
#[prost(message, tag = "6")]
MapValue(super::MapValue),
}
}
#[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 MapValue {
#[prost(map = "string, message", tag = "1")]
pub fields: ::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 DocumentCreatedEvent {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<DocumentEventData>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DocumentUpdatedEvent {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<DocumentEventData>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DocumentDeletedEvent {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<DocumentEventData>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DocumentWrittenEvent {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<DocumentEventData>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DocumentCreatedEventWithAuthContext {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<DocumentEventData>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DocumentUpdatedEventWithAuthContext {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<DocumentEventData>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DocumentDeletedEventWithAuthContext {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<DocumentEventData>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DocumentWrittenEventWithAuthContext {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<DocumentEventData>,
}