feat / AEB-64 docs fix

This commit is contained in:
Timofey
2025-10-07 15:30:22 +03:00
parent 6e43a8afed
commit d0f1ae26a9

View File

@@ -1,7 +1,8 @@
from rest_framework import status from rest_framework import status
from rest_framework.viewsets import ViewSet from rest_framework.viewsets import ViewSet
from rest_framework.permissions import IsAuthenticated from rest_framework.permissions import IsAuthenticated
from drf_spectacular.utils import extend_schema, OpenApiResponse, OpenApiExample from drf_spectacular.utils import extend_schema, OpenApiResponse, OpenApiExample, inline_serializer
from rest_framework import serializers
from rest_framework.decorators import action from rest_framework.decorators import action
from rest_framework.response import Response from rest_framework.response import Response
from django.http import HttpResponse from django.http import HttpResponse
@@ -84,20 +85,23 @@ class AlertView(ViewSet):
@extend_schema(tags=['Репорты']) @extend_schema(tags=['Репорты'])
class ReportView(ViewSet): class ReportView(ViewSet):
# permission_classes = [IsAuthenticated] permission_classes = [IsAuthenticated]
@extend_schema( @extend_schema(
summary="Генерация отчета", summary="Генерация отчета",
description="Генерирует отчет в выбранном формате (PDF или CSV)", description="Генерирует отчет в выбранном формате (PDF или CSV)",
request={'application/json': {'type': 'object', 'properties': {'report_format': {'type': 'string', 'enum': ['pdf', 'csv']}}}}, request={'application/json': {'type': 'object', 'properties': {'report_format': {'type': 'string', 'enum': ['pdf', 'csv']}}}},
methods=['POST'],
responses={ responses={
200: OpenApiResponse(response=AlertSerializer(many=True), description="Список репортов успешно получен", 200: OpenApiResponse(
examples=[OpenApiExample( response=inline_serializer(
'Успешный ответ', name='BinaryFile',
value=[{ fields={
"message" : "Отчет успешно сгенерирован" 'file': serializers.FileField()
}] }
)]), ),
description="Файл отчета для скачивания в формате PDF или CSV"
),
400: OpenApiResponse( 400: OpenApiResponse(
response=ErrorResponseSerializer, response=ErrorResponseSerializer,
description="Неверный формат", description="Неверный формат",