headless_lms_server/controllers/main_frontend/
feedback.rsuse models::feedback;
use crate::prelude::*;
#[derive(Debug, Serialize, Deserialize, PartialEq, Eq)]
#[cfg_attr(feature = "ts_rs", derive(TS))]
pub struct MarkAsRead {
read: bool,
}
#[instrument(skip(pool))]
pub async fn mark_as_read(
feedback_id: web::Path<Uuid>,
mark_as_read: web::Json<MarkAsRead>,
pool: web::Data<PgPool>,
user: AuthUser,
) -> ControllerResult<HttpResponse> {
let mut conn = pool.acquire().await?;
feedback::mark_as_read(&mut conn, *feedback_id, mark_as_read.into_inner().read).await?;
let token = authorize(&mut conn, Act::Teach, Some(user.id), Res::AnyCourse).await?;
token.authorized_ok(HttpResponse::Ok().finish())
}
pub fn _add_routes(cfg: &mut ServiceConfig) {
cfg.route("/{feedback_id}", web::post().to(mark_as_read));
}