Source code for orghandbookapi.schemas.activity

from typing import Optional

from pydantic import BaseModel


[docs] class ActivityBase(BaseModel): """Схема валидации базовой модели вида деятельности.""" name: str parent_id: int | None = None level: int = 0
[docs] class ActivityCreate(ActivityBase): """Схема валидации создания модели вида деятельности."""
[docs] class ActivityUpdate(BaseModel): """Схема валидации обновления модели вида деятельности.""" name: str | None = None parent_id: int | None = None level: int | None = None
[docs] class Activity(ActivityBase): """Схема валидации модели вида деятельности.""" id: int
[docs] class Config: from_attributes = True
[docs] class ActivityWithRelations(Activity): """Схема валидации модели вида деятельности с отношениями.""" # noqa: RUF002 parent: Optional["Activity"] = None children: list["Activity"] = []
[docs] class ActivityTree(Activity): """Схема валидации дерева моделей видов деятельности.""" children: list["ActivityTree"] = []
ActivityWithRelations.update_forward_refs() ActivityTree.update_forward_refs()