Files
drf-rack/net/xeaf/rack/enums/view_set_action.py

64 lines
1.7 KiB
Python

# DRF Rack
# Библиотека классов расширений для Django REST Framework
#
# Автор: Николай В. Анохин <n.anokhin@xeaf.net>
# Все права защищены. Лицензия: MIT
"""
Описание класса ViewSetAction
"""
from enum import unique
from net.xeaf.rack.core import CoreEnum
@unique
class ViewSetAction(CoreEnum):
"""
Перечисление действий набора представлений
"""
LIST = "list"
""" Список объектов """
RETRIEVE = "retrieve"
""" Получение объекта """
CREATE = "create"
""" Создание объекта """
UPDATE = "update"
""" Изменение объекта """
PARTIAL_UPDATE = "partial_update"
""" Частичное изменение объекта """
DESTROY = "destroy"
""" Удаление объекта """
@classmethod
def get_method(cls, action: ViewSetAction) -> str:
"""
Возвращает HTTP метод для указанного действия
:param action: Действие
:return: HTTP метод
"""
match action:
case cls.LIST:
return "item_list"
case cls.CREATE:
return "item_create"
case cls.RETRIEVE:
return "item_retrieve"
case cls.UPDATE:
return "item_update"
case cls.PARTIAL_UPDATE:
return "item_partial_update"
case cls.DESTROY:
return "item_destroy"
case _:
raise ValueError(f"Invalid action: {action}")