ephemeris_forge_github/api/http/
pages.rs1use 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}