added anyhow, improve hamburger menu, improve dw articles

This commit is contained in:
2026-06-10 18:51:55 +02:00
parent 0420cf0dd5
commit 52ea84747a
22 changed files with 226 additions and 91 deletions
+12 -9
View File
@@ -1,3 +1,4 @@
use crate::error::AppError;
use crate::schema::feed_item::{id, read};
use crate::{
database::establish_connection, json_serialization::read_feed_item::ReadItem,
@@ -7,27 +8,29 @@ use actix_web::{web, HttpRequest, HttpResponse, Responder};
use diesel::RunQueryDsl;
use diesel::{ExpressionMethods, QueryDsl};
pub async fn mark_read(_req: HttpRequest, path: web::Path<ReadItem>) -> impl Responder {
pub async fn mark_read(
_req: HttpRequest,
path: web::Path<ReadItem>,
) -> Result<impl Responder, AppError> {
let mut connection = establish_connection();
log::info!("Id: {}", path.id);
let feed_items: Vec<FeedItem> = feed_item::table
let mut feed_items: Vec<FeedItem> = feed_item::table
.filter(id.eq(path.id))
.load::<FeedItem>(&mut connection)
.unwrap();
.load::<FeedItem>(&mut connection)?;
if feed_items.len() != 1 {
return HttpResponse::NotFound();
return Ok(HttpResponse::NotFound().finish());
}
let feed_item: &FeedItem = feed_items.first().unwrap();
let feed_item: FeedItem = feed_items.remove(0);
let result: Result<usize, diesel::result::Error> = diesel::update(feed_item)
let result = diesel::update(&feed_item)
.set(read.eq(true))
.execute(&mut connection);
.execute(&mut connection)?;
log::info!("Mark as read: {:?}", result);
HttpResponse::Ok()
Ok(HttpResponse::Ok().finish())
}
#[cfg(test)]