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}