feedsignal/crates/web/src/server/services/articles.rs

23 lines
578 B
Rust
Raw Normal View History

use crate::api::ArticleView;
use anyhow::Result;
use feedsignal_db::Db;
/// Returns articles ranked by `final_score` descending, highest-relevance first.
pub async fn list_ranked(db: Db) -> Result<Vec<ArticleView>> {
Ok(db
.list_ranked_articles(100)
.await?
.into_iter()
.map(
|(id, title, url, summary, topics, final_score)| ArticleView {
id,
title,
url,
summary,
topics,
final_score,
},
)
.collect())
}