use crate::client::AgentTrustClient;
use crate::error::Result;
use crate::models::{TelemetryEvent, TelemetryReportRequest};
pub struct TelemetryAPI<'a> {
pub(crate) client: &'a AgentTrustClient,
}
impl<'a> TelemetryAPI<'a> {
pub fn report(
&self,
agent_id: &str,
session_id: &str,
events: &[TelemetryEvent],
) -> Result<()> {
let body = TelemetryReportRequest {
agent_id: agent_id.to_string(),
session_id: session_id.to_string(),
events: events.to_vec(),
};
self.client
.request_no_response("POST", "/api/v1/telemetry/report", Some(&body))
}
}