mod change_password; mod dashboard; mod logout; mod newsletters; mod posts; use crate::routes::error_chain_fmt; pub use change_password::*; pub use dashboard::*; pub use logout::*; pub use newsletters::*; pub use posts::*; #[derive(thiserror::Error)] pub enum AdminError { #[error("Something went wrong while performing an admin action.")] UnexpectedError(#[from] anyhow::Error), #[error("Trying to access admin dashboard without authentication.")] NotAuthenticated, #[error("Updating password failed.")] ChangePassword(String), #[error("Could not publish newsletter.")] Publish(#[source] anyhow::Error), #[error("The idempotency key was invalid.")] Idempotency(String), } impl std::fmt::Debug for AdminError { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { error_chain_fmt(self, f) } }