artifacts/models/
bank_gold_transaction_schema.rs

1use crate::models;
2use serde::{Deserialize, Serialize};
3
4#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
5#[cfg_attr(feature = "specta", derive(specta::Type))]
6pub struct BankGoldTransactionSchema {
7    /// Cooldown details.
8    #[serde(rename = "cooldown")]
9    pub cooldown: Box<models::CooldownSchema>,
10    /// Bank details.
11    #[serde(rename = "bank")]
12    pub bank: Box<models::GoldSchema>,
13    /// Player details.
14    #[serde(rename = "character")]
15    pub character: Box<models::CharacterSchema>,
16}
17
18impl BankGoldTransactionSchema {
19    pub fn new(
20        cooldown: models::CooldownSchema,
21        bank: models::GoldSchema,
22        character: models::CharacterSchema,
23    ) -> BankGoldTransactionSchema {
24        BankGoldTransactionSchema {
25            cooldown: Box::new(cooldown),
26            bank: Box::new(bank),
27            character: Box::new(character),
28        }
29    }
30}
31
32impl crate::traits::GetCooldown for BankGoldTransactionSchema {
33    fn get_cooldown(&self) -> &crate::models::CooldownSchema {
34        &self.cooldown
35    }
36}
37
38impl crate::traits::GetCharacter for BankGoldTransactionSchema {
39    fn get_character(&self) -> &crate::models::CharacterSchema {
40        &self.character
41    }
42}