From 902243b96909e986087a80e4d382f5c2034ada2a Mon Sep 17 00:00:00 2001 From: Mark Hoekveen Date: Sat, 5 Jul 2025 20:37:41 +0200 Subject: [PATCH] adds openapi definitions to backend --- backend/muzak/settings.py | 10 +++++++++- backend/playlist/urls.py | 3 +++ backend/requirements.txt | 1 + 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/backend/muzak/settings.py b/backend/muzak/settings.py index 20cd059..8470425 100644 --- a/backend/muzak/settings.py +++ b/backend/muzak/settings.py @@ -29,6 +29,7 @@ INSTALLED_APPS = [ 'django_htmx', 'rest_framework', 'corsheaders', + 'drf_spectacular', ] MIDDLEWARE = [ @@ -97,7 +98,14 @@ REST_FRAMEWORK = { ], 'DEFAULT_PERMISSION_CLASSES': [ 'rest_framework.permissions.IsAuthenticated', - ] + ], + 'DEFAULT_SCHEMA_CLASS': 'drf_spectacular.openapi.AutoSchema', +} + +SPECTACULAR_SETTINGS = { + 'TITLE': 'HDcon Muzak', + 'DESCRIPTION': 'Gewoon een leuk tooltje om samen met je vrienden een muzieklijst samen te stellen.', + 'VERSION': '1.0.0', } OIDC_RP_CLIENT_ID = os.getenv('OIDC_RP_CLIENT_ID') diff --git a/backend/playlist/urls.py b/backend/playlist/urls.py index 5f670b8..bda1144 100644 --- a/backend/playlist/urls.py +++ b/backend/playlist/urls.py @@ -2,10 +2,13 @@ from django.urls import path from . import views from django.conf import settings from django.conf.urls.static import static +from drf_spectacular.views import SpectacularAPIView, SpectacularSwaggerView urlpatterns = [ ### API path('api/', views.api_root, name="api-root"), + path('api/schema/', SpectacularAPIView.as_view(), name='schema'), + path('api/schema/swagger-ui/', SpectacularSwaggerView.as_view(url_name='schema'), name='swagger-ui'), path('api/track/', views.TrackListView.as_view(), name="api-tracks"), path('api/track/', views.TrackDetailView.as_view(), name="api-track"), path('api/artist/', views.ArtistDetailView.as_view(), name="api-artist"), diff --git a/backend/requirements.txt b/backend/requirements.txt index 33e9586..6b3e994 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -10,3 +10,4 @@ djangorestframework markdown PyYAML Pygments +drf-spectacular