canic_core/api/
lifecycle.rs

1use crate::{
2    dto::{abi::v1::CanisterInitPayload, subnet::SubnetIdentity},
3    ids::CanisterRole,
4    lifecycle,
5};
6
7///
8/// LifecycleApi
9///
10
11pub struct LifecycleApi;
12
13impl LifecycleApi {
14    pub fn init_root_canister(identity: SubnetIdentity, config_str: &str, config_path: &str) {
15        lifecycle::init::init_root_canister(identity, config_str, config_path);
16    }
17
18    pub fn post_upgrade_root_canister(config_str: &str, config_path: &str) {
19        lifecycle::upgrade::post_upgrade_root_canister(config_str, config_path);
20    }
21
22    pub fn init_nonroot_canister(
23        role: CanisterRole,
24        payload: CanisterInitPayload,
25        args: Option<Vec<u8>>,
26        config_str: &str,
27        config_path: &str,
28    ) {
29        lifecycle::init::init_nonroot_canister(role, payload, args, config_str, config_path);
30    }
31
32    pub fn post_upgrade_nonroot_canister(role: CanisterRole, config_str: &str, config_path: &str) {
33        lifecycle::upgrade::post_upgrade_nonroot_canister(role, config_str, config_path);
34    }
35}