From 2e15a5bb23caf010c4d29cb60a90f5c80647677c Mon Sep 17 00:00:00 2001 From: Simon Milvert Date: Thu, 24 Aug 2017 19:09:23 +0200 Subject: [PATCH] Working api --- app/api/views.py | 85 ++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 78 insertions(+), 7 deletions(-) diff --git a/app/api/views.py b/app/api/views.py index 93c8201..489af61 100644 --- a/app/api/views.py +++ b/app/api/views.py @@ -11,14 +11,57 @@ def dummy(): @api.route('/cars', methods=['GET', 'POST']) def list_cars(): - cars = Car.query.first() - return jsonify(result=cars.get_public()) + cars = Car.query.all() + return jsonify(result=[c.get_public() for c in cars]) + + +@api.route('/car/add', methods=['POST']) +def add_car(): + if not request.json: + abort(400) + if not 'name' in request.json: + abort(400) + + car = request.json['name'] + car_added = Car(name=car) + db.session.add(car_added) + db.session.commit() + + return jsonify(result="OK") + + +@api.route('/car/edit/', methods=['POST']) +def edit_car(id): + + if not request.json: + abort(400) + + car = Car.query.get_or_404(id) + car.name = request.json['name'] + + db.session.commit() + + return jsonify(result="OK") + + +@api.route('/gas/del/', methods=['POST']) +def del_car(id): + + if not request.json: + abort(400) + + gas = Gas.query.get_or_404(id) + + db.session.delete(gas) + db.session.commit() + + return jsonify(result="OK") @api.route('/gas', methods=['GET', 'POST']) def list_gas(): - gas = Gas.query.first() - return jsonify(result=gas.get_public()) + gas = Gas.query.all() + return jsonify(result=[g.get_public() for g in gas]) @api.route('/gas/add', methods=['POST']) @@ -39,12 +82,40 @@ def add_gas(): milage = request.json['milage'] car = request.json['car'] car_id = Car.query.get_or_404(car) - gas = Gas(price=price, volume=volume, milage=milage, car_id=car_id) + gas = Gas(price=price, volume=volume, milage=milage, car_id=car_id.id) db.session.add(gas) db.session.commit() - - return jsonify(result="OK") +@api.route('/gas/edit/', methods=['POST']) +def edit_gas(id): + + if not request.json: + abort(400) + + gas = Gas.query.get_or_404(id) + gas.price = request.json['price'] + gas.volume = request.json['volume'] + gas.milage = request.json['milage'] + car_id = Car.query.get_or_404(request.json['car']) + gas.car_id = car_id.id + + db.session.commit() + + return jsonify(result="OK") + + +@api.route('/gas/del/', methods=['POST']) +def del_gas(id): + + if not request.json: + abort(400) + + gas = Gas.query.get_or_404(id) + + db.session.delete(gas) + db.session.commit() + + return jsonify(result="OK")