use crate::condition::Condition; use serde::{Deserialize, Serialize}; #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(tag = "type", content = "data", rename_all = "snake_case")] pub enum ClientboundPacket { Handshake { version: String }, Error(String), DownloadResponse(Vec), } #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(tag = "type", content = "data", rename_all = "snake_case")] pub enum ServerboundPacket { Download, UpdateTask(Task), RemoveTask(u64), } #[derive(Debug, Clone, Serialize, Deserialize)] pub struct Task { pub id: u64, pub name: String, pub description: String, pub tags: Vec, pub priority: f64, pub completed: Option, pub scheduled: Option, pub occurence: Option, pub deadline: Option, }