54 lines
1.6 KiB
Python
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
|
|
# )
|