Skip to main content

canic_core/api/lifecycle/
nonroot.rs

1use crate::{
2    config::schema::ConfigModel,
3    dto::{abi::v1::CanisterInitPayload, env::EnvBootstrapArgs},
4    ids::CanisterRole,
5    lifecycle,
6};
7
8///
9/// LifecycleApi
10///
11
12pub struct LifecycleApi;
13
14impl LifecycleApi {
15    pub fn init_nonroot_canister_before_bootstrap(
16        role: CanisterRole,
17        payload: CanisterInitPayload,
18        config: ConfigModel,
19        config_source: &str,
20        config_path: &str,
21    ) {
22        lifecycle::init::nonroot::init_nonroot_canister_before_bootstrap(
23            role,
24            payload,
25            config,
26            config_source,
27            config_path,
28        );
29    }
30
31    pub fn schedule_init_nonroot_bootstrap() {
32        lifecycle::init::nonroot::schedule_init_nonroot_bootstrap();
33    }
34
35    pub fn init_local_nonroot_canister_before_bootstrap(
36        role: CanisterRole,
37        env: EnvBootstrapArgs,
38        config: ConfigModel,
39        config_source: &str,
40        config_path: &str,
41    ) {
42        lifecycle::init::nonroot::init_local_nonroot_canister_before_bootstrap(
43            role,
44            env,
45            config,
46            config_source,
47            config_path,
48        );
49    }
50
51    #[must_use]
52    pub fn post_upgrade_nonroot_canister_before_bootstrap(
53        role: CanisterRole,
54        config: ConfigModel,
55        config_source: &str,
56        config_path: &str,
57    ) -> bool {
58        lifecycle::upgrade::nonroot::post_upgrade_nonroot_canister_before_bootstrap(
59            role,
60            config,
61            config_source,
62            config_path,
63        )
64    }
65
66    pub fn schedule_post_upgrade_nonroot_bootstrap() {
67        lifecycle::upgrade::nonroot::schedule_post_upgrade_nonroot_bootstrap();
68    }
69
70    #[must_use]
71    pub fn post_upgrade_local_nonroot_canister_before_bootstrap(
72        role: CanisterRole,
73        config: ConfigModel,
74        config_source: &str,
75        config_path: &str,
76    ) -> bool {
77        lifecycle::upgrade::nonroot::post_upgrade_local_nonroot_canister_before_bootstrap(
78            role,
79            config,
80            config_source,
81            config_path,
82        )
83    }
84}