update foods and units for multitenant support

This commit is contained in:
Hayden
2022-02-08 14:55:18 -09:00
parent fbc17b670d
commit 9a82a172cb
11 changed files with 194 additions and 15 deletions

View File

@@ -5,8 +5,9 @@ from fastapi import APIRouter, Depends
from mealie.routes._base.abc_controller import BaseUserController
from mealie.routes._base.controller import controller
from mealie.routes._base.mixins import CrudMixins
from mealie.schema import mapper
from mealie.schema.query import GetAll
from mealie.schema.recipe.recipe_ingredient import CreateIngredientFood, IngredientFood
from mealie.schema.recipe.recipe_ingredient import CreateIngredientFood, IngredientFood, SaveIngredientFood
router = APIRouter(prefix="/foods", tags=["Recipes: Foods"])
@@ -15,11 +16,11 @@ router = APIRouter(prefix="/foods", tags=["Recipes: Foods"])
class IngredientFoodsController(BaseUserController):
@cached_property
def repo(self):
return self.deps.repos.ingredient_foods
return self.deps.repos.ingredient_foods.by_group(self.group_id)
@cached_property
def mixins(self):
return CrudMixins[CreateIngredientFood, IngredientFood, CreateIngredientFood](
return CrudMixins[SaveIngredientFood, IngredientFood, CreateIngredientFood](
self.repo,
self.deps.logger,
self.registered_exceptions,
@@ -31,7 +32,8 @@ class IngredientFoodsController(BaseUserController):
@router.post("", response_model=IngredientFood, status_code=201)
def create_one(self, data: CreateIngredientFood):
return self.mixins.create_one(data)
save_data = mapper.cast(data, SaveIngredientFood, group_id=self.group_id)
return self.mixins.create_one(save_data)
@router.get("/{item_id}", response_model=IngredientFood)
def get_one(self, item_id: int):

View File

@@ -5,8 +5,9 @@ from fastapi import APIRouter, Depends
from mealie.routes._base.abc_controller import BaseUserController
from mealie.routes._base.controller import controller
from mealie.routes._base.mixins import CrudMixins
from mealie.schema import mapper
from mealie.schema.query import GetAll
from mealie.schema.recipe.recipe_ingredient import CreateIngredientUnit, IngredientUnit
from mealie.schema.recipe.recipe_ingredient import CreateIngredientUnit, IngredientUnit, SaveIngredientUnit
router = APIRouter(prefix="/units", tags=["Recipes: Units"])
@@ -15,7 +16,7 @@ router = APIRouter(prefix="/units", tags=["Recipes: Units"])
class IngredientUnitsController(BaseUserController):
@cached_property
def repo(self):
return self.deps.repos.ingredient_units
return self.deps.repos.ingredient_units.by_group(self.group_id)
@cached_property
def mixins(self):
@@ -31,7 +32,8 @@ class IngredientUnitsController(BaseUserController):
@router.post("", response_model=IngredientUnit, status_code=201)
def create_one(self, data: CreateIngredientUnit):
return self.mixins.create_one(data)
save_data = mapper.cast(data, SaveIngredientUnit, group_id=self.group_id)
return self.mixins.create_one(save_data)
@router.get("/{item_id}", response_model=IngredientUnit)
def get_one(self, item_id: int):