use database::GameVersion; use super::conditions::Condition; #[derive(Clone, Debug, PartialEq, Eq, serde::Serialize, serde::Deserialize)] pub struct CloudSaveMetadata { pub files: Vec, pub game_version: GameVersion, pub save_id: String, } #[derive(Clone, Debug, PartialEq, Eq, serde::Serialize, serde::Deserialize)] pub struct GameFile { pub path: String, pub id: Option, pub data_type: DataType, pub tags: Vec, pub conditions: Vec, } #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, serde::Serialize, serde::Deserialize)] pub enum DataType { Registry, File, Other, } #[derive( Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, serde::Serialize, serde::Deserialize, )] #[serde(rename_all = "camelCase")] pub enum Tag { Config, Save, #[default] #[serde(other)] Other, }