recipes/backend/src/services/fragments.rs
2025-05-07 20:12:49 +02:00

39 lines
889 B
Rust

use askama::Template;
use axum::{
debug_handler,
extract::{Extension, Query, State},
response::{Html, IntoResponse},
};
use serde::Deserialize;
use crate::{
app::{Context, Result},
data::db,
html_templates::*,
};
#[derive(Deserialize)]
pub struct CurrentRecipeId {
current_recipe_id: Option<i64>,
}
#[debug_handler]
pub async fn recipes_list_fragments(
State(connection): State<db::Connection>,
current_recipe: Query<CurrentRecipeId>,
Extension(context): Extension<Context>,
) -> Result<impl IntoResponse> {
Ok(Html(
RecipesListFragmentTemplate {
recipes: Recipes::new(
connection,
&context.user,
context.tr.current_lang_code(),
current_recipe.current_recipe_id,
)
.await?,
context,
}
.render()?,
))
}