You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

28 lines
903 B

from flask import request, jsonify, Blueprint
from app import db, LogService
from app.models import Train
from app.models.train_lib import buildTrain
from presenter.train import TrainPresenter
from utils import create_response, StateCode
trains_bp = Blueprint('trains', __name__)
@trains_bp.route('/trains', methods=['GET'])
def queryAllTrains():
trains = Train.query.all()
trains_presenters = [TrainPresenter(train).as_dict() for train in trains]
LogService.log()
return jsonify(create_response(StateCode.SUCCESS, data=trains_presenters)), 200
@trains_bp.route('/trains', methods=['POST'])
def createTrain():
data = request.json
new_train = buildTrain(data)
db.session.add(new_train)
db.session.commit()
train_presenter = TrainPresenter(new_train).as_dict()
LogService.log()
return jsonify(create_response(StateCode.SUCCESS, data=train_presenter)), 200