use serde::{Deserialize, Serialize};
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
pub struct PublicKeyInfo {
pub key_type: String,
pub key_id: String,
pub public_key_pem: String,
pub revocation_info_url: Option<String>,
}
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
pub struct SignatureInfo {
pub key_id: String,
pub signature: String,
pub signed_at: String,
}
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
pub struct PinningInfo {
pub schema_hash: String,
pub pinned_at: String,
pub expires_at: Option<String>,
}
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
pub struct SchemaPin {
pub schema_uri: String,
pub schema_content: String,
pub pinning_info: PinningInfo,
pub signatures: Vec<SignatureInfo>,
}