made-core 0.7.4

Domain core of MADE: entities, value objects, events, ports. No IO.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use serde::{Deserialize, Serialize};

/// How a connector establishes what happened after an ambiguous interruption.
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "snake_case")]
pub enum ExecutionRecoveryCapability {
    IdempotentByOperationId,
    QueryableByOperationId,
    ReconciliationRequired,
}

impl ExecutionRecoveryCapability {
    #[must_use]
    pub const fn supports_automatic_recovery(self) -> bool {
        !matches!(self, Self::ReconciliationRequired)
    }
}