use crate::security::AuthContext;
#[derive(Debug, Clone)]
#[allow(dead_code)]
pub enum Permission {
NeuronRead,
NeuronCreate,
NeuronDelete,
CorticalAreaRead,
CorticalAreaCreate,
CorticalAreaUpdate,
CorticalAreaDelete,
BrainRegionRead,
BrainRegionCreate,
BrainRegionUpdate,
BrainRegionDelete,
GenomeLoad,
GenomeSave,
GenomeValidate,
AnalyticsRead,
SystemAdmin,
SystemRead,
}
pub struct Authorizer;
impl Authorizer {
pub fn authorize(_ctx: &AuthContext, _perm: Permission) -> Result<(), AuthzError> {
Ok(()) }
}
#[derive(Debug, Clone)]
pub struct AuthzError {
pub message: String,
}
impl AuthzError {
pub fn new(message: impl Into<String>) -> Self {
Self {
message: message.into(),
}
}
}
impl std::fmt::Display for AuthzError {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
write!(f, "{}", self.message)
}
}
impl std::error::Error for AuthzError {}