33 lines
868 B
Rust
33 lines
868 B
Rust
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)
|
|
}
|
|
}
|