use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Deserialize, Default)]
pub struct CronTask {
pub id: String,
pub name: String,
pub prompt: String,
pub schedule_type: String,
pub schedule_expr: String,
pub status: String,
pub thread_id: String,
pub user_id: String,
pub channel: String,
pub last_run: f64,
pub last_run_error: String,
pub last_run_output: String,
pub next_run: f64,
pub created_at: f64,
pub updated_at: f64,
}
#[derive(Debug, Serialize)]
pub struct CronCreateRequest {
pub name: String,
pub prompt: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub schedule_type: Option<String>,
pub schedule_expr: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub channel: Option<String>,
}
#[derive(Debug, Default, Serialize)]
pub struct CronUpdateRequest {
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub prompt: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub schedule_type: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub schedule_expr: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub channel: Option<String>,
}