from django.contrib import admin from django.db import OperationalError from django.urls import path, include from django.conf import settings from django.conf.urls.static import static from ninja import NinjaAPI from apps.notifications.api.views import NotificationStreamView from config.api import router as api_router from config.api_errors import handle_database_operational_error api = NinjaAPI( title="CS Association API", version="1.0.0", description="API for University Computer Science Association", ) api.add_exception_handler(OperationalError, handle_database_operational_error) api.add_router("", api_router) urlpatterns = [ path('admin/', admin.site.urls), path('api/', api.urls), path("api/notifications/stream/", NotificationStreamView.as_view()), path("", include("django_prometheus.urls")), ] if settings.DEBUG: urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)