Skip to main content

canic_core/workflow/state/
query.rs

1//! Module: workflow::state::query
2//!
3//! Responsibility: expose read-only app and subnet state workflow snapshots.
4//! Does not own: state storage mutation, endpoint authorization, or DTO schemas.
5//! Boundary: workflow query facade over state storage ops.
6
7use crate::{
8    dto::state::{AppStateResponse, SubnetStateResponse},
9    ops::storage::state::{app::AppStateOps, subnet::SubnetStateOps},
10};
11
12///
13/// AppStateQuery
14///
15
16pub struct AppStateQuery;
17
18impl AppStateQuery {
19    #[must_use]
20    pub fn snapshot() -> AppStateResponse {
21        AppStateOps::snapshot_response()
22    }
23}
24
25///
26/// SubnetStateQuery
27///
28
29pub struct SubnetStateQuery;
30
31impl SubnetStateQuery {
32    #[must_use]
33    pub fn snapshot() -> SubnetStateResponse {
34        SubnetStateOps::snapshot_response()
35    }
36}