from app.core.base_schema import CommonSchema """分组管理 —— Pydantic 校验/序列化模型。""" from datetime import datetime from pydantic import BaseModel, ConfigDict, Field class GroupBaseSchema(BaseModel): model_config = ConfigDict(from_attributes=True) group_name: str = Field(..., description="分组名称") group_type: str = Field(default=None, description="分组类型") remark: str = Field(default=None, description="备注") class GroupCreateSchema(GroupBaseSchema): pass class GroupUpdateSchema(GroupBaseSchema): group_name: str | None = Field(default=None, description="分组名称") group_type: str | None = Field(default=None, description="分组类型") remark: str | None = Field(default=None, description="备注") class GroupOutSchema(GroupBaseSchema): id: int uuid: str group_name: str | None = None group_type: str | None = None remark: str | None = None created_time: datetime | None = None updated_time: datetime | None = None created_by: CommonSchema | None = None updated_by: CommonSchema | None = None class GroupQueryParam(BaseModel): group_name: str | None = Field(default=None, description="分组名称") group_type: str | None = Field(default=None, description="分组类型") model_config = ConfigDict( extra="ignore", json_schema_extra={ "group_name": ("like", "{param}"), "group_type": ("eq", "{param}"), }, )