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 MetadataResponse {
    pub user: Option<User>,
    pub socket_token: Option<String>,
    pub socket_signature: Option<String>,
}

#[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 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: Option<String>,
    pub trade_offer_token: Option<String>,
    pub ref_id: i64,
    pub ref_earnings: i64,
    pub total_ref_earnings: i64,
    pub referral_code: Option<String>,
    pub muted_until: i64,
    pub mute_reason: Value,
    pub utm_campaign: Value,
    pub country: String,
    pub steam_level: Value,
    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 tos_version: String,
    pub balance: i64,
    pub ban: Value,
    pub balances: Vec<Value>,
    pub level: i64,
    pub xp: i64,
    pub user_hash: String,
    pub hashed_server_seed: String,
    pub roles: Vec<Value>,
    pub eligible_for_free_case: bool,
    pub extra_security_type: String,
    pub p2p_telegram_notifications_allowed: bool,
    pub p2p_telegram_notifications_enabled: bool,
    pub p2p_request_failed_trade_feedback: bool,
    pub p2p_filter_delivery_time_enabled: bool,
    pub unread_notifications: Vec<Value>,
    pub last_session: LastSession,
    pub steam_inventory_url: String,
    pub steam_api_key: Option<String>,
    pub has_crypto_deposit: bool,
    pub linked_accounts: Vec<Value>,
    pub api_token: String,
}

#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct LastSession {
    pub id: i64,
    pub user_id: i64,
    pub ip: String,
    pub expired: bool,
    pub created_at: String,
    pub updated_at: String,
    pub device_identifier: String,
    pub user_agent: String,
    pub hash: String,
    pub city: String,
    pub country: String,
}