122 lines
2.5 KiB
Python
122 lines
2.5 KiB
Python
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/<int:id>', 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/<int:id>', 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/<int:id>', 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/<int:id>', 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")
|