canic_core/dto/
cascade.rs1use crate::dto::{prelude::*, state::FleetStateInput, topology::FleetDirectoryInput};
2#[derive(CandidType, Clone, Debug, Deserialize)]
9pub struct StateSnapshotInput {
10 pub fleet_state: Option<FleetStateInput>,
11 pub fleet_directory: Option<FleetDirectoryInput>,
12}
13
14#[derive(CandidType, Clone, Debug, Deserialize)]
21pub struct TopologySnapshotInput {
22 pub parents: Vec<TopologyPathNode>,
23 pub children_map: Vec<TopologyChildren>,
25}
26
27#[derive(CandidType, Clone, Debug, Deserialize)]
34pub struct TopologyChildren {
35 pub parent_pid: Principal,
36 pub children: Vec<TopologyDirectChild>,
37}
38
39#[derive(CandidType, Clone, Debug, Deserialize)]
46pub struct TopologyDirectChild {
47 pub pid: Principal,
48 pub role: CanisterRole,
49}
50
51#[derive(CandidType, Clone, Debug, Deserialize)]
58pub struct TopologyPathNode {
59 pub pid: Principal,
60 pub role: CanisterRole,
61 pub parent_pid: Option<Principal>,
62}