#[derive(::serde::Serialize, ::serde::Deserialize)]
#[serde(crate = "serde", rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Metadata {
#[prost(message, optional, tag="1")]
pub creation_date: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag="2")]
pub change_date: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(string, tag="3")]
pub key: ::prost::alloc::string::String,
#[prost(bytes="vec", tag="4")]
pub value: ::prost::alloc::vec::Vec<u8>,
}
#[derive(::serde::Serialize, ::serde::Deserialize)]
#[serde(crate = "serde", rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MetadataSearchFilter {
#[prost(oneof="metadata_search_filter::Filter", tags="1")]
pub filter: ::core::option::Option<metadata_search_filter::Filter>,
}
pub mod metadata_search_filter {
#[derive(::serde::Serialize, ::serde::Deserialize)]
#[serde(crate = "serde", rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Filter {
#[prost(message, tag="1")]
KeyFilter(super::MetadataKeyFilter),
}
}
#[derive(::serde::Serialize, ::serde::Deserialize)]
#[serde(crate = "serde", rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MetadataKeyFilter {
#[prost(string, tag="1")]
pub key: ::prost::alloc::string::String,
#[prost(enumeration="super::super::filter::v2::TextFilterMethod", tag="2")]
pub method: i32,
}