refactor: update error handling to use BadRequest for plugin invocation errors

This commit is contained in:
Harry 2025-10-30 23:16:14 +08:00
parent e2543bcf30
commit 2842cbf1e1
1 changed files with 5 additions and 5 deletions

View File

@ -6,7 +6,7 @@ from typing import cast
from flask import abort, request from flask import abort, request
from flask_restx import Resource, fields, inputs, marshal_with, reqparse from flask_restx import Resource, fields, inputs, marshal_with, reqparse
from sqlalchemy.orm import Session from sqlalchemy.orm import Session
from werkzeug.exceptions import Forbidden, InternalServerError, NotFound from werkzeug.exceptions import BadRequest, Forbidden, InternalServerError, NotFound
import services import services
from controllers.console import api, console_ns from controllers.console import api, console_ns
@ -992,7 +992,7 @@ class DraftWorkflowTriggerRunApi(Resource):
except InvokeRateLimitError as ex: except InvokeRateLimitError as ex:
raise InvokeRateLimitHttpError(ex.description) raise InvokeRateLimitHttpError(ex.description)
except PluginInvokeError as e: except PluginInvokeError as e:
raise ValueError(e.to_user_friendly_error()) raise BadRequest(e.to_user_friendly_error())
except Exception as e: except Exception as e:
logger.exception("Error polling trigger debug event") logger.exception("Error polling trigger debug event")
raise e raise e
@ -1050,7 +1050,7 @@ class DraftWorkflowTriggerNodeApi(Resource):
) )
event = poller.poll() event = poller.poll()
except PluginInvokeError as e: except PluginInvokeError as e:
return jsonable_encoder({"status": "error", "error": e.to_user_friendly_error()}), 500 return jsonable_encoder({"status": "error", "error": e.to_user_friendly_error()}), 400
except Exception as e: except Exception as e:
logger.exception("Error polling trigger debug event") logger.exception("Error polling trigger debug event")
raise e raise e
@ -1074,7 +1074,7 @@ class DraftWorkflowTriggerNodeApi(Resource):
logger.exception("Error running draft workflow trigger node") logger.exception("Error running draft workflow trigger node")
return jsonable_encoder( return jsonable_encoder(
{"status": "error", "error": "An unexpected error occurred while running the node."} {"status": "error", "error": "An unexpected error occurred while running the node."}
), 500 ), 400
@console_ns.route("/apps/<uuid:app_id>/workflows/draft/trigger/run-all") @console_ns.route("/apps/<uuid:app_id>/workflows/draft/trigger/run-all")
@ -1151,4 +1151,4 @@ class DraftWorkflowTriggerRunAllApi(Resource):
{ {
"status": "error", "status": "error",
} }
), 500 ), 400