"""
Rutas raiz del servicio de notificaciones.

    /admin/            panel de administracion
    /auth/v1/          emision de tokens
    /notifications/v1/ envio de notificaciones
    /api/schema/       esquema OpenAPI 3 y visores Swagger / ReDoc
"""

from django.conf import settings
from django.contrib import admin
from django.urls import include, path
from drf_spectacular.views import (
    SpectacularAPIView,
    SpectacularRedocView,
    SpectacularSwaggerView,
)

urlpatterns = [
    path("admin/", admin.site.urls),
    path("auth/", include("authentication.urls"), name="authentication"),
    path("notifications/", include("notifications.urls"), name="notifications"),
]

# La documentacion interactiva solo se publica cuando se habilita a
# proposito: describe la superficie completa de la API.
if settings.DEBUG or settings.EXPOSE_API_DOCS:
    urlpatterns += [
        path("api/schema/", SpectacularAPIView.as_view(), name="schema"),
        path(
            "api/schema/swagger/",
            SpectacularSwaggerView.as_view(url_name="schema"),
            name="swagger-ui",
        ),
        path(
            "api/schema/redoc/",
            SpectacularRedocView.as_view(url_name="schema"),
            name="redoc",
        ),
    ]
