diff --git a/app/services/recipe_service.py b/app/services/recipe_service.py index a81306b..760283e 100644 --- a/app/services/recipe_service.py +++ b/app/services/recipe_service.py @@ -42,6 +42,23 @@ class RecipeService: if ipfs_cid: recipe_data["ipfs_cid"] = ipfs_cid + # Compute step_count from nodes + nodes = recipe_data.get("nodes", []) + if not nodes: + dag = recipe_data.get("dag", {}) + nodes = dag.get("nodes", []) if isinstance(dag, dict) else [] + if not nodes: + nodes = recipe_data.get("pipeline", []) + if not nodes: + nodes = recipe_data.get("steps", []) + + if isinstance(nodes, list): + recipe_data["step_count"] = len(nodes) + elif isinstance(nodes, dict): + recipe_data["step_count"] = len(nodes) + else: + recipe_data["step_count"] = 0 + return recipe_data async def list_recipes(self, actor_id: str = None, offset: int = 0, limit: int = 20) -> list: