#![cfg(feature = "user")]
use std::fs::File;
use std::io::Write;
use tradingview::UserCookies;
#[tokio::main]
async fn main() -> anyhow::Result<()> {
dotenv::dotenv().ok();
let username = std::env::var("TV_USERNAME").expect("TV_USERNAME is not set");
let password = std::env::var("TV_PASSWORD").expect("TV_PASSWORD is not set");
let auth_token = std::env::var("TV_TOTP_SECRET").expect("TV_TOTP_SECRET is not set");
tracing_subscriber::fmt::init();
let user = UserCookies::default()
.login(&username, &password, Some(&auth_token))
.await?;
tracing::info!("User: {:?}", user);
let json = serde_json::to_string_pretty(&user)?;
let filepath = "tv_user_cookies.json";
let mut file = File::create(filepath)?;
file.write_all(json.as_bytes())?;
tracing::info!("User cookies saved to {}", filepath);
Ok(())
}