use crate::client::{HttpMethod, Rerout};
use crate::error::Result;
use crate::models::{ProjectInfo, ProjectStats};
#[derive(Debug, Clone)]
pub struct Project<'a> {
client: &'a Rerout,
}
impl<'a> Project<'a> {
pub(crate) fn new(client: &'a Rerout) -> Self {
Self { client }
}
pub async fn stats(&self, days: u32) -> Result<ProjectStats> {
let query = [("days", days.to_string())];
self.client
.request_json::<ProjectStats, ()>(
HttpMethod::Get,
"/v1/projects/me/stats",
Some(&query),
None,
)
.await
}
pub async fn me(&self) -> Result<ProjectInfo> {
self.client
.request_json::<ProjectInfo, ()>(HttpMethod::Get, "/v1/projects/me", None, None)
.await
}
}