Skip to main content

ephemeris_forge_github/reconcile/
pages.rs

1use ephemeris_forge::RepoRef;
2
3use super::Client;
4use crate::api::{Api, ForgeError};
5use crate::operation::pages::Operation;
6use crate::{Live, Pages};
7
8impl<A: Api> Client<A> {
9    pub(super) async fn read_pages(
10        &self,
11        repository: &RepoRef,
12        config: Option<&Pages>,
13        live: &mut Live,
14    ) -> Result<(), ForgeError> {
15        if config.is_some() {
16            live.pages = self.api.pages(repository).await?;
17        }
18        Ok(())
19    }
20
21    pub(super) async fn apply_pages(
22        &self,
23        repository: &RepoRef,
24        operation: &Operation,
25    ) -> Result<(), ForgeError> {
26        match operation {
27            Operation::Create(site) => self.api.create_pages(repository, site).await,
28            Operation::Update(site) => self.api.update_pages(repository, site).await,
29            Operation::Delete => self.api.delete_pages(repository).await,
30        }
31    }
32}