chore(dev): secure workflows using jwt

This commit is contained in:
Soumyadas15 2025-06-20 15:57:14 +05:30
parent 2ff3c3cd65
commit 34c00b2c38
1 changed files with 8 additions and 5 deletions

View File

@ -790,7 +790,10 @@ async def convert_flow_to_workflow(
raise HTTPException(status_code=500, detail=str(e)) raise HTTPException(status_code=500, detail=str(e))
@router.post("/workflows/builder/validate", response_model=WorkflowValidateResponse) @router.post("/workflows/builder/validate", response_model=WorkflowValidateResponse)
async def validate_workflow_flow_endpoint(request: WorkflowValidateRequest): async def validate_workflow_flow_endpoint(
request: WorkflowValidateRequest,
user_id: str = Depends(get_current_user_id_from_jwt)
):
"""Validate a workflow flow for errors.""" """Validate a workflow flow for errors."""
try: try:
valid, errors = validate_workflow_flow([node.model_dump() if hasattr(node, 'model_dump') else node.dict() for node in request.nodes], [edge.model_dump() if hasattr(edge, 'model_dump') else edge.dict() for edge in request.edges]) valid, errors = validate_workflow_flow([node.model_dump() if hasattr(node, 'model_dump') else node.dict() for node in request.nodes], [edge.model_dump() if hasattr(edge, 'model_dump') else edge.dict() for edge in request.edges])
@ -801,7 +804,7 @@ async def validate_workflow_flow_endpoint(request: WorkflowValidateRequest):
raise HTTPException(status_code=500, detail=str(e)) raise HTTPException(status_code=500, detail=str(e))
@router.get("/workflows/builder/nodes") @router.get("/workflows/builder/nodes")
async def get_builder_nodes(): async def get_builder_nodes(user_id: str = Depends(get_current_user_id_from_jwt)):
"""Get available node types for the workflow builder.""" """Get available node types for the workflow builder."""
try: try:
nodes = [ nodes = [
@ -940,7 +943,7 @@ async def get_builder_nodes():
raise HTTPException(status_code=500, detail=str(e)) raise HTTPException(status_code=500, detail=str(e))
@router.get("/workflows/templates") @router.get("/workflows/templates")
async def get_workflow_templates(): async def get_workflow_templates(user_id: str = Depends(get_current_user_id_from_jwt)):
"""Get available workflow templates.""" """Get available workflow templates."""
try: try:
client = await db.client client = await db.client
@ -1047,7 +1050,7 @@ async def get_scheduler_status(
raise HTTPException(status_code=500, detail=str(e)) raise HTTPException(status_code=500, detail=str(e))
@router.post("/workflows/scheduler/start") @router.post("/workflows/scheduler/start")
async def start_scheduler(): async def start_scheduler(user_id: str = Depends(get_current_user_id_from_jwt)):
"""Start the workflow scheduler.""" """Start the workflow scheduler."""
try: try:
await workflow_scheduler.start() await workflow_scheduler.start()
@ -1057,7 +1060,7 @@ async def start_scheduler():
raise HTTPException(status_code=500, detail=str(e)) raise HTTPException(status_code=500, detail=str(e))
@router.post("/workflows/scheduler/stop") @router.post("/workflows/scheduler/stop")
async def stop_scheduler(): async def stop_scheduler(user_id: str = Depends(get_current_user_id_from_jwt)):
"""Stop the workflow scheduler.""" """Stop the workflow scheduler."""
try: try:
await workflow_scheduler.stop() await workflow_scheduler.stop()