use crate::qualifiable::{qualifiable_type, Qualifiable};
use crate::{Validatable, ValidationError};
qualifiable_type!(RichSchemaId, "A rich schema identifier");
impl RichSchemaId {
pub const PREFIX: &'static str = "rich_schema";
pub fn new(did_string: String) -> RichSchemaId {
RichSchemaId(did_string)
}
}
impl Validatable for RichSchemaId {
fn validate(&self) -> Result<(), ValidationError> {
Ok(())
}
}
impl Qualifiable for RichSchemaId {
fn prefix() -> &'static str {
Self::PREFIX
}
}
#[cfg(test)]
mod tests {
use super::*;
fn _rs_id_qualified() -> RichSchemaId {
RichSchemaId("did:sov:some_hash_value_or_something_else".to_string())
}
fn _rs_id_unqualified() -> RichSchemaId {
RichSchemaId("some_other:sov:some_hash_value_or_something_else".to_string())
}
#[test]
fn _validate_qualified_rs_id() {
_rs_id_qualified().validate().unwrap();
}
}