Fix: component list operation issue. (#11364)

### Type of change

- [x] Bug Fix (non-breaking change which fixes an issue)
This commit is contained in:
Kevin Hu
2025-11-19 13:19:44 +08:00
committed by GitHub
parent e8fe580d7a
commit 2de42f00b8
2 changed files with 23 additions and 21 deletions

View File

@ -30,12 +30,12 @@ admin_bp = Blueprint('admin', __name__, url_prefix='/api/v1/admin')
@admin_bp.route('/login', methods=['POST'])
async def login():
if not await request.json:
def login():
if not request.json:
return error_response('Authorize admin failed.' ,400)
try:
email = await request.json.get("email", "")
password = await request.json.get("password", "")
email = request.json.get("email", "")
password = request.json.get("password", "")
return login_admin(email, password)
except Exception as e:
return error_response(str(e), 500)
@ -76,9 +76,9 @@ def list_users():
@admin_bp.route('/users', methods=['POST'])
@login_required
@check_admin_auth
async def create_user():
def create_user():
try:
data = await request.get_json()
data = request.get_json()
if not data or 'username' not in data or 'password' not in data:
return error_response("Username and password are required", 400)
@ -120,9 +120,9 @@ def delete_user(username):
@admin_bp.route('/users/<username>/password', methods=['PUT'])
@login_required
@check_admin_auth
async def change_password(username):
def change_password(username):
try:
data = await request.get_json()
data = request.get_json()
if not data or 'new_password' not in data:
return error_response("New password is required", 400)
@ -139,9 +139,9 @@ async def change_password(username):
@admin_bp.route('/users/<username>/activate', methods=['PUT'])
@login_required
@check_admin_auth
async def alter_user_activate_status(username):
def alter_user_activate_status(username):
try:
data = await request.get_json()
data = request.get_json()
if not data or 'activate_status' not in data:
return error_response("Activation status is required", 400)
activate_status = data['activate_status']
@ -253,9 +253,9 @@ def restart_service(service_id):
@admin_bp.route('/roles', methods=['POST'])
@login_required
@check_admin_auth
async def create_role():
def create_role():
try:
data = await request.get_json()
data = request.get_json()
if not data or 'role_name' not in data:
return error_response("Role name is required", 400)
role_name: str = data['role_name']
@ -269,9 +269,9 @@ async def create_role():
@admin_bp.route('/roles/<role_name>', methods=['PUT'])
@login_required
@check_admin_auth
async def update_role(role_name: str):
def update_role(role_name: str):
try:
data = await request.get_json()
data = request.get_json()
if not data or 'description' not in data:
return error_response("Role description is required", 400)
description: str = data['description']
@ -317,9 +317,9 @@ def get_role_permission(role_name: str):
@admin_bp.route('/roles/<role_name>/permission', methods=['POST'])
@login_required
@check_admin_auth
async def grant_role_permission(role_name: str):
def grant_role_permission(role_name: str):
try:
data = await request.get_json()
data = request.get_json()
if not data or 'actions' not in data or 'resource' not in data:
return error_response("Permission is required", 400)
actions: list = data['actions']
@ -333,9 +333,9 @@ async def grant_role_permission(role_name: str):
@admin_bp.route('/roles/<role_name>/permission', methods=['DELETE'])
@login_required
@check_admin_auth
async def revoke_role_permission(role_name: str):
def revoke_role_permission(role_name: str):
try:
data = await request.get_json()
data = request.get_json()
if not data or 'actions' not in data or 'resource' not in data:
return error_response("Permission is required", 400)
actions: list = data['actions']
@ -349,9 +349,9 @@ async def revoke_role_permission(role_name: str):
@admin_bp.route('/users/<user_name>/role', methods=['PUT'])
@login_required
@check_admin_auth
async def update_user_role(user_name: str):
def update_user_role(user_name: str):
try:
data = await request.get_json()
data = request.get_json()
if not data or 'role_name' not in data:
return error_response("Role name is required", 400)
role_name: str = data['role_name']

View File

@ -47,7 +47,9 @@ class ListOperations(ComponentBase,ABC):
def _invoke(self, **kwargs):
self.input_objects=[]
inputs = getattr(self._param, "query", None)
self.inputs=self._canvas.get_variable_value(inputs)
self.inputs = self._canvas.get_variable_value(inputs)
if not isinstance(self.inputs, list):
raise TypeError("The input of List Operations should be an array.")
self.set_input_value(inputs, self.inputs)
if self._param.operations == "topN":
self._topN()