Files
api2/api/core.py
T

42 lines
1.1 KiB
Python

from flask import Flask, jsonify, Response, request
from flask_sqlalchemy import SQLAlchemy
from api.extensions.esales import Esales
from api.helpers import check_api_key
from api.exceptions import ValidationError
db = SQLAlchemy()
esales = Esales()
def create_app(config_name='config'):
app = Flask(__name__)
app.config.from_object(config_name)
db.init_app(app)
esales.init_app(app)
# register errors handlers
@app.errorhandler(404)
def on_404(error):
response = jsonify(
{'status': 404, 'message': 'The requested resource was not found'})
response.status_code = 404
return response
@app.errorhandler(ValidationError)
def on_validation_error(error):
response = jsonify({'status': 400, 'message': error.message})
response.status_code = 400
return response
# register resources
from api.resources import server, designers, categories
app.register_blueprint(server.mod)
app.register_blueprint(designers.mod)
app.register_blueprint(categories.mod)
# authentication
app.before_request(check_api_key)
return app