#![allow(unused_imports, clippy::too_many_arguments)]
use reqwest::Method;
use serde::{Deserialize, Serialize};
use crate::client::{Client, Request, NO_BODY, NO_QUERY};
use crate::error::Result;
use crate::generated::models;
use crate::multipart::{field_text, FilePart};
use crate::util::encode_path;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct TenantAnalyticsAgentsParams {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub days: Option<i64>,
}
#[derive(Debug, Clone)]
pub struct AnalyticsApi {
pub(crate) client: Client,
}
impl Client {
pub fn analytics(&self) -> AnalyticsApi {
AnalyticsApi { client: self.clone() }
}
}
impl AnalyticsApi {
pub async fn tenant_analytics_agents(&self, params: &TenantAnalyticsAgentsParams) -> Result<models::AgentAnalyticsSummary> {
self.client
.request_json(Request {
method: Method::GET,
path: "/api/v1/analytics/agents".to_string(),
query: Some(params),
body: NO_BODY,
headers: Vec::new(),
idempotent: false,
})
.await
}
}