db-library 0.1.2

A Rust library for listening to database changes and notifying connected backend services.
Documentation
use core::fmt;
use std::error::Error;

#[derive(Debug)]
pub enum AppError {
    StartUpError(String),
    Other(String),
}

impl fmt::Display for AppError {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        write!(
            f,
            "{} : {:#?}",
            match self {
                AppError::StartUpError(_) => "Start up error",
                AppError::Other(_) => "App error",
            },
            self
        )
    }
}

impl Error for AppError {}

#[derive(Debug)]
pub enum DBListenerError {
    CreationError(String),
    DeletionError(String),
    ListenerStartError(String),
    ListenerStopError(String),
    ListenerVerifyError(String),
    ListenerError(String),
    Other(String),
}

impl fmt::Display for DBListenerError {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        let (prefix, err) = match self {
            DBListenerError::CreationError(err) => ("Database creation error", err),
            DBListenerError::DeletionError(err) => ("Database deletion error", err),
            DBListenerError::ListenerStartError(err) => ("Database Listener error", err),
            DBListenerError::ListenerStopError(err) => ("Database Listener error", err),
            DBListenerError::ListenerVerifyError(err) => ("Database Listener error", err),
            DBListenerError::ListenerError(err) => ("Database Listener error", err),
            DBListenerError::Other(err) => ("Database Listener error", err),
        };
        write!(f, "{} : {:?}", prefix, err)
    }
}

impl Error for DBListenerError {}