Skip to main content

canic_core/domain/
pool.rs

1//! Module: domain::pool
2//!
3//! Responsibility: define pure pool value enums shared across storage
4//! projections, workflow decisions, and endpoint DTOs.
5//! Does not own: pool command/response DTO structs, stable pool records, or
6//! pool scheduling workflows.
7//! Boundary: DTOs re-export these values to preserve the public API path while
8//! internal code imports them from the domain owner.
9
10use candid::CandidType;
11use serde::Deserialize;
12
13///
14/// CanisterPoolStatus
15///
16
17#[derive(CandidType, Clone, Debug, Deserialize, Eq, PartialEq)]
18pub enum CanisterPoolStatus {
19    PendingReset,
20    Ready,
21    Failed { reason: String },
22}