from . import api from ..models import Gas, Car from flask import jsonify, request, abort from .. import db @api.route('/dummy') def dummy(): return 'dummy, World!' @api.route('/cars', methods=['GET', 'POST']) def list_cars(): 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.all() return jsonify(result=[g.get_public() for g in gas]) @api.route('/gas/add', methods=['POST']) def add_gas(): if not request.json: abort(400) if not 'price' in request.json: abort(400) if not 'volume' in request.json: abort(400) if not 'milage' in request.json: abort(400) if not 'car' in request.json: abort(400) price = request.json['price'] volume = request.json['volume'] 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.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")