Files
sakhteman/app/models/design_progress.py
T

58 lines
3.0 KiB
Python

import datetime
import uuid
from typing import Optional, Literal, List
import pydantic
from pydantic import Field
from core.models.base import BaseModel
class DesignProgressModel(BaseModel):
id: Optional[uuid.UUID] = Field(alias='_id')
start_at: Optional[datetime.datetime] = Field(description='تاریخ اولین درخواست در این فیلد قرار می گیرد')
project_id: uuid.UUID = Field(description='کد شناسایی پروژه در این فیلد ذخیره می شود')
complete_at: Optional[datetime.datetime] = Field(description='تاریخ تکمیل مدارک')
user_complete: Optional[int] = Field(description='کاربری که اطلاعات را تکمیل می کند در این فیلد قرار می گیرد')
type: Literal[1, 2, 3, 4, 5, 6, 7] = Field(description="""
1. تکمیل مدارک و مستندات
.2 فاز صفر
.3 فاز یک
.4 طراحی شبکه و دوربین و برق اضطراری
.5 فاز دو
.6 متر برآورد
.7 اسناد مناقصه
""")
parent_id: Optional[uuid.UUID] = Field(description='زیر مجموعه کدام نوع اصلی است')
sub_type: Optional[Literal[1, 2, 3, 4, 5, 6, 7]] = Field(description="""
1. برنامه فیزیکی
2. گزارش فاز صفر کلیه رشته ها
3. آلترناتیک لکه گذاری جا نمایی در سایت
4. آلترناتیک لکه گذاری معماری طبقات
5. فاز یک معماری
6.تائید دانشگاه علوم پزشکی
7.گزارش های کلیه رشته ها
""")
class SubRecord(pydantic.BaseModel):
date_at: datetime.datetime = Field(description='تاریخ در این فیلد ذخیره می شود')
number: str = Field(description='شماره نامه در این فیلد ذخیره می شود')
description: str = Field(description='توضیحات در این فیلد ذخیره می شود')
class Record(BaseModel):
id: Optional[uuid.UUID] = Field(alias='_id')
title: str = Field(description='عنوان در این فیلد قرار میگیرد')
send: SubRecord = Field(description='اطلاعات ارسال در این فیلد ذخیره می شود')
receive: Optional[SubRecord] = Field(description='اطلاعات دریافت در این فیلد ذخیره می شود')
class RecordModel(Record):
design_progress_id: uuid.UUID = Field(description='کد شناسایی فیلد پیشرفت طراحی در این فیلد قرار می گیرد')
class CreateDesignProgress(DesignProgressModel):
records:Optional[List[Record]]=Field(description='لیست رکوردها د این فیلد قرار میگیرد')
class GetRecord(pydantic.BaseModel):
project_id:uuid.UUID = Field(description='کد شناسایی پروژ')
type:Literal[1, 2, 3, 4, 5, 6, 7] = Field(description='نوع')
sub_type:Optional[Literal[1, 2, 3, 4, 5, 6, 7]]