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 .views import (
|
||||
|
@ -9,6 +10,7 @@ from .views import (
|
|||
ThirdPartyTrackReferenceViewSet,
|
||||
UserTokenViewSet,
|
||||
UserViewSet,
|
||||
VersionView,
|
||||
)
|
||||
|
||||
router = routers.DefaultRouter()
|
||||
|
@ -21,4 +23,7 @@ router.register("user-tokens", UserTokenViewSet)
|
|||
router.register("celery-tasks", CeleryTaskViewSet)
|
||||
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 .info import VersionSerializer
|
||||
from .preference import PreferenceSerializer, StreamSettingSerializer
|
||||
from .service import ServiceRegisterSerializer
|
||||
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 .info import VersionView
|
||||
from .preference import PreferenceViewSet, StreamSettingViewSet
|
||||
from .service import ServiceRegisterViewSet
|
||||
from .user import UserViewSet
|
||||
from .version import version
|
||||
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 .core.router import urls as core_urls
|
||||
from .core.views import version
|
||||
from .history.router import urls as history_urls
|
||||
from .podcasts.router import urls as podcasts_urls
|
||||
from .schedule.router import urls as schedule_urls
|
||||
|
@ -24,7 +23,6 @@ api_urls += storage_urls
|
|||
|
||||
urlpatterns = [
|
||||
path("api/v2/", include(api_urls)),
|
||||
path("api/v2/version/", version),
|
||||
path(
|
||||
"api/v2/schema/",
|
||||
SpectacularAPIView.as_view(),
|
||||
|
|
|
@ -5070,7 +5070,11 @@ paths:
|
|||
- {}
|
||||
responses:
|
||||
"200":
|
||||
description: No response body
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: "#/components/schemas/Version"
|
||||
description: ""
|
||||
/api/v2/webstream-metadata/:
|
||||
get:
|
||||
operationId: webstream_metadata_list
|
||||
|
@ -7928,6 +7932,13 @@ components:
|
|||
- item_url
|
||||
- token
|
||||
- user
|
||||
Version:
|
||||
type: object
|
||||
properties:
|
||||
api_version:
|
||||
type: string
|
||||
required:
|
||||
- api_version
|
||||
Webstream:
|
||||
type: object
|
||||
properties:
|
||||
|
|
Loading…
Reference in New Issue