* Make API schema visible only for admins

This commit is contained in:
Phil Zhitnikov 2024-05-30 20:58:13 +04:00
parent 8501944b40
commit 837e2b530a

View File

@ -17,9 +17,11 @@ Including another URLconf
from django.conf import settings from django.conf import settings
from django.conf.urls.static import static from django.conf.urls.static import static
from django.contrib import admin from django.contrib import admin
from django.contrib.auth.decorators import permission_required
from django.urls import path, include from django.urls import path, include
from drf_spectacular.views import SpectacularAPIView, SpectacularRedocView from drf_spectacular.views import SpectacularAPIView, SpectacularRedocView
from account.permissions import IsAdmin
urlpatterns = [ urlpatterns = [
path('admin/', admin.site.urls), path('admin/', admin.site.urls),
@ -31,8 +33,7 @@ urlpatterns = [
+ static(settings.STATIC_URL) + static(settings.STATIC_URL)
# API schema # API schema
if settings.DEBUG: urlpatterns += [
urlpatterns += [ path('api/schema/', permission_required([IsAdmin])(SpectacularAPIView.as_view()), name='schema'),
path('api/schema/', SpectacularAPIView.as_view(), name='schema'), path('api/redoc/', permission_required([IsAdmin])(SpectacularRedocView.as_view(url_name='schema')), name='redoc'),
path('api/redoc/', SpectacularRedocView.as_view(url_name='schema'), name='redoc'), ]
]