use std::fmt::Write;
use crate::client::client;
use crate::model::{member, types};
pub async fn member(
client: &client::Client,
id: types::UUID,
) -> Result<member::Member, Box<dyn std::error::Error>> {
Ok(client
.read::<member::Member>(&format!("members/{id}"), None)
.await?)
}
pub async fn members(
client: &client::Client,
name_contains: Option<&str>,
email_contains: Option<&str>,
) -> Result<member::Members, Box<dyn std::error::Error>> {
let mut params = String::from("limit=100");
if let Some(name_contains) = name_contains {
write!(params, "&nameContains={}", name_contains)?;
}
if let Some(email_contains) = email_contains {
write!(params, "&emailContains={}", email_contains)?;
}
Ok(client
.read::<member::Members>("members", Some(¶ms))
.await?)
}
#[cfg(test)]
mod tests;