Fix: download, detail, diagram workflows dir resove failed

This commit is contained in:
evan
2025-08-06 12:33:49 +08:00
parent a3be448758
commit 64f9f86f87
4 changed files with 21 additions and 8229 deletions

View File

@@ -204,9 +204,13 @@ async def get_workflow_detail(filename: str):
workflow_meta = workflows[0]
# file_path = Path(__file__).parent / "workflows" / workflow_meta.name / filename
# print(f"当前工作目录: {workflow_meta}")
# Load raw JSON from file
file_path = os.path.join("workflows", filename)
if not os.path.exists(file_path):
workflows_path = Path('workflows')
json_files = list(workflows_path.rglob("*.json"))
file_path = [f for f in json_files if f.name == filename][0]
if not file_path.exists():
print(f"Warning: File {file_path} not found on filesystem but exists in database")
raise HTTPException(status_code=404, detail=f"Workflow file '{filename}' not found on filesystem")
@@ -226,7 +230,9 @@ async def get_workflow_detail(filename: str):
async def download_workflow(filename: str):
"""Download workflow JSON file."""
try:
file_path = os.path.join("workflows", filename)
workflows_path = Path('workflows')
json_files = list(workflows_path.rglob("*.json"))
file_path = [f for f in json_files if f.name == filename][0]
if not os.path.exists(file_path):
print(f"Warning: Download requested for missing file: {file_path}")
raise HTTPException(status_code=404, detail=f"Workflow file '{filename}' not found on filesystem")
@@ -246,8 +252,11 @@ async def download_workflow(filename: str):
async def get_workflow_diagram(filename: str):
"""Get Mermaid diagram code for workflow visualization."""
try:
file_path = os.path.join("workflows", filename)
if not os.path.exists(file_path):
workflows_path = Path('workflows')
json_files = list(workflows_path.rglob("*.json"))
file_path = [f for f in json_files if f.name == filename][0]
print(f'{file_path}')
if not file_path.exists():
print(f"Warning: Diagram requested for missing file: {file_path}")
raise HTTPException(status_code=404, detail=f"Workflow file '{filename}' not found on filesystem")