"""
config/asgi.py
==============
Punto de entrada ASGI para Django Channels (WebSockets).
En cPanel con Phusion Passenger se levanta Daphne como proceso separado:
  daphne -b 0.0.0.0 -p 8001 config.asgi:application

Las conexiones WebSocket van a /ws/ y el resto a Django normal.
"""

import os
from django.core.asgi import get_asgi_application
from channels.routing import ProtocolTypeRouter, URLRouter
from channels.auth import AuthMiddlewareStack

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings.development')

# Importar routing de WebSockets DESPUÉS de configurar settings
from sessions.routing import websocket_urlpatterns

application = ProtocolTypeRouter({
    # HTTP normal → Django WSGI
    'http': get_asgi_application(),

    # WebSockets → Django Channels con autenticación JWT
    'websocket': AuthMiddlewareStack(
        URLRouter(websocket_urlpatterns)
    ),
})
