from flask import Flask from flask_security import Security, login_required, \ SQLAlchemySessionUserDatastore from flask_graphql import GraphQLView from os import environ from database.database import db_session, init_db from database.schema import schema from database.models import User, Role app = Flask(__name__) app.debug = True if "DEBUG" in environ and environ["DEBUG"] else False app.add_url_rule( '/graphql', view_func=GraphQLView.as_view( 'graphql', schema=schema, graphiql=True # for having the GraphiQL interface ) ) user_datastore = SQLAlchemySessionUserDatastore(db_session, User, Role) @app.teardown_appcontext def shutdown_session(exception=None): db_session.remove() @app.before_first_request def initialize_database(): init_db() if __name__ == '__main__': app.run()