use thiserror::Error;
pub type CronResult<T> = Result<T, CronError>;
#[derive(Debug, Error)]
pub enum CronError {
#[error("Invalid cron expression: {0}")]
InvalidExpression(String),
#[error("Job not found: {0}")]
JobNotFound(String),
#[error("Job already exists: {0}")]
JobAlreadyExists(String),
#[error("Job execution failed: {0}")]
ExecutionFailed(String),
#[error("Scheduler not running")]
SchedulerNotRunning,
#[error("Scheduler already running")]
SchedulerAlreadyRunning,
#[error("Configuration error: {0}")]
Config(String),
#[error("Cron error: {0}")]
Other(String),
}