mirror of
https://github.com/mealie-recipes/mealie.git
synced 2025-08-01 19:45:22 +02:00
feature: proper multi-tenant-support (#969)(WIP)
* update naming * refactor tests to use shared structure * shorten names * add tools test case * refactor to support multi-tenant * set group_id on creation * initial refactor for multitenant tags/cats * spelling * additional test case for same valued resources * fix recipe update tests * apply indexes to foreign keys * fix performance regressions * handle unknown exception * utility decorator for function debugging * migrate recipe_id to UUID * GUID for recipes * remove unused import * move image functions into package * move utilities to packages dir * update import * linter * image image and asset routes * update assets and images to use UUIDs * fix migration base * image asset test coverage * use ids for categories and tag crud functions * refactor recipe organizer test suite to reduce duplication * add uuid serlization utility * organizer base router * slug routes testing and fixes * fix postgres error * adopt UUIDs * move tags, categories, and tools under "organizers" umbrella * update composite label * generate ts types * fix import error * update frontend types * fix type errors * fix postgres errors * fix #978 * add null check for title validation * add note in docs on multi-tenancy
This commit is contained in:
parent
9a82a172cb
commit
c617251f4c
157 changed files with 1866 additions and 1578 deletions
|
@ -1,7 +1,7 @@
|
|||
from pydantic import UUID4
|
||||
|
||||
|
||||
class _RoutesBase:
|
||||
class RoutesBase:
|
||||
prefix = "/api"
|
||||
base = f"{prefix}/"
|
||||
|
||||
|
@ -13,9 +13,31 @@ class _RoutesBase:
|
|||
return f"{cls.base}/{item_id}"
|
||||
|
||||
|
||||
class RoutesFoods(_RoutesBase):
|
||||
class RoutesFoods(RoutesBase):
|
||||
base = "/api/foods"
|
||||
|
||||
|
||||
class RoutesUnits(_RoutesBase):
|
||||
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"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue