canic_core/workflow/state/
query.rs

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