예제 #1
0
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
예제 #2
0
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())