|
11 | 11 | from django.contrib import admin |
12 | 12 | from django.contrib.auth import views as auth_views |
13 | 13 | from django.contrib.auth.decorators import login_required |
14 | | -from django.template.loader import render_to_string |
15 | 14 | from django.urls import path |
16 | 15 | from django.views.defaults import page_not_found |
17 | 16 | from django.views.generic import RedirectView |
18 | 17 | from django.views.generic import TemplateView |
19 | 18 |
|
20 | 19 | from notifications.views import mark_all_as_read |
21 | | -from rest_framework.documentation import include_docs_urls |
22 | 20 | from rest_framework.routers import DefaultRouter |
23 | 21 |
|
24 | 22 | from component_catalog.api import ComponentViewSet |
|
39 | 37 | from dje.views import GlobalSearchListView |
40 | 38 | from dje.views import IntegrationsStatusView |
41 | 39 | from dje.views import UnreadNotificationsList |
| 40 | +from dje.views import api_docs_view |
42 | 41 | from dje.views import home_view |
43 | 42 | from dje.views import index_dispatch |
44 | 43 | from dje.views import urn_resolve_view |
|
161 | 160 |
|
162 | 161 | urlpatterns += [ |
163 | 162 | path("notifications/", include((notification_patterns, "notifications"))), |
164 | | -] |
165 | | - |
166 | | -urlpatterns += [ |
167 | 163 | path("purldb/", include(("purldb.urls", "purldb"))), |
168 | 164 | ] |
169 | 165 |
|
170 | | -api_docs_urls = include_docs_urls( |
171 | | - title="DejaCode REST API", |
172 | | - public=False, |
173 | | - description=render_to_string( |
174 | | - "rest_framework/docs/description.html", |
175 | | - context={"site_url": settings.SITE_URL.rstrip("/")}, |
176 | | - ), |
177 | | -) |
178 | | - |
179 | | -# Force login_required on all API documentation URLs. |
180 | | -for doc_url in api_docs_urls[0]: |
181 | | - doc_url.callback = login_required(doc_url.callback) |
| 166 | +api_docs_patterns = [ |
| 167 | + path("", login_required(api_docs_view.with_ui("redoc")), name="docs-index"), |
| 168 | +] |
182 | 169 |
|
183 | 170 | urlpatterns += [ |
184 | 171 | path("api/v2/", include((api_router.urls, "api_v2"))), |
185 | | - path("api/v2/docs/", api_docs_urls), |
| 172 | + path("api/v2/docs/", include((api_docs_patterns, "api-docs"))), |
186 | 173 | ] |
187 | 174 |
|
188 | 175 | if settings.ENABLE_SELF_REGISTRATION: |
|
0 commit comments