Files
vue-fastapi-admin/app/schemas/codegen.py
T
2026-06-25 17:41:06 +08:00

49 lines
1.6 KiB
Python

from datetime import datetime
from typing import Optional, Union
from pydantic import BaseModel, Field
class BaseCodegen(BaseModel):
name: Optional[str] = Field(description="名称")
author: Optional[str] = Field(description="作者", default='')
description: Optional[str] = Field(description="描述", default='')
version: Optional[str] = Field(description="版本", default='')
fields: Optional[Union[str, dict]] = Field(description="字段", default='{}')
relations: Optional[Union[str, dict]] = Field(description="关系", default='{}')
api: Optional[Union[str, dict]] = Field(description="API", default='{}')
menu: Optional[Union[str, dict]] = Field(description="菜单", default='{}')
class CodegenCreate(BaseCodegen):
name: str = Field(description="名称")
fields: str = Field(description="字段")
class CodegenUpdate(BaseModel):
id: int = Field(example=1)
name: str = Field(example="管理员")
desc: str = Field("", example="管理员角色")
class CodegenUpdateMenusApis(BaseModel):
id: int
menu_ids: list[int] = []
api_infos: list[dict] = []
class DatasourceInfo(BaseModel):
id: int = Field(..., description="ID")
tableName: Optional[str] = Field(..., description="名称")
tableComment: Optional[str] = Field(..., description="注释")
created_at: Optional[datetime]
updated_at: Optional[datetime]
class DatasourceCreate(DatasourceInfo):
tableName: str = Field(..., description="名称")
tableComment: str = Field(..., description="注释")
class DatasourceUpdate(DatasourceInfo):
id: int = Field(..., description="ID")