From 8e8e39611a235684254897a4258638c5f4809c4f Mon Sep 17 00:00:00 2001 From: dangzerong <429714019@qq.com> Date: Tue, 18 Nov 2025 15:30:23 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E4=B8=8D=E7=94=9F=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/apps/user_app_fastapi.py | 22 ++++++++++++++++------ docker/.env | 2 +- docker/docker-compose-base.yml | 4 ++++ docker/docker-compose.yml | 4 ++-- 4 files changed, 23 insertions(+), 9 deletions(-) diff --git a/api/apps/user_app_fastapi.py b/api/apps/user_app_fastapi.py index 88b8f3f..6e4d9e9 100644 --- a/api/apps/user_app_fastapi.py +++ b/api/apps/user_app_fastapi.py @@ -94,6 +94,11 @@ class RegisterRequest(BaseModel): class UserSettingRequest(BaseModel): language: Optional[str] = None + nickname: Optional[str] = None + avatar: Optional[str] = None + timezone: Optional[str] = None + password: Optional[str] = None + new_password: Optional[str] = None class TenantInfoRequest(BaseModel): @@ -304,18 +309,23 @@ async def setting_user(request: UserSettingRequest, current_user = Depends(get_c 更新用户设置 """ update_dict = {} - request_data = request.dict() + request_data = request.dict(exclude_unset=True) - if request_data.get("password"): - new_password = request_data.get("new_password") - if not check_password_hash(current_user.password, decrypt(request_data["password"])): + password = request_data.get("password") + new_password = request_data.get("new_password") + if password is not None or new_password is not None: + if not password or not new_password: + raise HTTPException( + status_code=status.HTTP_400_BAD_REQUEST, + detail="Both password and new_password are required!" + ) + if not check_password_hash(current_user.password, decrypt(password)): raise HTTPException( status_code=status.HTTP_401_UNAUTHORIZED, detail="Password error!" ) - if new_password: - update_dict["password"] = generate_password_hash(decrypt(new_password)) + update_dict["password"] = generate_password_hash(decrypt(new_password)) for k in request_data.keys(): if k in [ diff --git a/docker/.env b/docker/.env index 558e109..67062ea 100644 --- a/docker/.env +++ b/docker/.env @@ -3,7 +3,7 @@ # - `elasticsearch` (default) # - `infinity` (https://github.com/infiniflow/infinity) # - `opensearch` (https://github.com/opensearch-project/OpenSearch) -DOC_ENGINE=opensearch +DOC_ENGINE=elasticsearch # ------------------------------ # docker env var for specifying vector db type at startup diff --git a/docker/docker-compose-base.yml b/docker/docker-compose-base.yml index 3e34a09..f572495 100644 --- a/docker/docker-compose-base.yml +++ b/docker/docker-compose-base.yml @@ -109,6 +109,7 @@ services: - postgres_data:/var/lib/postgresql/data networks: - ragflow + mem_limit: ${MEM_LIMIT} healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DBNAME}"] interval: 10s @@ -139,6 +140,7 @@ services: - SANDBOX_ENABLE_SECCOMP=${SANDBOX_ENABLE_SECCOMP:-false} - SANDBOX_MAX_MEMORY=${SANDBOX_MAX_MEMORY:-256m} - SANDBOX_TIMEOUT=${SANDBOX_TIMEOUT:-10s} + mem_limit: ${MEM_LIMIT} healthcheck: test: ["CMD", "curl", "http://localhost:9385/healthz"] interval: 10s @@ -163,6 +165,7 @@ services: networks: - ragflow restart: on-failure + mem_limit: ${MEM_LIMIT} healthcheck: test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] interval: 30s @@ -182,6 +185,7 @@ services: networks: - ragflow restart: on-failure + mem_limit: ${MEM_LIMIT} healthcheck: test: ["CMD", "redis-cli", "-a", "${REDIS_PASSWORD}", "ping"] interval: 5s diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index b323563..2ae6004 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -30,8 +30,8 @@ services: ports: - ${SVR_HTTP_PORT}:9380 - ${ADMIN_SVR_HTTP_PORT}:9381 - - 80:80 - - 443:443 + - 8000:80 + - 8443:443 - 5678:5678 - 5679:5679 - 9382:9382 # entry for MCP (host_port:docker_port). The docker_port must match the value you set for `mcp-port` above.