schema_registry_api/domain/
compatibility.rs

1/// Compatibility result
2#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
3pub struct CompatibilityResult {
4    /// is compatible
5    pub is_compatible: bool,
6}
7
8/// Compatibility level
9#[derive(Debug, Clone, Copy, PartialEq, Eq, Default, serde::Serialize, serde::Deserialize)]
10#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
11pub enum CompatibilityLevel {
12    /// None
13    #[default]
14    None,
15    /// Backward
16    Backward,
17    /// Forward
18    Forward,
19    /// Full
20    Full,
21    /// Backward transitive
22    BackwardTransitive,
23    /// Forward transitive
24    ForwardTransitive,
25    /// Full transitive
26    FullTransitive,
27}
28
29/// The compatibility
30#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
31pub struct Compatibility {
32    /// The compatibility level
33    pub compatibility: CompatibilityLevel,
34}
35
36/// The compatibility get result
37#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
38pub struct GetCompatibility {
39    /// The compatibility level
40    #[serde(rename = "compatibilityLevel")]
41    pub compatibility_level: CompatibilityLevel,
42}