32 lines
1.6 KiB
Python
32 lines
1.6 KiB
Python
from django.contrib import admin
|
|
from django.urls import path, include
|
|
from drf_spectacular.views import SpectacularAPIView, SpectacularSwaggerView, SpectacularRedocView
|
|
|
|
urlpatterns = [
|
|
path("admin/", admin.site.urls),
|
|
|
|
# Public waitlist endpoints (marketing routes)
|
|
path("", include("waitlist.urls", namespace="waitlist")),
|
|
|
|
# Health
|
|
path("", include("api.urls", namespace="api")),
|
|
|
|
# Domain apps
|
|
path("api/v1/accounts/", include("accounts.urls", namespace="accounts")),
|
|
path("api/v1/courses/", include("courses.urls", namespace="courses")),
|
|
path("api/v1/cms/", include("cms.urls", namespace="cms")),
|
|
path("api/cms/", include("cms.urls", namespace="cms-legacy")),
|
|
path("api/v1/tracking/", include("tracking.urls", namespace="tracking")),
|
|
path("api/v1/quizzes/", include("quizzes.urls", namespace="quizzes")),
|
|
path("api/v1/training/", include("training.urls", namespace="training")),
|
|
path("api/v1/certificates/", include("certificates.urls", namespace="certificates")),
|
|
path("api/v1/reports/", include("reports.urls", namespace="reports")),
|
|
path("api/v1/notifications/", include("notifications.urls", namespace="notifications")),
|
|
path("api/v1/attendance/", include("attendance.urls", namespace="attendance")),
|
|
|
|
# OpenAPI (guarded per-env in settings)
|
|
path("api/schema/", SpectacularAPIView.as_view(), name="schema"),
|
|
path("api/schema/swagger/", SpectacularSwaggerView.as_view(url_name="schema"), name="swagger"),
|
|
path("api/schema/redoc/", SpectacularRedocView.as_view(url_name="schema"), name="redoc"),
|
|
]
|