use serde::{Deserialize, Serialize};
#[derive(Debug, Serialize)]
pub struct SchemaPayload<'a> {
pub schema: &'a str,
#[serde(rename = "schemaType", skip_serializing_if = "Option::is_none")]
pub schema_type: Option<&'a str>,
#[serde(skip_serializing_if = "<[_]>::is_empty")]
pub references: &'a [SchemaReference],
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
pub struct SchemaReference {
pub name: String,
pub subject: String,
pub version: i32,
}
#[derive(Debug, Deserialize)]
pub struct RegisterResponse {
pub id: u32,
}
#[derive(Debug, Deserialize)]
pub struct SubjectVersionResponse {
pub id: u32,
#[serde(default)]
pub version: i32,
#[serde(default)]
pub schema: String,
#[serde(rename = "schemaType", default)]
pub schema_type: Option<String>,
}
#[derive(Debug, Deserialize)]
pub struct SchemaByIdResponse {
pub schema: String,
#[serde(rename = "schemaType", default)]
pub schema_type: Option<String>,
}