use rocket::serde; use serde::{Deserialize, Serialize}; #[derive(Debug, Clone, Serialize, Deserialize)] pub struct DsxConfig { pub name: String, #[serde(default)] pub description: Option, #[serde(default)] pub remote_url: Option, #[serde(default)] pub binaries: Vec, // todo! // #[serde(default)] // pub libraries: Vec, } impl DsxConfig { pub fn new(name: &str) -> Self { Self { name: name.to_string(), description: None, remote_url: None, binaries: Vec::new(), } } } #[derive(Debug, Clone, Serialize, Deserialize)] pub struct Binary { pub name: String, pub path: String, } impl Binary { pub fn new(name: &str, path: &str) -> Self { Self { name: name.to_string(), path: path.to_string(), } } }