From 856352ba06188c0cbdf480d027c6ce9fcdf2eb24 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Sat, 30 Nov 2024 11:54:03 -0800 Subject: [PATCH] Resolve TOTPView schema --- src/paperless/views.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/src/paperless/views.py b/src/paperless/views.py index 85f335fad..a54343f08 100644 --- a/src/paperless/views.py +++ b/src/paperless/views.py @@ -18,6 +18,9 @@ from django.http import HttpResponseForbidden from django.http import HttpResponseNotFound from django.views.generic import View from django_filters.rest_framework import DjangoFilterBackend +from drf_spectacular.types import OpenApiTypes +from drf_spectacular.utils import extend_schema +from drf_spectacular.utils import extend_schema_view from rest_framework.authtoken.models import Token from rest_framework.authtoken.views import ObtainAuthToken from rest_framework.decorators import action @@ -196,6 +199,34 @@ class ProfileView(GenericAPIView): return Response(serializer.to_representation(user)) +@extend_schema_view( + get=extend_schema( + responses={ + (200, "application/json"): OpenApiTypes.OBJECT, + }, + ), + post=extend_schema( + request={ + "application/json": { + "type": "object", + "properties": { + "secret": {"type": "string"}, + "code": {"type": "string"}, + }, + "required": ["secret", "code"], + }, + }, + responses={ + (200, "application/json"): OpenApiTypes.OBJECT, + }, + ), + delete=extend_schema( + responses={ + (200, "application/json"): OpenApiTypes.BOOL, + 404: OpenApiTypes.STR, + }, + ), +) class TOTPView(GenericAPIView): """ TOTP views