diff --git a/api/controllers/service_api/app/workflow.py b/api/controllers/service_api/app/workflow.py index 10484c9027..9446f9d588 100644 --- a/api/controllers/service_api/app/workflow.py +++ b/api/controllers/service_api/app/workflow.py @@ -29,22 +29,21 @@ from services.app_generate_service import AppGenerateService logger = logging.getLogger(__name__) +workflow_run_fields = { + 'id': fields.String, + 'workflow_id': fields.String, + 'status': fields.String, + 'inputs': fields.Raw, + 'outputs': fields.Raw, + 'error': fields.String, + 'total_steps': fields.Integer, + 'total_tokens': fields.Integer, + 'created_at': fields.DateTime, + 'finished_at': fields.DateTime, + 'elapsed_time': fields.Float, +} -class WorkflowRunApi(Resource): - workflow_run_fields = { - 'id': fields.String, - 'workflow_id': fields.String, - 'status': fields.String, - 'inputs': fields.Raw, - 'outputs': fields.Raw, - 'error': fields.String, - 'total_steps': fields.Integer, - 'total_tokens': fields.Integer, - 'created_at': fields.DateTime, - 'finished_at': fields.DateTime, - 'elapsed_time': fields.Float, - } - +class WorkflowRunDetailApi(Resource): @validate_app_token @marshal_with(workflow_run_fields) def get(self, app_model: App, workflow_id: str): @@ -57,7 +56,7 @@ class WorkflowRunApi(Resource): workflow_run = db.session.query(WorkflowRun).filter(WorkflowRun.id == workflow_id).first() return workflow_run - +class WorkflowRunApi(Resource): @validate_app_token(fetch_user_arg=FetchUserArg(fetch_from=WhereisUserArg.JSON, required=True)) def post(self, app_model: App, end_user: EndUser): """ @@ -117,5 +116,6 @@ class WorkflowTaskStopApi(Resource): } -api.add_resource(WorkflowRunApi, '/workflows/run/', '/workflows/run') +api.add_resource(WorkflowRunApi, '/workflows/run') +api.add_resource(WorkflowRunDetailApi, '/workflows/run/') api.add_resource(WorkflowTaskStopApi, '/workflows/tasks//stop')