def create_category(): data = request.get_json() or {} error = Category.check_data(data=data, new=True) if 'name' in data \ and Category.query.filter_by(name=data['name']).first() is not None: error = 'nome já existe' if error: return bad_request(error) category = Category() category.from_dict(data) try: db.session.add(category) db.session.commit() except Exception: return internal_server() return jsonify(category.to_dict()), 201
def update_category(id: int): category = Category.query.filter_by(id=id).first() if category is None: return not_found('categoria não encontrada') data = request.get_json() or {} error = Category.check_data(data=data) if 'name' in data and data['name'] != category.name and \ Category.query.filter_by(name=data['name']).first() is not None: error = 'nome já existe' if error: return bad_request(error) category.from_dict(data) try: db.session.commit() except Exception: return internal_server() return jsonify(category.to_dict())