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