use crate::models::parameters::CommandRequest; use crate::models::player::UserID; use serde::{Deserialize, Serialize}; #[derive(Debug, Serialize, Deserialize, Clone)] pub struct AddItemParams { pub token: String, pub user_id: UserID, pub item_name: String, pub price: u32, pub quantity: u32, pub shop: String, } impl AddItemParams { pub fn new(item_name: String, price: u32, quantity: u32, shop: String) -> Self { Self { token: Default::default(), user_id: Default::default(), item_name, price, quantity, shop, } } } impl CommandRequest for AddItemParams { fn token(&self) -> String { self.token.clone() } fn user_id(&self) -> Option { Some(self.user_id.clone()) } fn set_token(&mut self, token: String) { self.token = token; } fn set_user_id(&mut self, user_id: UserID) { self.user_id = user_id; } }