Skip to main content

canic_core/api/lifecycle/
nonroot.rs

1use crate::{
2    config::schema::ConfigModel, dto::abi::v1::CanisterInitPayload, ids::CanisterRole, lifecycle,
3};
4
5///
6/// LifecycleApi
7///
8
9pub struct LifecycleApi;
10
11impl LifecycleApi {
12    pub fn init_nonroot_canister_before_bootstrap(
13        role: CanisterRole,
14        payload: CanisterInitPayload,
15        config: ConfigModel,
16        config_source: &str,
17        config_path: &str,
18        with_role_attestation_refresh: bool,
19    ) {
20        lifecycle::init::nonroot::init_nonroot_canister_before_bootstrap(
21            role,
22            payload,
23            config,
24            config_source,
25            config_path,
26            with_role_attestation_refresh,
27        );
28    }
29
30    pub fn schedule_init_nonroot_bootstrap(args: Option<Vec<u8>>) {
31        lifecycle::init::nonroot::schedule_init_nonroot_bootstrap(args);
32    }
33
34    pub fn post_upgrade_nonroot_canister_before_bootstrap(
35        role: CanisterRole,
36        config: ConfigModel,
37        config_source: &str,
38        config_path: &str,
39        with_role_attestation_refresh: bool,
40    ) {
41        lifecycle::upgrade::nonroot::post_upgrade_nonroot_canister_before_bootstrap(
42            role,
43            config,
44            config_source,
45            config_path,
46            with_role_attestation_refresh,
47        );
48    }
49
50    pub fn schedule_post_upgrade_nonroot_bootstrap() {
51        lifecycle::upgrade::nonroot::schedule_post_upgrade_nonroot_bootstrap();
52    }
53}