from datetime import datetime from pydantic import BaseModel from typing import Optional, List from Mods.User.Schemas import UserInfo class EditItemTypeInfo(BaseModel): id: Optional[int] name: Optional[str] category: Optional[str] table_name: Optional[str] class EditItemTypeAddInfo(BaseModel): name: str category: str table_name: Optional[str] class EditItemTypeAddReq(EditItemTypeAddInfo): pass class EditItemTypeAddRes(EditItemTypeInfo): pass class EditItemTypeUpdateInfo(EditItemTypeInfo): pass class EditItemTypeUpdateReq(EditItemTypeUpdateInfo): pass class EditItemTypeUpdateRes(EditItemTypeInfo): pass class EditItemTypeQuery(EditItemTypeInfo): page_size: Optional[int] page: Optional[int] pass class EditItemTypeQueryReq(EditItemTypeQuery): pass class EditItemTypeGetReq(BaseModel): id: int class EditItemTypeGetRes(EditItemTypeInfo): pass class EditItemTypeQueryRes(BaseModel): count: int items: List[EditItemTypeInfo] class EditItemTypeDeleteReq(BaseModel): id: int ####################### class EditRecordInfo(BaseModel): id: Optional[int] edit_user: Optional[str] item_id: Optional[int] item_type_id: Optional[int] action: Optional[str] before_edit_data: Optional[str] after_edit_data: Optional[str] edit_time: Optional[datetime] create_time: Optional[datetime] class EditRecordFullInfo(EditRecordInfo): user_info: Optional[UserInfo] item_type_info: Optional[EditItemTypeInfo] class EditRecordAddInfo(BaseModel): edit_user: str item_id: int edit_user_name: Optional[str] item_type_name: Optional[str] item_type_category: Optional[str] action: Optional[str] before_edit_data: Optional[str] after_edit_data: Optional[str] class EditRecordAddReq(EditRecordAddInfo): pass class EditRecordAddRes(EditRecordInfo): pass class EditRecordUpdateInfo(EditRecordInfo): pass class EditRecordUpdateReq(EditRecordUpdateInfo): pass class EditRecordUpdateRes(EditRecordInfo): pass class EditRecordQuery(EditRecordInfo): page_size: Optional[int] page: Optional[int] pass class EditRecordQueryReq(EditRecordQuery): pass class EditRecordGetReq(BaseModel): id: int class EditRecordGetRes(EditRecordFullInfo): pass class EditRecordQueryRes(BaseModel): count: int items: List[EditRecordFullInfo] class EditRecordDeleteReq(BaseModel): id: int ##########