csgoempire 0.1.0

CSGOEmpire REST-API and Socket Bindings
Documentation
use serde::{Deserialize, Serialize};
use serde_json::Value;

#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct CreateWithdrawalResponse {
    #[serde(default)]
    pub success: bool,
    pub data: Option<Data>,
    pub invoice: Option<Invoice>,
}

#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Data {
    pub id: i64,
    pub user_id: i64,
    pub item_id: Value,
    pub items: Vec<Item>,
    pub total_value: i64,
    pub security_code: String,
    pub tradeoffer_id: i64,
    pub trade_id: i64,
    pub status: i64,
    pub status_message: String,
    pub metadata: Metadata,
    pub created_at: String,
    pub updated_at: Option<String>,
}

#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Item {
    pub app_id: i64,
    pub created_at: i64,
    pub custom_price_percentage: Value,
    pub icon_url: String,
    pub id: i64,
    pub img: String,
    pub is_commodity: bool,
    pub market_name: String,
    pub market_value: f64,
    pub name: String,
    pub name_color: String,
    pub paint_index: Value,
    pub preview_id: Value,
    pub price_is_unreliable: bool,
    pub tradable: bool,
    pub tradelock: bool,
    #[serde(rename = "type")]
    pub item_type: String,
    pub updated_at: Option<String>,
    pub wear: Option<f64>,
}

#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Metadata {
    pub auction_highest_bid: Value,
    pub auction_highest_bidder: Value,
    pub auction_number_of_bids: i64,
    pub auction_ends_at: i64,
    pub auction_auto_withdraw_failed: Value,
    pub price_updated_at: Value,
    pub trade_url: Value,
    pub partner: Value,
    pub total_fee: Value,
    pub fee: Value,
    pub old_total_value: Value,
    pub item_position_in_inventory: i64,
    pub item_inspected: bool,
    pub steam_id: String,
    pub expires_at: Value,
    pub delivery_time: Value,
    #[serde(rename = "phishingScamDetected")]
    pub phishing_scam_detected: Value,
    pub item_validation: Value,
    pub possible_abuse_detected_at: Value,
    pub penalty: Value,
    pub service_name: String,
    pub service_invoice_id: i64,
}

#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Invoice {
    pub user_id: i64,
    pub status: i64,
    pub processor_id: i64,
    pub currency_id: i64,
    pub amount_coins: i64,
    pub metadata: Metadata2,
    pub ip: String,
    pub updated_at: String,
    pub created_at: String,
    pub id: i64,
    pub processor_txid: String,
    pub user: User,
    pub status_name: String,
    pub processor_name: String,
}

#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Metadata2 {
    pub deposit_id: i64,
}

#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct User {
    pub id: i64,
    pub steam_id: String,
    pub steam_id_v3: String,
    pub steam_name: String,
    pub avatar: String,
    pub profile_url: String,
    pub registration_timestamp: String,
    pub registration_ip: String,
    pub last_login: String,
    pub balance: i64,
    pub total_profit: i64,
    pub total_bet: i64,
    pub betback_total: i64,
    pub bet_threshold: i64,
    pub total_trades: i64,
    pub total_deposit: i64,
    pub total_withdraw: i64,
    pub withdraw_limit: i64,
    pub csgo_playtime: i64,
    pub last_csgo_playtime_cache: String,
    pub trade_url: String,
    pub trade_offer_token: String,
    pub ref_id: i64,
    pub total_referral_bet: i64,
    pub total_referral_commission: i64,
    pub ref_permission: i64,
    pub ref_earnings: i64,
    pub total_ref_earnings: i64,
    pub total_ref_count: i64,
    pub total_credit: i64,
    pub referral_code: Value,
    pub referral_amount: i64,
    pub muted_until: i64,
    pub mute_reason: String,
    pub admin: i64,
    pub super_mod: i64,
    #[serde(rename = "mod")]
    pub mod_field: i64,
    pub utm_campaign: String,
    pub country: String,
    pub is_vac_banned: i64,
    pub steam_level: i64,
    pub last_steam_level_cache: String,
    pub whitelisted: i64,
    pub total_tips_received: i64,
    pub total_tips_sent: i64,
    pub withdrawal_fee_owed: String,
    pub flags: i64,
    pub encrypted_fields: Vec<Value>,
    pub balances: Vec<Value>,
    pub kyc: Vec<Value>,
    pub steam_data: SteamData,
}

#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct SteamData {
    pub user_id: i64,
    pub timecreated: i64,
}