#[cfg(feature = "server")] use diesel_derive_enum::DbEnum; use serde::{Deserialize, Serialize}; use strum::Display; #[derive(Serialize, Deserialize, Clone, Debug)] pub enum ManageAction { Ping, UpdateAvailable, JobsResultsRequest, Terminate, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub enum JobSchedule { Once, Permanent, //Scheduled } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Display)] #[cfg_attr( feature = "server", derive(DbEnum), PgType = "JobState", DieselType = "Jobstate" )] pub enum JobState { Queued, // server created a job, but client didn't get it yet //Pending, // client got a job, but not running yet Running, // client is currently running a job Finished, } #[derive(Default, Serialize, Deserialize, Clone, Debug, PartialEq, Display)] #[cfg_attr( feature = "server", derive(DbEnum), PgType = "JobType", DieselType = "Jobtype" )] pub enum JobType { Manage, #[default] Shell, Python, }