CryptoFox-Mukan-Edition/src/config.rs
Mukan Erkin 3a54d7f437 feat(mse): cookie auth, bot detail page, chart with markers
- Cookie-based auth: bcrypt password hash, SQLite sessions
- Multipage routing: /, /dashboard, /bots/:id with server-side auth check
- bot_logs table + SSE log streaming per bot
- Bot detail page: Binance chart (LW Charts), position markers/price lines, live log terminal
- Chart always uses live Binance data regardless of bot mode
- Position buy markers on correct candle via timeframe offset
- Open positions: green target price line; closed: buy/sell arrow markers

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 12:22:00 +03:00

26 lines
1.1 KiB
Rust

use std::env;
#[derive(Clone)]
pub struct AppConfig {
pub live_api_key: String,
pub live_api_secret: String,
pub testnet_api_key: String,
pub testnet_api_secret: String,
pub password_hash: String,
pub db_path: String,
pub listen_addr: String,
}
impl AppConfig {
pub fn from_env() -> Self {
Self {
live_api_key: env::var("BINANCE_API_KEY").expect("BINANCE_API_KEY gerekli"),
live_api_secret: env::var("BINANCE_API_SECRET").expect("BINANCE_API_SECRET gerekli"),
testnet_api_key: env::var("BINANCE_TESTNET_API_KEY").expect("BINANCE_TESTNET_API_KEY gerekli"),
testnet_api_secret: env::var("BINANCE_TESTNET_API_SECRET").expect("BINANCE_TESTNET_API_SECRET gerekli"),
password_hash: env::var("ADMIN_PASSWORD_HASH").expect("ADMIN_PASSWORD_HASH gerekli"),
db_path: env::var("DB_PATH").unwrap_or_else(|_| "data/bots.db".to_string()),
listen_addr: env::var("LISTEN_ADDR").unwrap_or_else(|_| "127.0.0.1:4646".to_string()),
}
}
}