import uuid from datetime import datetime from typing import Optional, Literal from pydantic import Field from core.models.base import BaseModel class SecondaryProgressModel(BaseModel): id: Optional[uuid.UUID] = Field(alias='_id') project_id: Optional[uuid.UUID] = Field(description="کد شناسایی پروژه در این فیلد قرار می گیرد") title:Optional[str] = Field(description='عنوان در این فیلد قرار میگیرد') weight:Optional[int]=Field(description='وزن در این فیلد قرار می گیرد') program: Optional[int] = Field(description=" برنامه ای") real: Optional[int] = Field(description=" واقعی") deviation:Optional[int] = Field(description="انحراف از برنامه") date_at:Optional[datetime] = Field(description="تاریخ گزارش پیشرفت") last_month:Optional[int] = Field(description='واقعی ماه اخیر') collection:Optional[Literal['all','work','various','secondary_building','block']] = Field(description=""" all: کلی work: پیشرفت جبهه های کاری various: پیشرفت رشته های مختلف secondary_building: پیشرفت ساختمان های جنبی block: پیشرفت بلوک ها """)