from datetime import datetime, date from pydantic import BaseModel from typing import Optional, List from utils.pydantic_utils import AllOptional class CompanyRateInfo(BaseModel): id: Optional[int] company_name: Optional[str] file_md: Optional[str] rate_time: Optional[datetime] rate_state: Optional[str] rate_level: Optional[str] badge: Optional[str] publish_state: Optional[str] rate_data: Optional[str] result_data: Optional[str] create_time: Optional[datetime] file_data: Optional[str] wj_data: Optional[str] file_data_state: Optional[str] api_data: Optional[str] api_data_state: Optional[str] man_data: Optional[str] man_data_state: Optional[str] mgr_data: Optional[str] mgr_data_state: Optional[str] class CompanyRateReq(BaseModel): id: int class CompanyRateAddInfo(BaseModel): company_name: Optional[str] file_md: Optional[str] rate_time: Optional[datetime] rate_state: Optional[str] rate_level: Optional[str] badge: Optional[str] publish_state: Optional[str] rate_data: Optional[str] result_data: Optional[str] create_time: Optional[datetime] file_data: Optional[str] wj_data: Optional[str] file_data_state: Optional[str] api_data: Optional[str] api_data_state: Optional[str] man_data: Optional[str] man_data_state: Optional[str] mgr_data: Optional[str] mgr_data_state: Optional[str] class CompanyRateAddReq(CompanyRateAddInfo): pass class CompanyRateAddRes(CompanyRateInfo): pass class CompanyRateUpdateInfo(CompanyRateInfo): pass class CompanyRateUpdateReq(CompanyRateUpdateInfo): pass class CompanyRateUpdateRes(CompanyRateInfo): pass class CompanyRateInfoOptional(CompanyRateInfo, metaclass=AllOptional): pass class CompanyRateQuery(CompanyRateInfoOptional): page: Optional[int] page_size: Optional[int] pass class CompanyRateQueryReq(CompanyRateQuery): pass class CompanyRateGetReq(BaseModel): id: int class CompanyRateGetRes(CompanyRateInfo): pass class CompanyRateQueryRes(BaseModel): count: int items: List[CompanyRateInfo] class CompanyRateDeleteReq(BaseModel): id: int #######################