Skip to content
Snippets Groups Projects
app.py 792 B
Newer Older
  • Learn to ignore specific revisions
  • Mark's avatar
    Mark committed
    from flask import Flask
    
    from flask_security import Security, login_required
    
    Mark's avatar
    Mark committed
    from flask_graphql import GraphQLView
    
    from os import environ
    
    
    from database.database import db_session, init_db, get_user_datastore
    
    Mark's avatar
    Mark committed
    from database.schema import schema
    
    from database.models import User
    
    Mark's avatar
    Mark committed
    
    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=app.debug # for having the GraphiQL interface
    
    user_datastore = get_user_datastore()
    
    Mark's avatar
    Mark committed
    
    @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()