コード例 #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 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
コード例 #3
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
コード例 #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
ファイル: 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)
コード例 #7
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)
コード例 #8
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)
コード例 #9
0
 def get(recipe_step_id: int) -> RecipeStep:
     BaseService.is_object_exist(RecipeStep, recipe_step_id)
     return BaseService.get(RecipeStep, recipe_step_id)
コード例 #10
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)
コード例 #11
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)
コード例 #12
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)