From 1bad24e3ab120e5c55329562239ce4dea9bec43e Mon Sep 17 00:00:00 2001 From: Lynn Date: Wed, 22 Oct 2025 19:03:02 +0800 Subject: [PATCH] Feat: version 0.21.1 (#10718) ### What problem does this PR solve? Update version, and remove '_canvas' suffix in agent_category. ### Type of change - [x] New Feature (non-breaking change which adds functionality) --- admin/client/pyproject.toml | 2 +- admin/pyproject.toml | 24 ------------------------ admin/server/auth.py | 2 ++ admin/server/routes.py | 20 +++++++++++++------- admin/server/services.py | 12 ++++++++---- docs/guides/manage_users_and_services.md | 2 +- 6 files changed, 25 insertions(+), 37 deletions(-) delete mode 100644 admin/pyproject.toml diff --git a/admin/client/pyproject.toml b/admin/client/pyproject.toml index 025f1ea8a..f967cd5b8 100644 --- a/admin/client/pyproject.toml +++ b/admin/client/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "ragflow-cli" -version = "0.21.0" +version = "0.21.1" description = "Admin Service's client of [RAGFlow](https://github.com/infiniflow/ragflow). The Admin Service provides user management and system monitoring. " authors = [{ name = "Lynn", email = "lynn_inf@hotmail.com" }] license = { text = "Apache License, Version 2.0" } diff --git a/admin/pyproject.toml b/admin/pyproject.toml deleted file mode 100644 index 825fedce4..000000000 --- a/admin/pyproject.toml +++ /dev/null @@ -1,24 +0,0 @@ -[project] -name = "ragflow-cli" -version = "0.21.0.dev2" -description = "Admin Service's client of [RAGFlow](https://github.com/infiniflow/ragflow). The Admin Service provides user management and system monitoring. " -authors = [{ name = "Lynn", email = "lynn_inf@hotmail.com" }] -license = { text = "Apache License, Version 2.0" } -readme = "README.md" -requires-python = ">=3.10,<3.13" -dependencies = [ - "requests>=2.30.0,<3.0.0", - "beartype>=0.18.5,<0.19.0", - "pycryptodomex>=3.10.0", - "lark>=1.1.0", -] - -[dependency-groups] -test = [ - "pytest>=8.3.5", - "requests>=2.32.3", - "requests-toolbelt>=1.0.0", -] - -[project.scripts] -ragflow-cli = "ragflow_cli.admin_client:main" diff --git a/admin/server/auth.py b/admin/server/auth.py index dd6c71ef9..05fb62054 100644 --- a/admin/server/auth.py +++ b/admin/server/auth.py @@ -32,6 +32,7 @@ from api.utils.crypt import decrypt from api.utils import ( current_timestamp, datetime_format, + get_format_time, get_uuid, ) from api.utils.api_utils import ( @@ -131,6 +132,7 @@ def login_admin(email: str, password: str): login_user(user) user.update_time = (current_timestamp(),) user.update_date = (datetime_format(datetime.now()),) + user.last_login_time = get_format_time() user.save() msg = "Welcome back!" return construct_response(data=resp, auth=user.get_id(), message=msg) diff --git a/admin/server/routes.py b/admin/server/routes.py index 5c82fe849..723569590 100644 --- a/admin/server/routes.py +++ b/admin/server/routes.py @@ -32,18 +32,24 @@ admin_bp = Blueprint('admin', __name__, url_prefix='/api/v1/admin') def login(): if not request.json: return error_response('Authorize admin failed.' ,400) - email = request.json.get("email", "") - password = request.json.get("password", "") - return login_admin(email, password) + try: + 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) @admin_bp.route('/logout', methods=['GET']) @login_required def logout(): - current_user.access_token = f"INVALID_{secrets.token_hex(16)}" - current_user.save() - logout_user() - return success_response(True) + try: + current_user.access_token = f"INVALID_{secrets.token_hex(16)}" + current_user.save() + logout_user() + return success_response(True) + except Exception as e: + return error_response(str(e), 500) @admin_bp.route('/auth', methods=['GET']) diff --git a/admin/server/services.py b/admin/server/services.py index ac2a2c5f0..f5c6ce363 100644 --- a/admin/server/services.py +++ b/admin/server/services.py @@ -36,8 +36,13 @@ class UserMgr: users = UserService.get_all_users() result = [] for user in users: - result.append({'email': user.email, 'nickname': user.nickname, 'create_date': user.create_date, - 'is_active': user.is_active}) + result.append({ + 'email': user.email, + 'nickname': user.nickname, + 'create_date': user.create_date, + 'is_active': user.is_active, + 'is_superuser': user.is_superuser, + }) return result @staticmethod @@ -50,7 +55,6 @@ class UserMgr: 'email': user.email, 'language': user.language, 'last_login_time': user.last_login_time, - 'is_authenticated': user.is_authenticated, 'is_active': user.is_active, 'is_anonymous': user.is_anonymous, 'login_channel': user.login_channel, @@ -166,7 +170,7 @@ class UserServiceMgr: return [{ 'title': r['title'], 'permission': r['permission'], - 'canvas_category': r['canvas_category'].split('-')[0] + 'canvas_category': r['canvas_category'].split('_')[0] } for r in res] diff --git a/docs/guides/manage_users_and_services.md b/docs/guides/manage_users_and_services.md index fe7a26d23..f9644304d 100644 --- a/docs/guides/manage_users_and_services.md +++ b/docs/guides/manage_users_and_services.md @@ -348,7 +348,7 @@ Listing all agents of user: lynn_inf@hotmail.com +-----------------+-------------+------------+-----------------+ | canvas_category | canvas_type | permission | title | +-----------------+-------------+------------+-----------------+ -| agent_canvas | None | team | research_helper | +| agent | None | team | research_helper | +-----------------+-------------+------------+-----------------+ ```