use super::*; use std::{ str, fmt, path::{ PathBuf, }, }; /// Target for oneshots #[derive(Debug,Eq,PartialEq,Hash)] pub enum Target { /// Fired when daemon starts Startup, /// Fired when config reloaded Reload, /// Fired only when user tells it to Specific, } /// When the job should be ran #[derive(Debug, PartialEq,Eq,Hash)] pub enum When { /// Run when a target is reached Oneshot(Target), /// Run on an interval Interval(interval::Time), } /// A command for `Job` #[derive(Debug, Eq,PartialEq,Hash)] pub struct Command { program: String, args: Vec, } /// Output for `define-job` #[derive(Debug, PartialEq,Eq,Hash)] pub struct Job { name: String, when: Vec, what: Command, } /// Type of access #[derive(Debug, PartialEq,Eq,Hash)] pub enum Access { Allow, Deny, } /// Access rule for user #[derive(Debug, PartialEq,Eq,Hash)] pub struct UserRule { user: String, mode: Access, } const DEFAULT_JOB_DIR: &str = "/etc/rori.kron"; /// User config #[derive(Debug)] pub struct Config { pub job_dirs: Vec, pub user_rules: Vec, } #[derive(Debug)] pub enum Error { } impl std::error::Error for Error{} impl std::fmt::Display for Error { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { todo!() } }