mirror of
https://github.com/infiniflow/ragflow.git
synced 2026-08-25 17:42:24 +08:00
Refactor user REST API (#14334)
### What problem does this PR solve? Refactor user REST API ### Type of change - [x] Refactoring
This commit is contained in:
@@ -55,7 +55,7 @@ Auth and bootstrap flags (used when --api-key is not provided)
|
||||
--login-password
|
||||
Login password (encrypted client-side). Requires pycryptodomex in the test group.
|
||||
--allow-register
|
||||
Attempt /user/register before login (best effort).
|
||||
Attempt /users before login (best effort).
|
||||
--token-name
|
||||
Optional API token name for /system/new_token.
|
||||
--bootstrap-llm
|
||||
@@ -70,7 +70,7 @@ Auth and bootstrap flags (used when --api-key is not provided)
|
||||
Optional LLM API base URL.
|
||||
Env: RAGFLOW_LLM_API_BASE
|
||||
--set-tenant-info
|
||||
Set tenant defaults via /user/set_tenant_info.
|
||||
Set tenant defaults via /users/me/models.
|
||||
--tenant-llm-id
|
||||
Tenant chat model ID.
|
||||
Env: RAGFLOW_TENANT_LLM_ID
|
||||
|
||||
@@ -18,7 +18,7 @@ def encrypt_password(password_plain: str) -> str:
|
||||
|
||||
def register_user(client: HttpClient, email: str, nickname: str, password_enc: str) -> None:
|
||||
payload = {"email": email, "nickname": nickname, "password": password_enc}
|
||||
res = client.request_json("POST", "/user/register", use_api_base=False, auth_kind=None, json_body=payload)
|
||||
res = client.request_json("POST", "/users", use_api_base=True, auth_kind=None, json_body=payload)
|
||||
if res.get("code") == 0:
|
||||
return
|
||||
msg = res.get("message", "")
|
||||
@@ -29,7 +29,7 @@ def register_user(client: HttpClient, email: str, nickname: str, password_enc: s
|
||||
|
||||
def login_user(client: HttpClient, email: str, password_enc: str) -> str:
|
||||
payload = {"email": email, "password": password_enc}
|
||||
response = client.request("POST", "/user/login", use_api_base=False, auth_kind=None, json_body=payload)
|
||||
response = client.request("POST", "/auth/login", use_api_base=True, auth_kind=None, json_body=payload)
|
||||
try:
|
||||
res = response.json()
|
||||
except Exception as exc:
|
||||
@@ -76,13 +76,13 @@ def set_llm_api_key(
|
||||
|
||||
|
||||
def get_tenant_info(client: HttpClient) -> Dict[str, Any]:
|
||||
res = client.request_json("GET", "/user/tenant_info", use_api_base=False, auth_kind="login")
|
||||
res = client.request_json("GET", "/users/me/models", use_api_base=True, auth_kind="login")
|
||||
if res.get("code") != 0:
|
||||
raise AuthError(f"Failed to get tenant info: {res.get('message')}")
|
||||
return res.get("data", {})
|
||||
|
||||
|
||||
def set_tenant_info(client: HttpClient, payload: Dict[str, Any]) -> None:
|
||||
res = client.request_json("POST", "/user/set_tenant_info", use_api_base=False, auth_kind="login", json_body=payload)
|
||||
res = client.request_json("PATCH", "/users/me/models", use_api_base=True, auth_kind="login", json_body=payload)
|
||||
if res.get("code") != 0:
|
||||
raise AuthError(f"Failed to set tenant info: {res.get('message')}")
|
||||
|
||||
@@ -59,7 +59,7 @@ def _parse_args() -> argparse.Namespace:
|
||||
base_parser.add_argument("--login-email", default=os.getenv("RAGFLOW_EMAIL"), help="Login email")
|
||||
base_parser.add_argument("--login-nickname", default=os.getenv("RAGFLOW_NICKNAME"), help="Nickname for registration")
|
||||
base_parser.add_argument("--login-password", help="Login password (encrypted client-side)")
|
||||
base_parser.add_argument("--allow-register", action="store_true", help="Attempt /user/register before login")
|
||||
base_parser.add_argument("--allow-register", action="store_true", help="Attempt /users before login")
|
||||
base_parser.add_argument("--token-name", help="Optional API token name")
|
||||
base_parser.add_argument("--bootstrap-llm", action="store_true", help="Ensure LLM factory API key is configured")
|
||||
base_parser.add_argument("--llm-factory", default=os.getenv("RAGFLOW_LLM_FACTORY"), help="LLM factory name")
|
||||
|
||||
Reference in New Issue
Block a user