From efffe26a1985dea226bb617367398fe00cd97062 Mon Sep 17 00:00:00 2001 From: Michael Genson <71845777+michael-genson@users.noreply.github.com> Date: Sun, 19 Jun 2022 13:08:26 -0500 Subject: [PATCH] fix: sort recent recipes by created_at instead of date_added (#1417) * added staticmethod decorators to avoid mypy error * exposed created and updated timestamps to schema * changed default sort from date_added to created_at * explicitely sort recent recipes by created_at * removed static method and replaced w/ type: ignore --- frontend/composables/recipes/use-recipes.ts | 2 +- mealie/repos/repository_recipes.py | 6 +++--- mealie/schema/recipe/recipe.py | 5 ++++- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/frontend/composables/recipes/use-recipes.ts b/frontend/composables/recipes/use-recipes.ts index 5d465797a7ab..db199dd7ac6a 100644 --- a/frontend/composables/recipes/use-recipes.ts +++ b/frontend/composables/recipes/use-recipes.ts @@ -97,7 +97,7 @@ export const useRecipes = (all = false, fetchRecipes = true) => { })(); async function refreshRecipes() { - const { data } = await api.recipes.getAll(start, end, { loadFood: true }); + const { data } = await api.recipes.getAll(start, end, { loadFood: true, orderBy: "created_at" }); if (data) { recipes.value = data; } diff --git a/mealie/repos/repository_recipes.py b/mealie/repos/repository_recipes.py index 068d61d75950..eea86177d35c 100644 --- a/mealie/repos/repository_recipes.py +++ b/mealie/repos/repository_recipes.py @@ -91,7 +91,7 @@ class RepositoryRecipes(RepositoryGeneric[Recipe, RecipeModel]): ) def summary( - self, group_id, start=0, limit=99999, load_foods=False, order_by="date_added", order_descending=True + self, group_id, start=0, limit=99999, load_foods=False, order_by="created_at", order_descending=True ) -> Any: args = [ joinedload(RecipeModel.recipe_category), @@ -106,11 +106,11 @@ class RepositoryRecipes(RepositoryGeneric[Recipe, RecipeModel]): if order_by: order_attr = getattr(RecipeModel, order_by) else: - order_attr = RecipeModel.date_added + order_attr = RecipeModel.created_at except AttributeError: self.logger.info(f'Attempted to sort by unknown sort property "{order_by}"; ignoring') - order_attr = RecipeModel.date_added + order_attr = RecipeModel.created_at if order_descending: order_attr = order_attr.desc() diff --git a/mealie/schema/recipe/recipe.py b/mealie/schema/recipe/recipe.py index 2f76e5bd3987..5015b07c72ab 100644 --- a/mealie/schema/recipe/recipe.py +++ b/mealie/schema/recipe/recipe.py @@ -83,6 +83,9 @@ class RecipeSummary(MealieModel): date_added: Optional[datetime.date] date_updated: Optional[datetime.datetime] + created_at: Optional[datetime.datetime] + update_at: Optional[datetime.datetime] + class Config: orm_mode = True @@ -163,7 +166,7 @@ class Recipe(RecipeSummary): } @validator("slug", always=True, pre=True, allow_reuse=True) - def validate_slug(slug: str, values): + def validate_slug(slug: str, values): # type: ignore if not values.get("name"): return slug