Добавлен класс CoreViewSet и тесты к нему
This commit is contained in:
@@ -19,45 +19,31 @@ class ViewSetAction(CoreEnum):
|
||||
Перечисление действий набора представлений
|
||||
"""
|
||||
|
||||
LIST = "list"
|
||||
LIST = "LIST"
|
||||
""" Список объектов """
|
||||
|
||||
RETRIEVE = "retrieve"
|
||||
RETRIEVE = "RETRIEVE"
|
||||
""" Получение объекта """
|
||||
|
||||
CREATE = "create"
|
||||
CREATE = "CREATE"
|
||||
""" Создание объекта """
|
||||
|
||||
UPDATE = "update"
|
||||
UPDATE = "UPDATE"
|
||||
""" Изменение объекта """
|
||||
|
||||
PARTIAL_UPDATE = "partial_update"
|
||||
PARTIAL_UPDATE = "PARTIAL_UPDATE"
|
||||
""" Частичное изменение объекта """
|
||||
|
||||
DESTROY = "destroy"
|
||||
DESTROY = "DESTROY"
|
||||
""" Удаление объекта """
|
||||
|
||||
@classmethod
|
||||
def get_method(cls, action: ViewSetAction) -> str:
|
||||
"""
|
||||
Возвращает HTTP метод для указанного действия
|
||||
Возвращает идентификатор метода класса для указанного действия
|
||||
|
||||
:param action: Действие
|
||||
:return: HTTP метод
|
||||
:return: Идентификатор метода класса
|
||||
"""
|
||||
|
||||
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}")
|
||||
return f"item_{action.value.lower()}"
|
||||
|
||||
Reference in New Issue
Block a user