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;
8#[cfg(feature = "blob-storage")]
9pub mod blob_storage;
10pub mod call;
11pub mod cascade;
12pub mod config;
13pub mod error;
14pub mod fleet_activation;
15pub mod ic;
16pub mod icp_refill;
17pub mod intent;
18pub mod lifecycle;
19pub mod memory;
20pub mod metadata;
21pub mod placement;
22pub mod pool;
23pub mod ready;
24pub mod rpc;
25pub mod runtime;
26pub mod state;
27pub mod timer;
28pub mod topology;
29
30///
31/// Read-only query re-exports
32///
33/// Only queries that satisfy ALL of the following may be re-exported directly:
34///
35/// - Read-only
36/// - No orchestration or side effects
37/// - No policy or invariant enforcement
38/// - No internal `InternalError` in public signatures
39/// - Return DTOs or primitives only
40///
41/// Queries that can fail with internal errors or enforce invariants
42/// MUST be wrapped in an API façade instead.
43///
44
45pub mod cycles {
46    pub use crate::workflow::runtime::cycles::query::CycleTrackerQuery;
47}
48pub mod env {
49    pub use crate::workflow::env::query::EnvQuery;
50}
51pub mod icrc {
52    pub use crate::workflow::icrc::query::{Icrc10Query, Icrc21Query};
53}
54pub mod log {
55    pub use crate::workflow::log::query::LogQuery;
56}
57pub mod metrics {
58    pub use crate::workflow::metrics::query::MetricsQuery;
59}