* 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.urls.static import static
from django.contrib import admin
from django.contrib.auth.decorators import permission_required
from django.urls import path, include
from drf_spectacular.views import SpectacularAPIView, SpectacularRedocView
from account.permissions import IsAdmin
urlpatterns = [
path('admin/', admin.site.urls),
@ -31,8 +33,7 @@ urlpatterns = [
+ static(settings.STATIC_URL)
# API schema
if settings.DEBUG:
urlpatterns += [
path('api/schema/', SpectacularAPIView.as_view(), name='schema'),
path('api/redoc/', SpectacularRedocView.as_view(url_name='schema'), name='redoc'),
path('api/schema/', permission_required([IsAdmin])(SpectacularAPIView.as_view()), name='schema'),
path('api/redoc/', permission_required([IsAdmin])(SpectacularRedocView.as_view(url_name='schema')), name='redoc'),
]