#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CxEvent {
#[prost(message, optional, tag = "1")]
pub cx_event_key: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "2")]
pub cx_event_type: ::core::option::Option<::prost::alloc::string::String>,
#[prost(map = "string, string", tag = "3")]
pub cx_event_labels: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(message, optional, tag = "4")]
pub company_id: ::core::option::Option<i32>,
#[prost(message, optional, tag = "5")]
pub cx_event_timestamp: ::core::option::Option<::prost_wkt_types::Timestamp>,
#[prost(message, optional, tag = "9")]
pub cx_event_payload_type: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "6")]
pub cx_event_payload: ::core::option::Option<::prost_wkt_types::Struct>,
#[prost(message, optional, tag = "7")]
pub cx_event_dedup_key: ::core::option::Option<::prost::alloc::string::String>,
#[prost(map = "string, string", tag = "8")]
pub cx_event_metadata: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct OrderBy {
#[prost(enumeration = "OrderByFields", tag = "1")]
pub field_name: i32,
#[prost(enumeration = "OrderByDirection", tag = "2")]
pub direction: i32,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum OrderByFields {
Unspecified = 0,
Timestamp = 1,
}
impl OrderByFields {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "ORDER_BY_FIELDS_UNSPECIFIED",
Self::Timestamp => "ORDER_BY_FIELDS_TIMESTAMP",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"ORDER_BY_FIELDS_UNSPECIFIED" => Some(Self::Unspecified),
"ORDER_BY_FIELDS_TIMESTAMP" => Some(Self::Timestamp),
_ => None,
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum OrderByDirection {
Unspecified = 0,
Asc = 1,
Desc = 2,
}
impl OrderByDirection {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "ORDER_BY_DIRECTION_UNSPECIFIED",
Self::Asc => "ORDER_BY_DIRECTION_ASC",
Self::Desc => "ORDER_BY_DIRECTION_DESC",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"ORDER_BY_DIRECTION_UNSPECIFIED" => Some(Self::Unspecified),
"ORDER_BY_DIRECTION_ASC" => Some(Self::Asc),
"ORDER_BY_DIRECTION_DESC" => Some(Self::Desc),
_ => None,
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EventsQueryFilter {
#[prost(message, optional, tag = "1")]
pub timestamp: ::core::option::Option<TimestampRange>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EventsFilter {
#[prost(message, optional, tag = "1")]
pub timestamp: ::core::option::Option<TimestampRange>,
#[prost(message, repeated, tag = "2")]
pub cx_event_types: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, repeated, tag = "4")]
pub cx_event_keys: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, optional, tag = "5")]
pub cx_event_metadata_filters: ::core::option::Option<Filters>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Filters {
#[prost(enumeration = "FilterOperator", tag = "1")]
pub operator: i32,
#[prost(message, repeated, tag = "2")]
pub path_and_values: ::prost::alloc::vec::Vec<FilterPathAndValues>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FilterPathAndValues {
#[prost(message, optional, tag = "1")]
pub path: ::core::option::Option<::prost::alloc::string::String>,
#[prost(oneof = "filter_path_and_values::Values", tags = "100, 101")]
pub values: ::core::option::Option<filter_path_and_values::Values>,
}
pub mod filter_path_and_values {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Values {
#[prost(message, tag = "100")]
MultipleValues(super::MultipleValues),
#[prost(message, tag = "101")]
Filters(super::Filters),
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MultipleValues {
#[prost(message, repeated, tag = "1")]
pub values: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(enumeration = "FilterMatcher", tag = "2")]
pub matcher: i32,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TimestampRange {
#[prost(message, optional, tag = "1")]
pub from: ::core::option::Option<::prost_wkt_types::Timestamp>,
#[prost(message, optional, tag = "2")]
pub to: ::core::option::Option<::prost_wkt_types::Timestamp>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum FilterOperator {
AndOrUnspecified = 0,
Or = 1,
}
impl FilterOperator {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::AndOrUnspecified => "FILTER_OPERATOR_AND_OR_UNSPECIFIED",
Self::Or => "FILTER_OPERATOR_OR",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"FILTER_OPERATOR_AND_OR_UNSPECIFIED" => Some(Self::AndOrUnspecified),
"FILTER_OPERATOR_OR" => Some(Self::Or),
_ => None,
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum FilterMatcher {
TextOrUnspecified = 0,
Regexp = 1,
}
impl FilterMatcher {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::TextOrUnspecified => "FILTER_MATCHER_TEXT_OR_UNSPECIFIED",
Self::Regexp => "FILTER_MATCHER_REGEXP",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"FILTER_MATCHER_TEXT_OR_UNSPECIFIED" => Some(Self::TextOrUnspecified),
"FILTER_MATCHER_REGEXP" => Some(Self::Regexp),
_ => None,
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CxEventArray {
#[prost(message, repeated, tag = "1")]
pub events: ::prost::alloc::vec::Vec<CxEvent>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CxEventSingleOrMultiple {
#[prost(oneof = "cx_event_single_or_multiple::Event", tags = "1, 2")]
pub event: ::core::option::Option<cx_event_single_or_multiple::Event>,
}
pub mod cx_event_single_or_multiple {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Event {
#[prost(message, tag = "1")]
SingleEvent(super::CxEvent),
#[prost(message, tag = "2")]
MultipleEvents(super::CxEventArray),
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetEventRequest {
#[prost(message, optional, tag = "1")]
pub id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, repeated, tag = "2")]
pub order_bys: ::prost::alloc::vec::Vec<OrderBy>,
#[prost(message, optional, tag = "3")]
pub pagination: ::core::option::Option<PaginationRequest>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetEventResponse {
#[prost(message, optional, tag = "1")]
pub event: ::core::option::Option<CxEventSingleOrMultiple>,
#[prost(message, optional, tag = "2")]
pub pagination: ::core::option::Option<PaginationResponse>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BatchGetEventRequest {
#[prost(message, repeated, tag = "1")]
pub ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, repeated, tag = "2")]
pub order_bys: ::prost::alloc::vec::Vec<OrderBy>,
#[prost(message, optional, tag = "3")]
pub pagination: ::core::option::Option<PaginationRequest>,
#[prost(message, optional, tag = "4")]
pub filter: ::core::option::Option<EventsQueryFilter>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BatchGetEventResponse {
#[prost(map = "string, message", tag = "1")]
pub events: ::std::collections::HashMap<
::prost::alloc::string::String,
CxEventSingleOrMultiple,
>,
#[prost(message, repeated, tag = "2")]
pub not_found_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, optional, tag = "3")]
pub pagination: ::core::option::Option<PaginationResponse>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PaginationRequest {
#[prost(message, optional, tag = "1")]
pub page_size: ::core::option::Option<u32>,
#[prost(message, optional, tag = "2")]
pub page_token: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PaginationResponse {
#[prost(message, optional, tag = "1")]
pub total_size: ::core::option::Option<u32>,
#[prost(message, optional, tag = "2")]
pub next_page_token: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListEventsRequest {
#[prost(message, optional, tag = "1")]
pub filter: ::core::option::Option<EventsFilter>,
#[prost(message, repeated, tag = "2")]
pub order_bys: ::prost::alloc::vec::Vec<OrderBy>,
#[prost(message, optional, tag = "3")]
pub pagination: ::core::option::Option<PaginationRequest>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListEventsResponse {
#[prost(message, repeated, tag = "1")]
pub events: ::prost::alloc::vec::Vec<CxEvent>,
#[prost(message, optional, tag = "2")]
pub pagination: ::core::option::Option<PaginationResponse>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetEventsStatisticsRequest {
#[prost(message, optional, tag = "1")]
pub filter: ::core::option::Option<EventsFilter>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetEventsStatisticsResponse {
#[prost(map = "string, message", tag = "1")]
pub cx_event_metadata_field_statistics: ::std::collections::HashMap<
::prost::alloc::string::String,
FieldStatistics,
>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FieldStatistics {
#[prost(map = "string, message", tag = "1")]
pub field_statistics: ::std::collections::HashMap<
::prost::alloc::string::String,
i64,
>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListEventsCountRequest {
#[prost(message, optional, tag = "1")]
pub filter: ::core::option::Option<EventsFilter>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ListEventsCountResponse {
#[prost(message, optional, tag = "1")]
pub count: ::core::option::Option<u64>,
#[prost(message, optional, tag = "2")]
pub reached_limit: ::core::option::Option<bool>,
}
pub mod events_service_client {
#![allow(
unused_variables,
dead_code,
missing_docs,
clippy::wildcard_imports,
clippy::let_unit_value,
)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct EventsServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl EventsServiceClient<tonic::transport::Channel> {
pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
where
D: TryInto<tonic::transport::Endpoint>,
D::Error: Into<StdError>,
{
let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
Ok(Self::new(conn))
}
}
impl<T> EventsServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> EventsServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
>>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
{
EventsServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
#[must_use]
pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
self.inner = self.inner.max_decoding_message_size(limit);
self
}
#[must_use]
pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
self.inner = self.inner.max_encoding_message_size(limit);
self
}
pub async fn get_event(
&mut self,
request: impl tonic::IntoRequest<super::GetEventRequest>,
) -> std::result::Result<
tonic::Response<super::GetEventResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::unknown(
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/com.coralogixapis.events.v3.EventsService/GetEvent",
);
let mut req = request.into_request();
req.extensions_mut()
.insert(
GrpcMethod::new(
"com.coralogixapis.events.v3.EventsService",
"GetEvent",
),
);
self.inner.unary(req, path, codec).await
}
pub async fn batch_get_event(
&mut self,
request: impl tonic::IntoRequest<super::BatchGetEventRequest>,
) -> std::result::Result<
tonic::Response<super::BatchGetEventResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::unknown(
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/com.coralogixapis.events.v3.EventsService/BatchGetEvent",
);
let mut req = request.into_request();
req.extensions_mut()
.insert(
GrpcMethod::new(
"com.coralogixapis.events.v3.EventsService",
"BatchGetEvent",
),
);
self.inner.unary(req, path, codec).await
}
pub async fn list_events(
&mut self,
request: impl tonic::IntoRequest<super::ListEventsRequest>,
) -> std::result::Result<
tonic::Response<super::ListEventsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::unknown(
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/com.coralogixapis.events.v3.EventsService/ListEvents",
);
let mut req = request.into_request();
req.extensions_mut()
.insert(
GrpcMethod::new(
"com.coralogixapis.events.v3.EventsService",
"ListEvents",
),
);
self.inner.unary(req, path, codec).await
}
pub async fn list_events_count(
&mut self,
request: impl tonic::IntoRequest<super::ListEventsCountRequest>,
) -> std::result::Result<
tonic::Response<super::ListEventsCountResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::unknown(
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/com.coralogixapis.events.v3.EventsService/ListEventsCount",
);
let mut req = request.into_request();
req.extensions_mut()
.insert(
GrpcMethod::new(
"com.coralogixapis.events.v3.EventsService",
"ListEventsCount",
),
);
self.inner.unary(req, path, codec).await
}
pub async fn get_events_statistics(
&mut self,
request: impl tonic::IntoRequest<super::GetEventsStatisticsRequest>,
) -> std::result::Result<
tonic::Response<super::GetEventsStatisticsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::unknown(
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/com.coralogixapis.events.v3.EventsService/GetEventsStatistics",
);
let mut req = request.into_request();
req.extensions_mut()
.insert(
GrpcMethod::new(
"com.coralogixapis.events.v3.EventsService",
"GetEventsStatistics",
),
);
self.inner.unary(req, path, codec).await
}
}
}