fix: 修正查询方法
This commit is contained in:
@@ -48,8 +48,7 @@ class ScriptCreateOut(BaseModel):
|
||||
|
||||
|
||||
class ScriptGetIn(BaseModel):
|
||||
mode: Literal["ALL", "Index", "Single"]
|
||||
scriptId: Optional[str] = None
|
||||
scriptId: Optional[str] = Field(None, description="脚本ID,仅在模式为Single时需要")
|
||||
|
||||
|
||||
class ScriptGetOut(BaseModel):
|
||||
@@ -61,9 +60,8 @@ class ScriptGetOut(BaseModel):
|
||||
|
||||
|
||||
class ScriptUpdate(BaseModel):
|
||||
name: Optional[str] = None
|
||||
content: Optional[str] = None
|
||||
description: Optional[str] = None
|
||||
scriptId: str = Field(..., description="脚本ID")
|
||||
data: Dict[str, Any] = Field(..., description="脚本更新数据")
|
||||
|
||||
|
||||
class ScriptUser(BaseModel):
|
||||
@@ -172,9 +170,7 @@ async def add_script(script: ScriptCreateIn = Body(...)) -> ScriptCreateOut:
|
||||
async def get_scripts(script: ScriptGetIn = Body(...)) -> ScriptGetOut:
|
||||
"""查询脚本"""
|
||||
try:
|
||||
index, data = await Config.get_script(
|
||||
script.mode, uuid.UUID(script.scriptId) if script.scriptId else None
|
||||
)
|
||||
index, data = await Config.get_script(script.scriptId)
|
||||
except Exception as e:
|
||||
return ScriptGetOut(code=500, status="error", message=str(e), index=[], data={})
|
||||
return ScriptGetOut(index=index, data=data)
|
||||
|
||||
@@ -632,21 +632,17 @@ class AppConfig(GlobalConfig):
|
||||
|
||||
return await self.ScriptConfig.add(class_book[script])
|
||||
|
||||
async def get_script(
|
||||
self, mode: Literal["ALL", "Index", "Single"], script_id: Optional[uuid.UUID]
|
||||
) -> tuple[list, dict]:
|
||||
async def get_script(self, script_id: Optional[str]) -> tuple[list, dict]:
|
||||
"""获取脚本配置"""
|
||||
|
||||
if mode in ["ALL", "Index"]:
|
||||
if script_id is None:
|
||||
data = await self.ScriptConfig.toDict()
|
||||
elif mode == "Single":
|
||||
if script_id is None:
|
||||
raise ValueError("script_id cannot be None when mode is 'Single'")
|
||||
data = await self.ScriptConfig.get(script_id)
|
||||
else:
|
||||
data = await self.ScriptConfig.get(uuid.UUID(script_id))
|
||||
|
||||
index = data.pop("instances", [])
|
||||
|
||||
return list(index), data if mode != "Index" else {}
|
||||
return list(index), data
|
||||
|
||||
# def check_data(self) -> None:
|
||||
# """检查用户数据文件并处理数据文件版本更新"""
|
||||
|
||||
Reference in New Issue
Block a user