use crate::{send_and_translate_response, Deepgram};
use response::Message;
pub mod response;
#[derive(Debug, Clone)]
pub struct Members<'a>(&'a Deepgram);
impl Deepgram {
pub fn members(&self) -> Members<'_> {
self.into()
}
}
impl<'a> From<&'a Deepgram> for Members<'a> {
fn from(deepgram: &'a Deepgram) -> Self {
Self(deepgram)
}
}
impl Members<'_> {
pub async fn list_members(&self, project_id: &str) -> crate::Result<response::Members> {
let url = format!("https://api.deepgram.com/v1/projects/{project_id}/members",);
send_and_translate_response(self.0.client.get(url)).await
}
pub async fn remove_member(&self, project_id: &str, member_id: &str) -> crate::Result<Message> {
let url = format!("https://api.deepgram.com/v1/projects/{project_id}/members/{member_id}",);
send_and_translate_response(self.0.client.delete(url)).await
}
}