chore(api): document version endpoint
This commit is contained in:
parent
0e3ede5a1a
commit
1f7c2fa0ab
|
@ -1,3 +1,4 @@
|
||||||
|
from django.urls import path
|
||||||
from rest_framework import routers
|
from rest_framework import routers
|
||||||
|
|
||||||
from .views import (
|
from .views import (
|
||||||
|
@ -9,6 +10,7 @@ from .views import (
|
||||||
ThirdPartyTrackReferenceViewSet,
|
ThirdPartyTrackReferenceViewSet,
|
||||||
UserTokenViewSet,
|
UserTokenViewSet,
|
||||||
UserViewSet,
|
UserViewSet,
|
||||||
|
VersionView,
|
||||||
)
|
)
|
||||||
|
|
||||||
router = routers.DefaultRouter()
|
router = routers.DefaultRouter()
|
||||||
|
@ -21,4 +23,7 @@ router.register("user-tokens", UserTokenViewSet)
|
||||||
router.register("celery-tasks", CeleryTaskViewSet)
|
router.register("celery-tasks", CeleryTaskViewSet)
|
||||||
router.register("third-party-track-references", ThirdPartyTrackReferenceViewSet)
|
router.register("third-party-track-references", ThirdPartyTrackReferenceViewSet)
|
||||||
|
|
||||||
urls = router.urls
|
urls = [
|
||||||
|
*router.urls,
|
||||||
|
path("version/", VersionView.as_view()),
|
||||||
|
]
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
from .auth import LoginAttemptSerializer, UserTokenSerializer
|
from .auth import LoginAttemptSerializer, UserTokenSerializer
|
||||||
|
from .info import VersionSerializer
|
||||||
from .preference import PreferenceSerializer, StreamSettingSerializer
|
from .preference import PreferenceSerializer, StreamSettingSerializer
|
||||||
from .service import ServiceRegisterSerializer
|
from .service import ServiceRegisterSerializer
|
||||||
from .user import UserSerializer
|
from .user import UserSerializer
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
from rest_framework import serializers
|
||||||
|
|
||||||
|
|
||||||
|
# pylint: disable=abstract-method
|
||||||
|
class VersionSerializer(serializers.Serializer):
|
||||||
|
api_version = serializers.CharField()
|
|
@ -1,6 +1,6 @@
|
||||||
from .auth import LoginAttemptViewSet, UserTokenViewSet
|
from .auth import LoginAttemptViewSet, UserTokenViewSet
|
||||||
|
from .info import VersionView
|
||||||
from .preference import PreferenceViewSet, StreamSettingViewSet
|
from .preference import PreferenceViewSet, StreamSettingViewSet
|
||||||
from .service import ServiceRegisterViewSet
|
from .service import ServiceRegisterViewSet
|
||||||
from .user import UserViewSet
|
from .user import UserViewSet
|
||||||
from .version import version
|
|
||||||
from .worker import CeleryTaskViewSet, ThirdPartyTrackReferenceViewSet
|
from .worker import CeleryTaskViewSet, ThirdPartyTrackReferenceViewSet
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
from django.conf import settings
|
||||||
|
from rest_framework.permissions import AllowAny
|
||||||
|
from rest_framework.response import Response
|
||||||
|
from rest_framework.views import APIView
|
||||||
|
|
||||||
|
from ..serializers import VersionSerializer
|
||||||
|
|
||||||
|
|
||||||
|
class VersionView(APIView):
|
||||||
|
permission_classes = [AllowAny]
|
||||||
|
serializer_class = VersionSerializer
|
||||||
|
|
||||||
|
def get(self, request):
|
||||||
|
return Response({"api_version": settings.API_VERSION})
|
|
@ -1,10 +0,0 @@
|
||||||
from django.conf import settings
|
|
||||||
from rest_framework.decorators import api_view, permission_classes
|
|
||||||
from rest_framework.permissions import AllowAny
|
|
||||||
from rest_framework.response import Response
|
|
||||||
|
|
||||||
|
|
||||||
@api_view(["GET"])
|
|
||||||
@permission_classes((AllowAny,))
|
|
||||||
def version(request, *args, **kwargs):
|
|
||||||
return Response({"api_version": settings.API_VERSION})
|
|
|
@ -8,7 +8,6 @@ from django.urls import include, path
|
||||||
from drf_spectacular.views import SpectacularAPIView, SpectacularSwaggerView
|
from drf_spectacular.views import SpectacularAPIView, SpectacularSwaggerView
|
||||||
|
|
||||||
from .core.router import urls as core_urls
|
from .core.router import urls as core_urls
|
||||||
from .core.views import version
|
|
||||||
from .history.router import urls as history_urls
|
from .history.router import urls as history_urls
|
||||||
from .podcasts.router import urls as podcasts_urls
|
from .podcasts.router import urls as podcasts_urls
|
||||||
from .schedule.router import urls as schedule_urls
|
from .schedule.router import urls as schedule_urls
|
||||||
|
@ -24,7 +23,6 @@ api_urls += storage_urls
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path("api/v2/", include(api_urls)),
|
path("api/v2/", include(api_urls)),
|
||||||
path("api/v2/version/", version),
|
|
||||||
path(
|
path(
|
||||||
"api/v2/schema/",
|
"api/v2/schema/",
|
||||||
SpectacularAPIView.as_view(),
|
SpectacularAPIView.as_view(),
|
||||||
|
|
|
@ -5070,7 +5070,11 @@ paths:
|
||||||
- {}
|
- {}
|
||||||
responses:
|
responses:
|
||||||
"200":
|
"200":
|
||||||
description: No response body
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: "#/components/schemas/Version"
|
||||||
|
description: ""
|
||||||
/api/v2/webstream-metadata/:
|
/api/v2/webstream-metadata/:
|
||||||
get:
|
get:
|
||||||
operationId: webstream_metadata_list
|
operationId: webstream_metadata_list
|
||||||
|
@ -7928,6 +7932,13 @@ components:
|
||||||
- item_url
|
- item_url
|
||||||
- token
|
- token
|
||||||
- user
|
- user
|
||||||
|
Version:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
api_version:
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- api_version
|
||||||
Webstream:
|
Webstream:
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
|
|
Loading…
Reference in New Issue