"""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}