Skip to main content

ephemeris_forge_github/api/http/
pages.rs

1use ephemeris_forge::{RepoRef, encode};
2use reqwest::Method;
3
4use crate::api::HttpApi;
5use crate::api::error::ForgeError;
6use crate::api::model::Pages;
7use crate::api::operations::PagesApi;
8use crate::api::request::{PagesCreate, PagesUpdate};
9
10impl PagesApi for HttpApi {
11    async fn create_pages(
12        &self,
13        repository: &RepoRef,
14        site: &PagesCreate,
15    ) -> Result<(), ForgeError> {
16        self.empty(Method::POST, &path(repository), Some(encode(site)))
17            .await
18    }
19
20    async fn delete_pages(&self, repository: &RepoRef) -> Result<(), ForgeError> {
21        self.empty(Method::DELETE, &path(repository), None).await
22    }
23
24    async fn pages(&self, repository: &RepoRef) -> Result<Option<Pages>, ForgeError> {
25        self.optional(&path(repository)).await
26    }
27
28    async fn update_pages(
29        &self,
30        repository: &RepoRef,
31        site: &PagesUpdate,
32    ) -> Result<(), ForgeError> {
33        self.empty(Method::PUT, &path(repository), Some(encode(site)))
34            .await
35    }
36}
37
38fn path(repository: &RepoRef) -> String {
39    repository.path("pages")
40}