31 lines
1.2 KiB
Python
31 lines
1.2 KiB
Python
import datetime
|
|
import uuid
|
|
from typing import Optional, Literal
|
|
|
|
import pydantic
|
|
from pydantic import Field
|
|
|
|
|
|
class StatusReport(pydantic.BaseModel):
|
|
state: Optional[str]
|
|
type_id: Optional[int] = Field(description='کد شناسایی نوع پروژه در این فیلد قرار می گیرد')
|
|
nature_id: Optional[int] = Field(description='کد شناسایی ماهبت در این فیلد قرار می گیرد')
|
|
monitor_type: Optional[int]
|
|
|
|
class ReportCountry(pydantic.BaseModel):
|
|
type_id: int = Field(description='کد شناسایی نوع پروژه در این فیلد قرار می گیرد')
|
|
nature_id: int = Field(description='کد شناسایی ماهبت در این فیلد قرار می گیرد')
|
|
state: Optional[str]
|
|
monitor_type: Optional[int]
|
|
|
|
class DelayDonutDetail(pydantic.BaseModel):
|
|
project_id:uuid.UUID
|
|
select:Literal['financial','force_major','technical']
|
|
|
|
class DonutList(pydantic.BaseModel):
|
|
type: int = Field(description='مقدار وارد شده در گزارش قبل')
|
|
donut_select: str = Field(description='آیتم دونات انتخاب شده')
|
|
|
|
class PhysicalMonth(pydantic.BaseModel):
|
|
from_date:datetime.datetime
|
|
to_date:datetime.datetime |