20 lines
693 B
Python
20 lines
693 B
Python
from __future__ import annotations
|
|
|
|
from typing import List, Optional
|
|
from pydantic import BaseModel, Field
|
|
|
|
|
|
class AccountTreeNode(BaseModel):
|
|
id: int = Field(..., description="ID حساب")
|
|
code: str = Field(..., description="کد حساب")
|
|
name: str = Field(..., description="نام حساب")
|
|
account_type: Optional[str] = Field(default=None, description="نوع حساب")
|
|
parent_id: Optional[int] = Field(default=None, description="شناسه والد")
|
|
level: Optional[int] = Field(default=None, description="سطح حساب در درخت")
|
|
children: List["AccountTreeNode"] = Field(default_factory=list, description="فرزندان")
|
|
|
|
class Config:
|
|
from_attributes = True
|
|
|
|
|