use rusqlite::Connection; pub fn init_db() -> Connection { let conn = Connection::open("client.db").unwrap(); conn.execute( "CREATE TABLE IF NOT EXISTS hosts ( host TEXT PRIMARY KEY, last_used DATETIME DEFAULT CURRENT_TIMESTAMP )", [], ).unwrap(); conn } pub fn get_last_host(conn: &Connection) -> Option { let mut stmt = conn.prepare("SELECT host FROM hosts ORDER BY last_used DESC LIMIT 1").unwrap(); let mut rows = stmt.query([]).unwrap(); if let Ok(Some(row)) = rows.next() { row.get(0).ok() } else { None } } pub fn save_host(conn: &Connection, host: &str) { conn.execute( "INSERT OR REPLACE INTO hosts (host, last_used) VALUES (?1, CURRENT_TIMESTAMP)", [host], ).unwrap(); }