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()