commemorate 0.0.1

A CLI tool to commemorate important events.
Documentation
use thiserror::Error;

#[derive(Error, Debug)]
pub enum CommemorateError {
    #[error("Failed to read file: {0}")]
    FileReadError(#[from] std::io::Error),

    #[error("Failed to parse YAML: {0}")]
    YamlParseError(#[from] serde_yaml::Error),

    #[error("Failed to encrypt data: {0}")]
    EncryptionError(String),

    #[error("Failed to decrypt data: {0}")]
    DecryptionError(String),

    #[error("Invalid password: {0}")]
    InvalidPassword(String),

    #[error("Invalid time format: {0}")]
    InvalidTimeFormat(String),

    #[error("Invalid timezone: {0}")]
    InvalidTimezone(String),

    #[error("Event not found: {0}")]
    EventNotFound(String),

    #[error("Failed to create directory: {0}")]
    DirectoryCreationError(String),

    #[error("Ah, maybe this isn't the place for memories, let's look somewhere else")]
    MemoryInvalid(String),

    #[error("Oops! We couldn't find that precious memory. Would you like to create a new one?")]
    MemoryNotFound,

    #[error("It seems we can't access this memory right now. Perhaps it's time to find a safer place for it?")]
    MemoryAccessError,

    #[error("Hmm, that password doesn't seem quite right. Take a deep breath and try to recall that special moment.")]
    IncorrectPassword,
}

pub type CommemorateResult<T> = Result<T, CommemorateError>;