use steam_enums::EResult;
use steamid::SteamID;
#[derive(Debug, Clone, Default)]
pub struct LogOnDetails {
pub anonymous: bool,
pub refresh_token: Option<String>,
pub account_name: Option<String>,
pub password: Option<String>,
pub auth_code: Option<String>,
pub two_factor_code: Option<String>,
pub machine_auth_token: Option<String>,
pub logon_id: Option<u32>,
pub machine_name: Option<String>,
pub machine_id: Option<Vec<u8>>,
pub web_logon_token: Option<String>,
pub steam_id: Option<SteamID>,
pub client_os_type: Option<u32>,
}
#[derive(Debug, Clone)]
pub struct LogOnResponse {
pub eresult: EResult,
pub steam_id: SteamID,
pub public_ip: Option<String>,
pub cell_id: u32,
pub vanity_url: Option<String>,
pub email_domain: Option<String>,
pub steam_guard_required: bool,
pub heartbeat_seconds: Option<i32>,
pub server_time: Option<u32>,
pub account_flags: Option<u32>,
pub user_country: Option<String>,
pub ip_country_code: Option<String>,
pub client_instance_id: Option<u64>,
pub token_id: Option<u64>,
pub family_group_id: Option<u64>,
pub eresult_extended: Option<i32>,
pub cell_id_ping_threshold: Option<u32>,
pub force_client_update_check: Option<bool>,
pub agreement_session_url: Option<String>,
pub legacy_out_of_game_heartbeat_seconds: Option<i32>,
pub parental_settings: Option<Vec<u8>>,
pub parental_setting_signature: Option<Vec<u8>>,
pub count_loginfailures_to_migrate: Option<i32>,
pub count_disconnects_to_migrate: Option<i32>,
pub ogs_data_report_time_window: Option<i32>,
pub steam2_ticket: Option<Vec<u8>>,
}
#[derive(Debug, Clone)]
pub struct AccountInfo {
pub name: String,
pub country: String,
pub authed_machines: u32,
pub flags: u32,
pub facebook_id: Option<String>,
pub facebook_name: Option<String>,
}
#[derive(Debug, Clone)]
pub struct EmailInfo {
pub address: String,
pub validated: bool,
}
#[derive(Debug, Clone)]
pub struct Limitations {
pub limited: bool,
pub community_banned: bool,
pub locked: bool,
pub can_invite_friends: bool,
}
#[derive(Debug, Clone)]
pub struct VacStatus {
pub num_bans: u32,
pub appids: Vec<u32>,
pub ranges: Vec<(u32, u32)>,
}
#[derive(Debug, Clone)]
pub struct WalletInfo {
pub has_wallet: bool,
pub currency: u32,
pub balance: i64,
}
#[derive(Debug, Clone)]
pub struct QuickInviteLink {
pub invite_link: String,
pub invite_token: String,
pub invite_limit: Option<u64>,
pub invite_duration: Option<u64>,
pub time_created: Option<u32>,
pub valid: bool,
}
#[derive(Debug, Clone)]
pub struct QuickInviteLinkValidity {
pub valid: bool,
pub steam_id: Option<SteamID>,
pub invite_duration: Option<u64>,
}
#[derive(Debug, Clone)]
pub struct PersonaNameHistory {
pub name: String,
pub name_since: u32,
}