made_core/value_objects/
support_verdict.rs1use serde::{Deserialize, Serialize};
2
3use super::{SupportConfidence, SupportDecision, SupportRationale};
4
5#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
7pub struct SupportVerdict {
8 decision: SupportDecision,
9 confidence: SupportConfidence,
10 rationale: SupportRationale,
11}
12
13impl SupportVerdict {
14 #[must_use]
15 pub const fn new(
16 decision: SupportDecision,
17 confidence: SupportConfidence,
18 rationale: SupportRationale,
19 ) -> Self {
20 Self {
21 decision,
22 confidence,
23 rationale,
24 }
25 }
26
27 #[must_use]
28 pub const fn decision(&self) -> SupportDecision {
29 self.decision
30 }
31
32 #[must_use]
33 pub const fn confidence(&self) -> SupportConfidence {
34 self.confidence
35 }
36
37 #[must_use]
38 pub const fn rationale(&self) -> &SupportRationale {
39 &self.rationale
40 }
41}