schema_registry_api/domain/schema/
mod.rs1mod id;
2mod reference;
3mod version;
4
5use std::fmt::Display;
6
7pub use self::id::*;
8pub use self::reference::*;
9pub use self::version::*;
10
11#[derive(Debug, Clone, Copy, PartialEq, Default, Eq, serde::Serialize, serde::Deserialize)]
13#[serde(rename_all = "UPPERCASE")]
14pub enum SchemaType {
15 #[default]
17 Avro,
18 Protobuf,
20 Json,
22}
23
24impl Display for SchemaType {
25 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
26 match self {
27 SchemaType::Avro => write!(f, "Avro"),
28 SchemaType::Protobuf => write!(f, "Protobuf"),
29 SchemaType::Json => write!(f, "Json"),
30 }
31 }
32}
33
34#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
36pub struct Schema {
37 pub schema: String,
39}