use thiserror::Error;
#[derive(Debug, Error, Clone)]
pub enum GovernanceError {
#[error("schema '{schema_id}' does not exist")]
SchemaDoesNotExist { schema_id: String },
#[error("creator must be a governance member")]
CreatorNotMember,
#[error("member '{name}' not found")]
MemberNotFound { name: String },
#[error("no quorum found for role {role} and schema {schema_id}")]
QuorumNotFound { role: String, schema_id: String },
#[error("attempting to obtain witnesses for a schema that does not exist")]
WitnessesForNonexistentSchema,
#[error("cannot convert value into GovernanceData: {details}")]
ConversionFailed { details: String },
#[error("{0}")]
Generic(String),
}
impl From<String> for GovernanceError {
fn from(s: String) -> Self {
Self::Generic(s)
}
}
impl From<&str> for GovernanceError {
fn from(s: &str) -> Self {
Self::Generic(s.to_string())
}
}