#[derive(thiserror::Error, Debug)]
pub enum Error {
#[error("D-Bus operation failed: {0}")]
DbusError(#[from] zbus::Error),
#[error("cannot initialize notification service: {0}")]
ServiceInitializationFailed(String),
#[error("cannot claim org.freedesktop.Notifications: {0}")]
NameClaimFailed(String),
#[error("Database operation failed: {0}")]
DatabaseError(String),
#[error("Notification with ID {0} not found")]
NotificationNotFound(u32),
#[error("Invalid notification data: {0}")]
InvalidNotificationData(String),
#[error("cannot {operation}")]
OperationFailed {
operation: &'static str,
#[source]
source: Box<dyn std::error::Error + Send + Sync>,
},
}