from flask import Flask, jsonify, Response, request from flask_sqlalchemy import SQLAlchemy from esales.flask_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