#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PageToken {
#[prost(oneof = "page_token::Value", tags = "1")]
pub value: ::core::option::Option<page_token::Value>,
}
pub mod page_token {
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
pub enum Value {
#[prost(uint64, tag = "1")]
Offset(u64),
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetOrgsWithUsageRequest {
#[prost(message, optional, tag = "1")]
pub start: ::core::option::Option<::prost_types::Timestamp>,
#[prost(message, optional, tag = "2")]
pub end: ::core::option::Option<::prost_types::Timestamp>,
#[prost(enumeration = "super::super::super::DataCategory", repeated, tag = "3")]
pub categories: ::prost::alloc::vec::Vec<i32>,
#[prost(uint32, tag = "4")]
pub limit: u32,
#[prost(message, optional, tag = "5")]
pub page_token: ::core::option::Option<PageToken>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetOrgsWithUsageResponse {
#[prost(uint64, repeated, tag = "1")]
pub organization_ids: ::prost::alloc::vec::Vec<u64>,
#[prost(message, optional, tag = "2")]
pub page_token: ::core::option::Option<PageToken>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CategoryUsage {
#[prost(enumeration = "super::super::super::DataCategory", tag = "1")]
pub category: i32,
#[prost(message, optional, tag = "2")]
pub data: ::core::option::Option<super::super::super::UsageData>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DailyUsage {
#[prost(message, optional, tag = "1")]
pub date: ::core::option::Option<super::super::super::Date>,
#[prost(message, repeated, tag = "2")]
pub usage: ::prost::alloc::vec::Vec<CategoryUsage>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CategorySeatUsage {
#[prost(enumeration = "super::super::super::SeatCategory", tag = "1")]
pub category: i32,
#[prost(uint64, tag = "2")]
pub count: u64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetUsageResponse {
#[prost(message, repeated, tag = "1")]
pub days: ::prost::alloc::vec::Vec<DailyUsage>,
#[prost(message, repeated, tag = "2")]
pub seats: ::prost::alloc::vec::Vec<CategorySeatUsage>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetUsageRequest {
#[prost(uint64, tag = "1")]
pub organization_id: u64,
#[prost(message, optional, tag = "2")]
pub start: ::core::option::Option<::prost_types::Timestamp>,
#[prost(message, optional, tag = "3")]
pub end: ::core::option::Option<::prost_types::Timestamp>,
#[prost(enumeration = "super::super::super::DataCategory", repeated, tag = "4")]
pub categories: ::prost::alloc::vec::Vec<i32>,
}