Skip to main content

canic_core/api/
mod.rs

1//! Module: api
2//!
3//! Responsibility: public API facades for macro-generated canister endpoints.
4//! Does not own: orchestration, business logic, policy, or storage invariants.
5//! Boundary: maps endpoint calls into workflow calls and public errors.
6
7pub mod auth;
8pub mod authority_restore;
9#[cfg(feature = "blob-storage")]
10pub mod blob_storage;
11pub mod call;
12pub mod cascade;
13pub mod component_deployment;
14pub mod component_runtime;
15pub mod config;
16pub mod error;
17pub mod fixture_content;
18pub mod fixture_provisioning;
19pub mod fleet_activation;
20pub mod fleet_admission_projection;
21pub mod ic;
22pub mod icp_refill;
23pub mod intent;
24pub mod lifecycle;
25pub mod memory;
26pub mod metadata;
27pub mod observability;
28pub mod placement;
29pub mod public_status;
30pub mod ready;
31pub mod role;
32pub mod rpc;
33pub mod runtime;
34pub mod state;
35pub mod timer;
36pub mod topology;
37
38///
39/// Read-only query re-exports
40///
41/// Only queries that satisfy ALL of the following may be re-exported directly:
42///
43/// - Read-only
44/// - No orchestration or side effects
45/// - No policy or invariant enforcement
46/// - No internal `InternalError` in public signatures
47/// - Return DTOs or primitives only
48///
49/// Queries that can fail with internal errors or enforce invariants
50/// MUST be wrapped in an API façade instead.
51///
52
53pub mod cycles {
54    pub use crate::workflow::runtime::cycles::query::CycleTrackerQuery;
55}
56pub mod env {
57    pub use crate::workflow::env::query::EnvQuery;
58}
59pub mod icrc {
60    pub use crate::workflow::icrc::query::{Icrc10Query, Icrc21Query};
61}
62pub mod log {
63    pub use crate::workflow::log::query::LogQuery;
64}
65pub mod metrics {
66    pub use crate::workflow::metrics::query::MetricsQuery;
67}