mirror of
https://github.com/mealie-recipes/mealie.git
synced 2025-05-31 20:25:14 -04:00
* remove odd ingredients * UI Elements for food * update translated percentage * spek -> speck * generate types * seeder api endpoints + tests * implement foods seeder UI * localize some food strings
61 lines
1.1 KiB
Python
61 lines
1.1 KiB
Python
from pydantic import UUID4
|
|
|
|
|
|
class RoutesBase:
|
|
prefix = "/api"
|
|
base = f"{prefix}/"
|
|
|
|
def __init__(self) -> None:
|
|
raise Exception("This class is not meant to be instantiated.")
|
|
|
|
@classmethod
|
|
def item(cls, item_id: int | str | UUID4) -> str:
|
|
return f"{cls.base}/{item_id}"
|
|
|
|
|
|
class RoutesFoods(RoutesBase):
|
|
base = "/api/foods"
|
|
|
|
|
|
class RoutesUnits(RoutesBase):
|
|
base = "/api/units"
|
|
|
|
|
|
class RoutesOrganizerBase(RoutesBase):
|
|
@classmethod
|
|
def slug(cls, slug: str) -> str:
|
|
return f"{cls.base}/slug/{slug}"
|
|
|
|
|
|
class RoutesTools(RoutesOrganizerBase):
|
|
base = "/api/organizers/tools"
|
|
|
|
|
|
class RoutesTags(RoutesOrganizerBase):
|
|
base = "/api/organizers/tags"
|
|
|
|
|
|
class RoutesCategory(RoutesOrganizerBase):
|
|
base = "/api/organizers/categories"
|
|
|
|
|
|
class RoutesRecipe(RoutesBase):
|
|
base = "/api/recipes"
|
|
|
|
|
|
class RoutesAdminUsers(RoutesBase):
|
|
base = "/api/admin/users"
|
|
|
|
|
|
class RoutesUsers(RoutesBase):
|
|
base = "/api/users"
|
|
self = f"{base}/self"
|
|
|
|
|
|
class RoutesSeeders(RoutesBase):
|
|
base = "/api/groups/seeders"
|
|
|
|
foods = f"{base}/foods"
|
|
units = f"{base}/units"
|
|
labels = f"{base}/labels"
|