daily/Schemas/DailySchemas.py

102 lines
2.1 KiB
Python

from enum import Enum, unique
from typing import Optional, List, Union
from pydantic import BaseModel
from datetime import datetime
from Schemas.UserSchemas import UserInfo
@unique
class DailyTypeEnum(Enum):
董监高日报 = "董监高日报"
部门子公司日报 = "部门子公司日报"
监管和同业动态 = "监管和同业动态"
行业信息专题分析 = "行业信息专题分析"
动态 = "动态"
class DailyInfo(BaseModel):
id: Optional[int]
type: Optional[DailyTypeEnum]
fill_user: Optional[str]
title: Optional[str]
department: Optional[int]
user: Optional[UserInfo]
post: Optional[int]
content: Optional[str]
daily_time: Optional[datetime]
create_time: Optional[datetime]
update_time: Optional[datetime]
class DailyGetReq(BaseModel):
id: int
pass
class DailyGetRes(DailyInfo):
pass
class DailyChangeReq(BaseModel):
id: int
type: Optional[DailyTypeEnum]
fill_user: Optional[str]
title: Optional[str]
department: Optional[int]
post: Optional[int]
content: Optional[str]
daily_time: Optional[datetime]
create_time: Optional[datetime]
update_time: Optional[datetime]
class DailyChangeRes(DailyInfo):
pass
class DailyQuery(BaseModel):
id: Optional[int]
type: Optional[DailyTypeEnum]
fill_user: Optional[str]
# name: Optional[str]
title: Optional[str]
# department_list: Optional[int]
department: Optional[Union[int, List[int]]]
post: Optional[int]
content: Optional[str]
daily_time: Optional[List[Union[int, None]]]
create_time: Optional[List[Union[int, None]]]
update_time: Optional[List[Union[int, None]]]
page_size: Optional[int]
page: Optional[int]
class DailyQueryRes(BaseModel):
items: List[DailyInfo]
count: int
pass
class DailyAddReq(BaseModel):
type: DailyTypeEnum
fill_user: Optional[str]
department: int
content: str
post: int
daily_time: Optional[datetime]
title: Optional[str]
class DailyAddRes(DailyInfo):
pass
class DailyDeleteReq(BaseModel):
id: int
class DailyDeleteRes(BaseModel):
msg: str
state: int