canic_core/api/
cascade.rs1use crate::{
2 dto::{
3 cascade::{StateSnapshotView, TopologySnapshotView},
4 error::Error,
5 },
6 workflow::cascade::{state::StateCascadeWorkflow, topology::TopologyCascadeWorkflow},
7};
8
9pub struct CascadeApi;
14
15impl CascadeApi {
16 pub async fn sync_state(view: StateSnapshotView) -> Result<(), Error> {
17 StateCascadeWorkflow::nonroot_cascade_state(view)
18 .await
19 .map_err(Error::from)
20 }
21
22 pub async fn sync_topology(view: TopologySnapshotView) -> Result<(), Error> {
23 TopologyCascadeWorkflow::nonroot_cascade_topology(view)
24 .await
25 .map_err(Error::from)
26 }
27}