use crate::client::AriClient;
use crate::error::Result;
#[derive(Debug, Clone, serde::Deserialize)]
pub struct Endpoint {
pub technology: String,
pub resource: String,
#[serde(default)]
pub state: Option<String>,
#[serde(default)]
pub channel_ids: Vec<String>,
}
pub async fn list(client: &AriClient) -> Result<Vec<Endpoint>> {
client.get("/endpoints").await
}
pub async fn list_by_tech(client: &AriClient, tech: &str) -> Result<Vec<Endpoint>> {
client.get(&format!("/endpoints/{tech}")).await
}
pub async fn get(client: &AriClient, tech: &str, resource: &str) -> Result<Endpoint> {
client.get(&format!("/endpoints/{tech}/{resource}")).await
}