1use crate::low_level::apis::{repos_api, Error};
2use crate::models;
3
4use super::RepoClient;
5
6#[derive(Clone, Debug)]
8pub struct SyncClient<'a> {
9 pub(super) repo: &'a RepoClient<'a>,
10}
11
12impl SyncClient<'_> {
13 #[tracing::instrument(skip(self), fields(org = self.repo.org.org, repo = self.repo.repo), err(Debug))]
19 pub async fn status(
20 &self,
21 ) -> Result<models::GetByOrgByRepoSync200Response, Error<repos_api::GetByOrgByRepoSyncError>>
22 {
23 repos_api::get_by_org_by_repo_sync(self.repo.org.config, self.repo.org.org, self.repo.repo)
24 .await
25 }
26
27 #[tracing::instrument(skip(self), fields(org = self.repo.org.org, repo = self.repo.repo), err(Debug))]
33 pub async fn trigger(
34 &self,
35 ) -> Result<models::DeleteByOrgApiKeysById200Response, Error<repos_api::PostByOrgByRepoSyncError>>
36 {
37 repos_api::post_by_org_by_repo_sync(self.repo.org.config, self.repo.org.org, self.repo.repo)
38 .await
39 }
40}