def update_item(id: int): item = Item.query.filter_by(id=id).first() if item is None: return not_found('item não encontrado') data = request.get_json() or {} error = Item.check_data(data=data) if 'registry' in data and data['registry'] is not None \ and data['registry'] != item.registry and \ Item.query.filter_by(registry=data['registry']).first() is not None: error = 'tombo já existe' if 'category_id' in data and data['category_id'] is not None and \ Category.query.get(data['category_id']) is None: error = 'category_id não existe' if error: return bad_request(error) item.from_dict(data) try: db.session.commit() except Exception: return internal_server() return jsonify(item.to_dict())
def create_item(): data = request.get_json() or {} error = Item.check_data(data=data, new=True) if 'registry' in data and data['registry'] is not None and \ Item.query.filter_by(registry=data['registry']).first(): error = 'tombo já existe' if 'category_id' in data and data['category_id'] is not None and \ Category.query.get(data['category_id']) is None: error = 'categoria não existe' if error: return bad_request(error) item = Item() item.from_dict(data) try: db.session.add(item) db.session.commit() except Exception: return internal_server() return jsonify(item.to_dict()), 201