mesa_dev/client/
analytics.rs1use crate::low_level::apis::{agent_blame_api, Error};
2use crate::models;
3
4use super::RepoClient;
5
6#[derive(Clone, Debug)]
8pub struct AnalyticsClient<'a> {
9 pub(super) repo: &'a RepoClient<'a>,
10}
11
12impl AnalyticsClient<'_> {
13 #[tracing::instrument(skip(self), fields(org = self.repo.org.org, repo = self.repo.repo), err(Debug))]
19 pub async fn get(
20 &self,
21 period: Option<&str>,
22 ) -> Result<
23 models::GetByOrgByRepoAnalytics200Response,
24 Error<agent_blame_api::GetByOrgByRepoAnalyticsError>,
25 > {
26 agent_blame_api::get_by_org_by_repo_analytics(
27 self.repo.org.config,
28 self.repo.org.org,
29 self.repo.repo,
30 period,
31 )
32 .await
33 }
34
35 #[tracing::instrument(skip(self), fields(org = self.repo.org.org, repo = self.repo.repo), err(Debug))]
41 pub async fn refresh(
42 &self,
43 ) -> Result<
44 models::GetByOrgByRepoAnalytics200Response,
45 Error<agent_blame_api::PostByOrgByRepoAnalyticsRefreshError>,
46 > {
47 agent_blame_api::post_by_org_by_repo_analytics_refresh(
48 self.repo.org.config,
49 self.repo.org.org,
50 self.repo.repo,
51 )
52 .await
53 }
54
55 #[tracing::instrument(skip(self), fields(org = self.repo.org.org, repo = self.repo.repo), err(Debug))]
61 pub async fn agentblame(
62 &self,
63 base: &str,
64 head: &str,
65 ) -> Result<
66 models::GetByOrgByRepoAgentblame200Response,
67 Error<agent_blame_api::GetByOrgByRepoAgentblameError>,
68 > {
69 agent_blame_api::get_by_org_by_repo_agentblame(
70 self.repo.org.config,
71 self.repo.org.org,
72 self.repo.repo,
73 base,
74 head,
75 )
76 .await
77 }
78}