use thiserror::Error;
#[derive(Debug, Error, Clone, PartialEq)]
pub enum MetadataError {
#[error("Invalid metadata: {0}")]
InvalidMetadata(String),
#[error("Metadata signature invalid: {0}")]
SignatureInvalid(String),
#[error("Missing required endpoint: {0}")]
MissingRequiredEndpoint(String),
#[error("Schema violation: {0}")]
SchemaViolation(String),
#[error("Metadata expired: validUntil {0}")]
Expired(String),
#[error("Core error: {0}")]
Core(#[from] crate::core::error::CoreError),
#[error("XML error: {0}")]
Xml(String),
}
impl From<crate::xml::XmlError> for MetadataError {
fn from(e: crate::xml::XmlError) -> Self {
MetadataError::Xml(e.to_string())
}
}