From 90461b61cc186c2f3a7faff9cc6412ca6a3195db Mon Sep 17 00:00:00 2001 From: Timofey Date: Fri, 29 Aug 2025 14:48:55 +0300 Subject: [PATCH] docs --- backend/api/auth/serializers.py | 7 ++++++- backend/api/auth/views.py | 26 ++++++++++++++++---------- backend/base/settings.py | 2 +- 3 files changed, 23 insertions(+), 12 deletions(-) diff --git a/backend/api/auth/serializers.py b/backend/api/auth/serializers.py index 63c1962..abbda93 100644 --- a/backend/api/auth/serializers.py +++ b/backend/api/auth/serializers.py @@ -59,4 +59,9 @@ class LoginResponseSerializer(serializers.Serializer): message = serializers.CharField() access = serializers.CharField() refresh = serializers.CharField() - user = UserResponseSerializer() \ No newline at end of file + user = UserResponseSerializer() + + +class LogoutResponseSerializer(serializers.Serializer): + """Сериализатор для ответа при выходе из системы""" + message = serializers.CharField() \ No newline at end of file diff --git a/backend/api/auth/views.py b/backend/api/auth/views.py index a04b351..e329f76 100644 --- a/backend/api/auth/views.py +++ b/backend/api/auth/views.py @@ -11,7 +11,8 @@ from django.contrib.auth.models import User from .serializers import ( UserResponseSerializer, LoginRequestSerializer, - LoginResponseSerializer + LoginResponseSerializer, + LogoutResponseSerializer ) from api.utils.cookies import AuthBaseViewSet @@ -138,30 +139,35 @@ class LoginViewSet(AuthBaseViewSet): ) class LogoutView(APIView): - """ViewSet для выхода из системы""" + """View для выхода из системы""" + serializer_class = LogoutResponseSerializer @extend_schema( summary="Выход из системы", - description="Эндпоинт для выхода из системы, очищает все токены и куки", + description="Эндпоинт для выхода из системы. Очищает JWT токены и сессионные куки.", responses={ 200: OpenApiResponse( - description="Успешный выход", - response=OpenApiTypes.OBJECT, + response=LogoutResponseSerializer, + description="Успешный выход из системы", examples=[ OpenApiExample( 'Успешный выход', - value={"message": "Logged out"} + value={"message": "Успешный выход из системы"} ) ] ) - } + }, + tags=['Аутентификация'] ) def post(self, request): - response = Response({'message': 'Logged out'}, status=status.HTTP_200_OK) + """Выход из системы с очисткой всех токенов и куки""" + response = Response( + {'message': 'Успешный выход из системы'}, + status=status.HTTP_200_OK + ) - # чистим куки и sessionID response.delete_cookie('access_token') response.delete_cookie('refresh_token') - response.delete_cookie('sessionid') + response.delete_cookie('sessionid') return response \ No newline at end of file diff --git a/backend/base/settings.py b/backend/base/settings.py index 080608d..4869b7b 100644 --- a/backend/base/settings.py +++ b/backend/base/settings.py @@ -73,7 +73,7 @@ INSTALLED_APPS = [ # Настройки OpenAPI SPECTACULAR_SETTINGS = { 'TITLE': 'AERBIM API', - 'DESCRIPTION': 'API для работы с AERBIM', + 'DESCRIPTION': 'AERBIM - документация по API', 'VERSION': '1.0.0', 'SERVE_INCLUDE_SCHEMA': False, 'COMPONENT_SPLIT_REQUEST': True,