bottleneckcrm/backend/crm/urls.py
2025-12-09 13:32:12 +05:30

54 lines
1.6 KiB
Python

from django.conf import settings
from django.conf.urls.static import static
from django.contrib import admin
from django.contrib.auth import views
from django.urls import include, path
from django.urls import re_path as url
from django.views.generic import TemplateView
from drf_spectacular.views import (
SpectacularAPIView,
SpectacularRedocView,
SpectacularSwaggerView,
)
from rest_framework import permissions
app_name = "crm"
urlpatterns = [
url(
r"^healthz/$",
TemplateView.as_view(template_name="healthz.html"),
name="healthz",
),
path("api/", include("common.app_urls", namespace="common_urls")),
# Public portal endpoints (no auth required)
path("api/public/", include("invoices.public_urls", namespace="public_invoices")),
path(
"logout/", views.LogoutView.as_view(), {"next_page": "/login/"}, name="logout"
),
path("admin/", admin.site.urls),
path("schema/", SpectacularAPIView.as_view(), name="schema"),
# Optional UI:
path(
"swagger-ui/",
SpectacularSwaggerView.as_view(url_name="schema"),
name="swagger-ui",
),
path(
"api/schema/redoc/",
SpectacularRedocView.as_view(url_name="schema"),
name="redoc",
),
]
if settings.DEBUG:
from django.conf.urls.static import static
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
urlpatterns += staticfiles_urlpatterns()
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
# urlpatterns = urlpatterns + static(
# settings.MEDIA_URL, document_root=settings.MEDIA_ROOT
# )