Files
ai-worker-platform/backend/app/api/v1/dag.py
T

28 lines
790 B
Python

"""DAG orchestration endpoints."""
from fastapi import APIRouter, Depends
from sqlalchemy.orm import Session
from pydantic import BaseModel
from typing import List
from app.database import get_db
from app.services.dag_service import DAGService
from app.api.deps import get_current_user
from app.models.user import User
router = APIRouter(prefix="/dag")
class DAGExecuteRequest(BaseModel):
project_id: int
task_ids: List[int]
@router.post("/execute")
def execute_dag(
req: DAGExecuteRequest,
user: User = Depends(get_current_user),
db: Session = Depends(get_db),
):
"""Execute multiple tasks respecting dependencies (DAG)."""
results = DAGService.execute_dag(db, user.tenant_id, req.project_id, req.task_ids)
return {"success": True, "results": results}