Ejemplo n.º 1
0
def update_cuisine_recipe(cuisine_name):
    user = User.get_by_id(get_jwt_identity())

    if user.is_admin:
        cuisine = Cuisine.get_or_none(name=cuisine_name)

        if cuisine:
            update_field = request.form.get("update_field")

            if update_field == "name":
                name = request.form.get("recipe_name")
                recipe = Recipe.get(name=name)
                update_content = request.form.get("update_content")
                update = Recipe.update(name=update_content).where(
                    Recipe.id == recipe.id)
                update.execute()
                return jsonify(
                    {"message": "Name has been successfully updated"})
            elif update_field == "difficulty":
                name = request.form.get("recipe_name")
                recipe = Recipe.get(name=name)
                update_content = request.form.get("update_content")
                update = Recipe.update(difficulty=update_content).where(
                    Recipe.id == recipe.id)
                update.execute()
                return jsonify(
                    {"message": "Difficulty has been successfully updated"})
            elif update_field == "image":
                name = request.form.get("recipe_name")
                recipe = Recipe.get(name=name)
                file = request.files.get("image")
                bucket_name = os.getenv('AWS_S3_BUCKET')
                s3.upload_fileobj(file,
                                  bucket_name,
                                  file.filename,
                                  ExtraArgs={
                                      "ACL": "public-read",
                                      "ContentType": file.content_type
                                  })
                update = Recipe.update(
                    image=
                    f'https://kevinchan950-nextagram-flask.s3-ap-southeast-1.amazonaws.com/{file.filename}'
                ).where(Recipe.id == recipe.id)
                update.execute()
                return jsonify(
                    {"message": "Image has been successfully updated"})
            else:
                return error
        else:
            return jsonify({"errors": cuisine_name + " cuisine is not exist"})
    else:
        return jsonify(
            {"errors": "Non-admin user deteced. Request cannot be done."})
Ejemplo n.º 2
0
def delete_cuisine_recipe(cuisine_name):
    user = User.get_by_id(get_jwt_identity())

    if user.is_admin:
        cuisine = Cuisine.get_or_none(name=cuisine_name)

        if cuisine:
            name = request.json.get("recipe_name")
            recipe = Recipe.get(name=name)

            if recipe.cuisine_id == cuisine.id:
                recipe.delete_instance()
                return jsonify({
                    "message":
                    recipe.name + " has been successfully deleted from " +
                    cuisine_name + " cuisine."
                })
            else:
                return jsonify({
                    "errors":
                    recipe.name + " is not found in " + cuisine_name +
                    " cuisine."
                })
        else:
            return jsonify({"errors": cuisine_name + " cuisine is not exist"})
    else:
        return jsonify(
            {"errors": "Non-admin user deteced. Request cannot be done."})