コード例 #1
0
    def add_ingredient(user_id: int, recipe_id: int,
                       ingredient: Ingredient) -> Recipe:
        BaseService.is_object_exist(Recipe, recipe_id)
        BaseService.is_has_rights(Recipe, user_id, recipe_id)

        recipe = RecipeService.get(recipe_id)
        recipe.ingredients.add(ingredient)
        return recipe
コード例 #2
0
ファイル: tag.py プロジェクト: Holmes555/fridgeapp
    def add_to_recipe(user_id: int, recipe_id: int, tag: Tag) -> Tag:
        BaseService.is_object_exist(Recipe, recipe_id)
        BaseService.is_has_rights(Recipe, user_id, recipe_id)

        recipe = RecipeService.get(recipe_id)
        recipe.tags.add(tag)
        TagService._increase_tag_popularity(tag.pk)

        return tag
コード例 #3
0
ファイル: tag.py プロジェクト: Holmes555/fridgeapp
    def remove_from_recipe(user_id: int, recipe_id: int, tag: Tag) -> Tag:
        BaseService.is_object_exist(Recipe, recipe_id)
        BaseService.is_has_rights(Recipe, user_id, recipe_id)

        recipe = RecipeService.get(recipe_id)
        recipe.tags.remove(tag)
        TagService._decrease_tag_popularity(tag.pk)

        return tag
コード例 #4
0
    def add_recipe_step(user_id: int, recipe_id: int,
                        recipe_step: RecipeStep) -> Recipe:
        BaseService.is_object_exist(Recipe, recipe_id)
        BaseService.is_has_rights(Recipe, user_id, recipe_id)

        recipe = RecipeService.get(recipe_id)
        RecipeService._increase_steps_count(recipe)
        RecipeService._set_step_number(recipe, recipe_step)

        recipe.recipe_steps.add(recipe_step)
        return recipe
コード例 #5
0
    def update(recipe_id: int, kwargs) -> RecipeRating:
        BaseService.is_object_exist(Recipe, recipe_id)

        recipe = RecipeService.get(recipe_id)
        rating = RecipeRatingService.get_by_recipe_id(recipe.rating.pk)

        mark = kwargs["rating"]

        mark_sum = rating.mark_sum + mark
        mark_count = rating.mark_count + 1

        rating = RecipeRatingService._calculate_new_rating(
            mark_sum, mark_count)

        kwargs["rating"] = rating
        kwargs["mark_sum"] = mark_sum
        kwargs["mark_count"] = mark_count

        return BaseQuery.update(RecipeRating, recipe.rating.pk, kwargs)
コード例 #6
0
ファイル: recipe_comment.py プロジェクト: Holmes555/fridgeapp
 def get_all_by_recipe_id(recipe_id: int) -> List[RecipeComment]:
     BaseService.is_object_exist(Recipe, recipe_id)
     return RecipeCommentQuery.get_all_by_recipe_id(recipe_id)
コード例 #7
0
ファイル: tag.py プロジェクト: Holmes555/fridgeapp
 def add(tag: Tag) -> Tag:
     return BaseService.add(tag)
コード例 #8
0
ファイル: recipe_comment.py プロジェクト: Holmes555/fridgeapp
 def get(recipe_comment_id: int) -> RecipeComment:
     return BaseService.get(RecipeComment, recipe_comment_id)
コード例 #9
0
ファイル: recipe_comment.py プロジェクト: Holmes555/fridgeapp
 def delete(user_id, recipe_comment_id: int):
     return BaseService.delete(RecipeComment, user_id, recipe_comment_id)
コード例 #10
0
 def get(product_id: int) -> Product:
     return BaseService.get(Product, product_id)
コード例 #11
0
ファイル: ingredient.py プロジェクト: Holmes555/fridgeapp
 def add(ingredient: Ingredient) -> Ingredient:
     return BaseService.add(ingredient)
コード例 #12
0
ファイル: ingredient.py プロジェクト: Holmes555/fridgeapp
 def get_or_create(kwargs) -> Ingredient:
     return BaseService.get_or_create(Ingredient, kwargs)
コード例 #13
0
ファイル: ingredient.py プロジェクト: Holmes555/fridgeapp
 def get_all() -> List[Ingredient]:
     return BaseService.get_all(Ingredient)
コード例 #14
0
 def get_by_recipe_id(recipe_id: int) -> RecipeRating:
     BaseService.is_object_exist(Recipe, recipe_id)
     return RecipeRatingQuery.get_by_recipe_id(recipe_id)
コード例 #15
0
ファイル: tag.py プロジェクト: Holmes555/fridgeapp
 def get_all() -> List[Tag]:
     return BaseService.get_all(Tag)
コード例 #16
0
 def get(recipe_rating_id: int) -> RecipeRating:
     return BaseService.get(RecipeRating, recipe_rating_id)
コード例 #17
0
 def add(recipe_rating: RecipeRating) -> RecipeRating:
     return BaseService.add(recipe_rating)
コード例 #18
0
ファイル: ingredient.py プロジェクト: Holmes555/fridgeapp
 def get_all_by_recipe_id(recipe_id):
     BaseService.is_object_exist(Recipe, recipe_id)
     return IngredientQuery.get_all_by_recipe_id(recipe_id)
コード例 #19
0
ファイル: tag.py プロジェクト: Holmes555/fridgeapp
 def get_or_create(kwargs):
     return BaseService.get_or_create(Tag, kwargs)
コード例 #20
0
 def add(product: Product) -> Product:
     BaseService.is_duplicated(Product, "name", product.name)
     return BaseService.add(product)
コード例 #21
0
ファイル: tag.py プロジェクト: Holmes555/fridgeapp
 def get(tag_id: int) -> Tag:
     return BaseService.get(Tag, tag_id)
コード例 #22
0
ファイル: ingredient.py プロジェクト: Holmes555/fridgeapp
 def get(ingredient_id: int) -> Ingredient:
     return BaseService.get(Ingredient, ingredient_id)
コード例 #23
0
ファイル: tag.py プロジェクト: Holmes555/fridgeapp
 def get_all_by_recipe_id(recipe_id: int) -> List[Tag]:
     BaseService.is_object_exist(Recipe, recipe_id)
     return TagQuery.get_all_by_recipe_id(recipe_id)
コード例 #24
0
 def add(recipe_step: RecipeStep) -> RecipeStep:
     return BaseService.add(recipe_step)
コード例 #25
0
 def get(recipe_step_id: int) -> RecipeStep:
     BaseService.is_object_exist(RecipeStep, recipe_step_id)
     return BaseService.get(RecipeStep, recipe_step_id)
コード例 #26
0
 def get_all_by_recipe_id(recipe_id: int):
     BaseService.is_object_exist(Recipe, recipe_id)
     return RecipeStepQuery.get_all_by_recipe_id(recipe_id)
コード例 #27
0
 def get_or_create(kwargs) -> Product:
     return BaseService.get_or_create(Product, kwargs)
コード例 #28
0
ファイル: recipe_comment.py プロジェクト: Holmes555/fridgeapp
 def add(recipe_comment: RecipeComment) -> RecipeComment:
     return BaseService.add(recipe_comment)
コード例 #29
0
 def get_all() -> List[Product]:
     return BaseService.get_all(Product)
コード例 #30
0
 def get_all_by_tag_id(tag_id: int) -> List[Recipe]:
     BaseService.is_object_exist(Tag, tag_id)
     return RecipeQuery.get_all_by_tag_id(tag_id)