use serde::{Deserialize, Serialize}; #[derive(Debug, Clone, Default, Serialize, Deserialize)] #[serde(rename_all = "lowercase")] pub enum Rarity { #[default] Bronze, Silver, Gold, RareGold, Totw, Hero, Icon, } /// A card definition loaded from JSON data files. #[derive(Debug, Clone, Serialize, Deserialize)] pub struct CardDefinition { pub id: String, pub name: String, pub overall: u8, pub position: String, pub nation: String, pub league: String, pub club: String, pub pace: u8, pub shooting: u8, pub passing: u8, pub dribbling: u8, pub defending: u8, pub physical: u8, pub rarity: Rarity, pub image_path: Option, } /// A card instance owned by a club (stored in DB). #[derive(Debug, Clone, Serialize, Deserialize, sqlx::FromRow)] pub struct OwnedCard { pub id: String, pub club_id: String, pub card_id: String, pub is_loan: bool, pub loan_matches_remaining: Option, pub acquired_at: String, pub chemistry_style: String, pub position_override: Option, pub training_bonus: i64, }