intro inbox service
This commit is contained in:
34
inbox_main.py
Normal file
34
inbox_main.py
Normal file
@@ -0,0 +1,34 @@
|
||||
from importlib import import_module
|
||||
|
||||
from ariadne import load_schema_from_path, make_executable_schema
|
||||
|
||||
from ariadne.asgi import GraphQL
|
||||
from starlette.applications import Starlette
|
||||
from starlette.middleware import Middleware
|
||||
from starlette.middleware.authentication import AuthenticationMiddleware
|
||||
from starlette.middleware.sessions import SessionMiddleware
|
||||
from starlette.routing import Route
|
||||
|
||||
from auth.authenticate import JWTAuthenticate
|
||||
from redis import redis
|
||||
|
||||
import asyncio
|
||||
|
||||
from resolvers_base import resolvers
|
||||
import inbox_resolvers.inbox
|
||||
|
||||
schema = make_executable_schema(load_schema_from_path("inbox_schema.graphql"), resolvers)
|
||||
|
||||
middleware = [
|
||||
Middleware(AuthenticationMiddleware, backend=JWTAuthenticate()),
|
||||
Middleware(SessionMiddleware, secret_key="!secret")
|
||||
]
|
||||
|
||||
async def start_up():
|
||||
await redis.connect()
|
||||
|
||||
async def shutdown():
|
||||
await redis.disconnect()
|
||||
|
||||
app = Starlette(debug=True, on_startup=[start_up], on_shutdown=[shutdown], middleware=middleware)
|
||||
app.mount("/", GraphQL(schema, debug=True))
|
Reference in New Issue
Block a user