Ejemplo n.º 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
Ejemplo n.º 2
0
    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
Ejemplo n.º 3
0
    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
Ejemplo n.º 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
Ejemplo n.º 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)
Ejemplo n.º 6
0
 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)
Ejemplo n.º 7
0
 def add(tag: Tag) -> Tag:
     return BaseService.add(tag)
Ejemplo n.º 8
0
 def get(recipe_comment_id: int) -> RecipeComment:
     return BaseService.get(RecipeComment, recipe_comment_id)
Ejemplo n.º 9
0
 def delete(user_id, recipe_comment_id: int):
     return BaseService.delete(RecipeComment, user_id, recipe_comment_id)
Ejemplo n.º 10
0
 def get(product_id: int) -> Product:
     return BaseService.get(Product, product_id)
Ejemplo n.º 11
0
 def add(ingredient: Ingredient) -> Ingredient:
     return BaseService.add(ingredient)
Ejemplo n.º 12
0
 def get_or_create(kwargs) -> Ingredient:
     return BaseService.get_or_create(Ingredient, kwargs)
Ejemplo n.º 13
0
 def get_all() -> List[Ingredient]:
     return BaseService.get_all(Ingredient)
Ejemplo n.º 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)
Ejemplo n.º 15
0
 def get_all() -> List[Tag]:
     return BaseService.get_all(Tag)
Ejemplo n.º 16
0
 def get(recipe_rating_id: int) -> RecipeRating:
     return BaseService.get(RecipeRating, recipe_rating_id)
Ejemplo n.º 17
0
 def add(recipe_rating: RecipeRating) -> RecipeRating:
     return BaseService.add(recipe_rating)
Ejemplo n.º 18
0
 def get_all_by_recipe_id(recipe_id):
     BaseService.is_object_exist(Recipe, recipe_id)
     return IngredientQuery.get_all_by_recipe_id(recipe_id)
Ejemplo n.º 19
0
 def get_or_create(kwargs):
     return BaseService.get_or_create(Tag, kwargs)
Ejemplo n.º 20
0
 def add(product: Product) -> Product:
     BaseService.is_duplicated(Product, "name", product.name)
     return BaseService.add(product)
Ejemplo n.º 21
0
 def get(tag_id: int) -> Tag:
     return BaseService.get(Tag, tag_id)
Ejemplo n.º 22
0
 def get(ingredient_id: int) -> Ingredient:
     return BaseService.get(Ingredient, ingredient_id)
Ejemplo n.º 23
0
 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)
Ejemplo n.º 24
0
 def add(recipe_step: RecipeStep) -> RecipeStep:
     return BaseService.add(recipe_step)
Ejemplo n.º 25
0
 def get(recipe_step_id: int) -> RecipeStep:
     BaseService.is_object_exist(RecipeStep, recipe_step_id)
     return BaseService.get(RecipeStep, recipe_step_id)
Ejemplo n.º 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)
Ejemplo n.º 27
0
 def get_or_create(kwargs) -> Product:
     return BaseService.get_or_create(Product, kwargs)
Ejemplo n.º 28
0
 def add(recipe_comment: RecipeComment) -> RecipeComment:
     return BaseService.add(recipe_comment)
Ejemplo n.º 29
0
 def get_all() -> List[Product]:
     return BaseService.get_all(Product)
Ejemplo n.º 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)