Добавлено представление получения информации о версии проекта
This commit is contained in:
60
net/xeaf/rack/views/version_view_set.py
Normal file
60
net/xeaf/rack/views/version_view_set.py
Normal file
@@ -0,0 +1,60 @@
|
||||
# DRF Rack
|
||||
# Библиотека классов расширений для Django REST Framework
|
||||
#
|
||||
# Автор: Николай В. Анохин <n.anokhin@xeaf.net>
|
||||
# Все права защищены. Лицензия: MIT
|
||||
|
||||
"""
|
||||
Описание класса VersionViewSet
|
||||
"""
|
||||
|
||||
from typing import Any
|
||||
from uuid import UUID
|
||||
|
||||
from rest_framework.permissions import AllowAny
|
||||
|
||||
from net.xeaf.rack.core import CoreModel
|
||||
from net.xeaf.rack.core.views import CoreViewSet
|
||||
from net.xeaf.rack.core.views import ViewSetRetrieveMixin
|
||||
from net.xeaf.rack.serializers.version_info_response import VersionInfoResponse
|
||||
|
||||
|
||||
class VersionViewSet(ViewSetRetrieveMixin, CoreViewSet):
|
||||
"""
|
||||
Представление версии приложения
|
||||
"""
|
||||
|
||||
permission_classes = [AllowAny, ]
|
||||
""" Классы проверки прав доступа """
|
||||
|
||||
item_detail_pattern = ""
|
||||
""" Путь для работы с объектом """
|
||||
|
||||
response_serializer = VersionInfoResponse
|
||||
""" Общий класс сериализатора для ответа """
|
||||
|
||||
def _process_retrieve(self, pk: UUID | None, params: dict[str, Any]) -> dict[str, Any] | CoreModel:
|
||||
"""
|
||||
Обработка запроса на получение версии приложения
|
||||
"""
|
||||
|
||||
version_info = {
|
||||
"title": "DRF Rack",
|
||||
"debug_mode": True,
|
||||
"version": "0.1.0",
|
||||
"build": "20230701",
|
||||
}
|
||||
|
||||
return version_info
|
||||
|
||||
@classmethod
|
||||
def _process_pk_param(cls, **kwargs: Any) -> UUID | None:
|
||||
"""
|
||||
Обработка параметра идентификатора объекта
|
||||
|
||||
:param kwargs: Именованные параметры
|
||||
|
||||
:return: Идентификатор объекта или None
|
||||
"""
|
||||
|
||||
return None
|
||||
Reference in New Issue
Block a user