Feature/UI updates (#990)

* titleCase utility

* update rules ui

* order by date_added

* fix error on page refresh

* fix health checks

* fix cookbook return values
This commit is contained in:
Hayden
2022-02-22 15:32:13 -09:00
committed by GitHub
parent 177a430d8c
commit 2211174636
6 changed files with 43 additions and 20 deletions

View File

@@ -1,7 +1,7 @@
from functools import cached_property
from typing import Type
from fastapi import APIRouter
from fastapi import APIRouter, HTTPException
from pydantic import UUID4
from mealie.core.exceptions import mealie_registered_exceptions
@@ -9,10 +9,15 @@ from mealie.routes._base import BaseUserController, controller
from mealie.routes._base.mixins import CrudMixins
from mealie.schema import mapper
from mealie.schema.cookbook import CreateCookBook, ReadCookBook, RecipeCookBook, SaveCookBook, UpdateCookBook
from mealie.schema.recipe.recipe_category import RecipeCategoryResponse
router = APIRouter(prefix="/groups/cookbooks", tags=["Groups: Cookbooks"])
class CookBookRecipeResponse(RecipeCookBook):
categories: list[RecipeCategoryResponse]
@controller(router)
class GroupCookbookController(BaseUserController):
@cached_property
@@ -54,12 +59,15 @@ class GroupCookbookController(BaseUserController):
return updated
@router.get("/{item_id}", response_model=RecipeCookBook)
@router.get("/{item_id}", response_model=CookBookRecipeResponse)
def get_one(self, item_id: UUID4 | str):
if isinstance(item_id, str):
self.mixins.get_one(item_id, key="slug")
else:
return self.mixins.get_one(item_id)
match_attr = "slug" if isinstance(item_id, str) else "id"
book = self.repo.get_one(item_id, match_attr, override_schema=CookBookRecipeResponse)
if book is None:
raise HTTPException(status_code=404)
return book
@router.put("/{item_id}", response_model=RecipeCookBook)
def update_one(self, item_id: str, data: CreateCookBook):