70 lines
3.0 KiB
Python
70 lines
3.0 KiB
Python
"""
|
|
URL configuration for PX360 project.
|
|
"""
|
|
from django.conf import settings
|
|
from django.conf.urls.static import static
|
|
from django.contrib import admin
|
|
from django.urls import include, path
|
|
from django.conf.urls.i18n import i18n_patterns
|
|
from drf_spectacular.views import SpectacularAPIView, SpectacularRedocView, SpectacularSwaggerView
|
|
|
|
urlpatterns = [
|
|
# Language switching
|
|
path('i18n/', include('django.conf.urls.i18n')),
|
|
|
|
# Admin
|
|
path('admin/', admin.site.urls),
|
|
|
|
# Dashboard
|
|
path('', include('apps.dashboard.urls')),
|
|
|
|
# Health check endpoint
|
|
path('health/', include('apps.core.urls', namespace='health')),
|
|
|
|
# Core pages (public submissions, hospital selection)
|
|
path('core/', include('apps.core.urls', namespace='core')),
|
|
|
|
# UI Pages
|
|
path('complaints/', include('apps.complaints.urls')),
|
|
path('feedback/', include('apps.feedback.urls')),
|
|
path('actions/', include('apps.px_action_center.urls')),
|
|
path('accounts/', include('apps.accounts.urls', namespace='accounts')),
|
|
path('journeys/', include('apps.journeys.urls')),
|
|
path('surveys/', include('apps.surveys.urls')),
|
|
path('social/', include('apps.social.urls')),
|
|
path('callcenter/', include('apps.callcenter.urls')),
|
|
path('analytics/', include('apps.analytics.urls')),
|
|
path('organizations/', include('apps.organizations.urls')),
|
|
path('projects/', include('apps.projects.urls')),
|
|
path('config/', include('apps.core.config_urls')),
|
|
path('ai-engine/', include('apps.ai_engine.urls')),
|
|
path('appreciation/', include('apps.appreciation.urls', namespace='appreciation')),
|
|
path('observations/', include('apps.observations.urls', namespace='observations')),
|
|
path('px-sources/', include('apps.px_sources.urls')),
|
|
path('references/', include('apps.references.urls', namespace='references')),
|
|
path('standards/', include('apps.standards.urls', namespace='standards')),
|
|
|
|
# API endpoints
|
|
path('api/auth/', include('apps.accounts.urls', namespace='api_auth')),
|
|
path('api/physicians/', include('apps.physicians.urls')),
|
|
path('api/integrations/', include('apps.integrations.urls')),
|
|
path('api/notifications/', include('apps.notifications.urls')),
|
|
path('api/v1/appreciation/', include('apps.appreciation.urls', namespace='api_appreciation')),
|
|
path('api/simulator/', include('apps.simulator.urls', namespace='simulator')),
|
|
|
|
# OpenAPI/Swagger documentation
|
|
path('api/schema/', SpectacularAPIView.as_view(), name='schema'),
|
|
path('api/docs/', SpectacularSwaggerView.as_view(url_name='schema'), name='swagger-ui'),
|
|
path('api/redoc/', SpectacularRedocView.as_view(url_name='schema'), name='redoc'),
|
|
]
|
|
|
|
# Serve media files in development
|
|
if settings.DEBUG:
|
|
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
|
|
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
|
|
|
|
# Customize admin site
|
|
admin.site.site_header = "PX360 Administration"
|
|
admin.site.site_title = "PX360 Admin Portal"
|
|
admin.site.index_title = "Welcome to PX360 Administration"
|