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] class EditItemTypeAddInfo(BaseModel): name: str category: str class EditItemTypeAddReq(EditItemTypeAddInfo): pass class EditItemTypeAddRes(EditItemTypeInfo): pass class EditItemTypeUpdateInfo(EditItemTypeInfo): pass class EditItemTypeUpdateReq(EditItemTypeUpdateInfo): pass class EditItemTypeUpdateRes(EditItemTypeInfo): pass class EditItemTypeQuery(EditItemTypeInfo): 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] 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: EditItemTypeInfo class EditRecordAddInfo(BaseModel): edit_user: str item_id: int item_type_id: int 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): 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 ##########