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