use reqwest::Method;
use crate::{
client::Browserbase,
error::Error,
models::{Project, ProjectUsage},
};
pub struct Projects<'a> {
client: &'a Browserbase,
}
impl<'a> Projects<'a> {
pub(crate) fn new(client: &'a Browserbase) -> Self {
Self { client }
}
pub async fn list(&self) -> Result<Vec<Project>, Error> {
let rb = self.client.request(Method::GET, "projects")?;
self.client.send_json(rb).await
}
pub async fn get(&self, id: &str) -> Result<Project, Error> {
let rb = self
.client
.request(Method::GET, &format!("projects/{id}"))?;
self.client.send_json(rb).await
}
pub async fn usage(&self, id: &str) -> Result<ProjectUsage, Error> {
let rb = self
.client
.request(Method::GET, &format!("projects/{id}/usage"))?;
self.client.send_json(rb).await
}
}