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