This repository has been archived on 2025-09-28. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
nekrochan/src/web/news.rs
2025-09-28 12:59:09 +02:00

22 lines
627 B
Rust

use actix_web::{get, web::Data, HttpRequest, HttpResponse};
use askama::Template;
use super::{tcx::TemplateCtx, template_response};
use crate::{ctx::Ctx, db::models::NewsPost, error::NekrochanError, filters};
#[derive(Template)]
#[template(path = "news.html")]
struct NewsTemplate {
tcx: TemplateCtx,
news: Vec<NewsPost>,
}
#[get("/news")]
pub async fn news(ctx: Data<Ctx>, req: HttpRequest) -> Result<HttpResponse, NekrochanError> {
let tcx = TemplateCtx::new(&ctx, &req).await?;
let news = NewsPost::read_all(&ctx).await?;
let template = NewsTemplate { tcx, news };
template_response(&template)
}