canic_core/workflow/state/
query.rs

1use crate::{
2    dto::state::{AppStateView, SubnetStateView},
3    ops::storage::state::{app::AppStateOps, subnet::SubnetStateOps},
4    workflow::state::mapper::{AppStateMapper, SubnetStateMapper},
5};
6
7///
8/// AppStateQuery
9///
10
11pub struct AppStateQuery;
12
13impl AppStateQuery {
14    #[must_use]
15    pub fn view() -> AppStateView {
16        let snapshot = AppStateOps::snapshot();
17
18        AppStateMapper::snapshot_to_view(snapshot)
19    }
20}
21
22///
23/// SubnetStateQuery
24///
25
26pub struct SubnetStateQuery;
27
28impl SubnetStateQuery {
29    #[must_use]
30    pub fn view() -> SubnetStateView {
31        let snapshot = SubnetStateOps::snapshot();
32
33        SubnetStateMapper::snapshot_to_view(snapshot)
34    }
35}