Skip to main content

canic_core/domain/
runtime.rs

1//! Module: domain::runtime
2//!
3//! Responsibility: define pure runtime value enums shared by runtime ops,
4//! status builders, and endpoint DTOs.
5//! Does not own: runtime status DTO structs, endpoint guards, or runtime
6//! mutation.
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, Serialize};
12
13///
14/// FailureSeverity
15///
16
17#[derive(CandidType, Clone, Copy, Debug, Deserialize, Eq, PartialEq, Serialize)]
18#[serde(rename_all = "snake_case")]
19pub enum FailureSeverity {
20    #[serde(alias = "Info")]
21    Info,
22    #[serde(alias = "Warning")]
23    Warning,
24    #[serde(alias = "Error")]
25    Error,
26    #[serde(alias = "Critical")]
27    Critical,
28}
29
30///
31/// RuntimeFieldVisibility
32///
33
34#[derive(CandidType, Clone, Copy, Debug, Deserialize, Eq, PartialEq, Serialize)]
35#[serde(rename_all = "snake_case")]
36pub enum RuntimeFieldVisibility {
37    #[serde(alias = "PublicSafe")]
38    PublicSafe,
39    #[serde(alias = "OperatorOnly")]
40    OperatorOnly,
41    #[serde(alias = "ControllerOnly")]
42    ControllerOnly,
43    #[serde(alias = "FeatureGated")]
44    FeatureGated,
45    #[serde(alias = "Disabled")]
46    Disabled,
47}
48
49///
50/// RuntimeCheckStatus
51///
52
53#[derive(CandidType, Clone, Copy, Debug, Deserialize, Eq, PartialEq, Serialize)]
54#[serde(rename_all = "snake_case")]
55pub enum RuntimeCheckStatus {
56    #[serde(alias = "Pass")]
57    Pass,
58    #[serde(alias = "Warn")]
59    Warn,
60    #[serde(alias = "Fail")]
61    Fail,
62    #[serde(alias = "NotEvaluated")]
63    NotEvaluated,
64}
65
66///
67/// RuntimeDiagnosticSeverity
68///
69
70#[derive(CandidType, Clone, Copy, Debug, Deserialize, Eq, PartialEq, Serialize)]
71#[serde(rename_all = "snake_case")]
72pub enum RuntimeDiagnosticSeverity {
73    #[serde(alias = "Info")]
74    Info,
75    #[serde(alias = "Warning")]
76    Warning,
77    #[serde(alias = "Blocked")]
78    Blocked,
79    #[serde(alias = "Unsupported")]
80    Unsupported,
81}
82
83///
84/// RuntimeStateDomainStatus
85///
86
87#[derive(CandidType, Clone, Copy, Debug, Deserialize, Eq, PartialEq, Serialize)]
88#[serde(rename_all = "snake_case")]
89pub enum RuntimeStateDomainStatus {
90    #[serde(alias = "Ok")]
91    Ok,
92    #[serde(alias = "Warning")]
93    Warning,
94    #[serde(alias = "Failing")]
95    Failing,
96    #[serde(alias = "NotEvaluated")]
97    NotEvaluated,
98}