chore: added DEFAULT_FEED var to fees 99866f9f
Steve · 2026-04-03 19:53 2 file(s) · +20 −8
Cargo.lock +1 −1
2056 2056
2057 2057
[[package]]
2058 2058
name = "jotts"
2059 -
version = "0.1.1"
2059 +
version = "0.1.2"
2060 2060
dependencies = [
2061 2061
 "andromeda-auth",
2062 2062
 "askama 0.15.6",
apps/feeds/src/feeds.rs +19 −7
342 342
    }
343 343
344 344
    // Priority 3: FreshRSS fallback
345 -
    let freshrss_url = std::env::var("FRESHRSS_URL").map_err(|_| "FRESHRSS_URL not set")?;
346 -
    let username =
347 -
        std::env::var("FRESHRSS_USERNAME").map_err(|_| "FRESHRSS_USERNAME not set")?;
348 -
    let password =
349 -
        std::env::var("FRESHRSS_PASSWORD").map_err(|_| "FRESHRSS_PASSWORD not set")?;
345 +
    if let Some((freshrss_url, username, password)) = crate::freshrss_env() {
346 +
        let items = fetch_freshrss_items(&freshrss_url, &username, &password).await?;
347 +
        return Ok((items, None));
348 +
    }
350 349
351 -
    let items = fetch_freshrss_items(&freshrss_url, &username, &password).await?;
352 -
    Ok((items, None))
350 +
    // Priority 4: DEFAULT_FEED env var
351 +
    if let Ok(default_feed) = std::env::var("DEFAULT_FEED") {
352 +
        let urls: Vec<String> = default_feed
353 +
            .split(',')
354 +
            .map(|u| u.trim().to_string())
355 +
            .filter(|u| !u.is_empty())
356 +
            .collect();
357 +
358 +
        if !urls.is_empty() {
359 +
            let items = parse_urls(&urls).await;
360 +
            return Ok((items, Some(urls)));
361 +
        }
362 +
    }
363 +
364 +
    Err("No feed source configured. Set FRESHRSS_URL/FRESHRSS_USERNAME/FRESHRSS_PASSWORD or DEFAULT_FEED.".to_string())
353 365
}