Skip to main content

canic_core/api/lifecycle/
root.rs

1use crate::{
2    config::{RoleRuntimeAuthority, schema::ConfigModel},
3    dto::fleet_subnet_root::FleetSubnetRootInitArgs,
4    lifecycle,
5};
6
7///
8/// LifecycleApi
9///
10
11pub struct LifecycleApi;
12
13impl LifecycleApi {
14    pub fn init_root_canister_before_bootstrap(
15        args: FleetSubnetRootInitArgs,
16        embedded_release_build_id: Option<&str>,
17        runtime_authority: RoleRuntimeAuthority,
18        config: ConfigModel,
19        config_source: &str,
20        config_path: &str,
21    ) {
22        lifecycle::init::root::init_root_canister_before_bootstrap(
23            args,
24            embedded_release_build_id,
25            runtime_authority,
26            config,
27            config_source,
28            config_path,
29        );
30    }
31
32    #[must_use]
33    pub fn post_upgrade_root_canister_before_bootstrap(
34        embedded_release_build_id: Option<&str>,
35        runtime_authority: RoleRuntimeAuthority,
36        config: ConfigModel,
37        config_source: &str,
38        config_path: &str,
39    ) -> bool {
40        lifecycle::upgrade::root::post_upgrade_root_canister_before_bootstrap(
41            embedded_release_build_id,
42            runtime_authority,
43            config,
44            config_source,
45            config_path,
46        )
47    }
48}