Ejemplo n.º 1
0
    def put(self, label_id, project_id):
        """Handle PUT request for this view. Url --> /api/v1/Label/<int:label_id>/<int:project_id>"""
        # getting JSON data from request
        current_user = get_jwt_identity()
        roles = get_user_roles(current_user, project_id)

        if "admin" not in roles:
            if "labels" not in roles:
                print("Error occured: user not admin or has role of labels")
                response = {
                    "success": False,
                    "msg": "User neither has 'admin' nor 'labels' role."
                }
                return make_response(jsonify(response)), 403

        post_data = request.get_json(silent=True, force=True)
        try:

            label_name = post_data["label_name"]
            label_type = post_data["label_type"]

        except Exception:
            response = {
                "success": False,
                "msg": "Please provide all the required fields."
            }
            return make_response(jsonify(response)), 400

        if label_type not in allowed_labels:
            print("Error occured: label type not allowed")
            response = {"success": False, "msg": "Label type not allowed."}
            return make_response(jsonify(response)), 400

        try:
            label = find_by_id(label_id)

            if not label:
                response = {"success": False, "msg": "Label not present."}
                return make_response(jsonify(response)), 404

            data = {"label_name": label_name, "label_type": label_type}

            label_new = update_label(label_id, data)

            response = {
                "success": True,
                "msg": "Label updated.",
                "body": label_new
            }
            return make_response(jsonify(response)), 201

        except Exception as err:
            print("Error occurred: ", err)
            response = {"success": False, "msg": "Label not present."}
            return make_response(jsonify(response)), 404
Ejemplo n.º 2
0
    def get(self, label_id, project_id):
        try:
            if not label_id:
                response = {"success": False, "msg": "Label id not provided"}
                return make_response(jsonify(response)), 400

            label = find_by_id(label_id)
            response = {"success": True, "msg": "Label found", "body": label}
            return make_response(jsonify(response)), 200

        except Exception:
            response = {"success": False, "msg": "Something went wrong!"}
            # Return a server error using the HTTP Error Code 500 (Internal
            # Server Error)
            return make_response(jsonify(response)), 500