
import django


import os
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'NavyaBackers.settings')
django.setup()

from django.core.asgi import get_asgi_application
from channels.routing import ProtocolTypeRouter, URLRouter, ChannelNameRouter
from orders.consumer import NotificationConsumer
from channels.auth import AuthMiddlewareStack
from channels.security.websocket import AllowedHostsOriginValidator

from chatbot.jwt_middleware import JWTAuthMiddleware
django_asgi_app = get_asgi_application()
from chatbot.routing import websocket_urlpatterns
from orders.routing import notification_urlpatterns




application = ProtocolTypeRouter({
    "http": django_asgi_app,  # Handle HTTP requests
    "websocket":
        JWTAuthMiddleware(
            URLRouter(
                websocket_urlpatterns + notification_urlpatterns
            )
        ),
    "channel": ChannelNameRouter({
        "notifications": NotificationConsumer.as_asgi(),
    })




})