11from typing import Optional
22from fastapi import APIRouter , HTTPException , Query
33from sqlmodel import func , or_ , select , delete as sqlmodel_delete
4- from apps .system .crud .user import get_db_user , single_delete , user_ws_options
4+ from apps .system .crud .user import clean_user_cache , get_db_user , single_delete , user_ws_options
55from apps .system .models .system_model import UserWsModel
66from apps .system .models .user import UserModel
77from apps .system .schemas .auth import CacheName , CacheNamespace
@@ -95,13 +95,14 @@ async def ws_options(session: SessionDep, current_user: CurrentUser, trans: Tran
9595 return await user_ws_options (session , current_user .id , trans )
9696
9797@router .put ("/ws/{oid}" )
98- @clear_cache (namespace = CacheNamespace .AUTH_INFO , cacheName = CacheName .USER_INFO , keyExpression = "current_user.id" )
98+ # @clear_cache(namespace=CacheNamespace.AUTH_INFO, cacheName=CacheName.USER_INFO, keyExpression="current_user.id")
9999async def ws_change (session : SessionDep , current_user : CurrentUser , oid : int ):
100100 ws_list : list [UserWs ] = await user_ws_options (session , current_user .id )
101101 if not any (x .id == oid for x in ws_list ):
102102 raise HTTPException (f"oid [{ oid } ] is invalid!" )
103103 user_model : UserModel = get_db_user (session = session , user_id = current_user .id )
104104 user_model .oid = oid
105+ await clean_user_cache (user_model .id )
105106 session .add (user_model )
106107 session .commit ()
107108
@@ -173,13 +174,14 @@ async def batch_del(session: SessionDep, id_list: list[int]):
173174 await single_delete (session , id )
174175
175176@router .put ("/language" )
176- @clear_cache (namespace = CacheNamespace .AUTH_INFO , cacheName = CacheName .USER_INFO , keyExpression = "current_user.id" )
177+ # @clear_cache(namespace=CacheNamespace.AUTH_INFO, cacheName=CacheName.USER_INFO, keyExpression="current_user.id")
177178async def langChange (session : SessionDep , current_user : CurrentUser , language : UserLanguage ):
178179 lang = language .language
179180 if lang not in ["zh-CN" , "en" ]:
180181 return {"message" : "Language not supported" }
181182 db_user : UserModel = get_db_user (session = session , user_id = current_user .id )
182183 db_user .language = lang
184+ await clean_user_cache (db_user .id )
183185 session .add (db_user )
184186 session .commit ()
185187
@@ -194,11 +196,12 @@ async def pwdReset(session: SessionDep, current_user: CurrentUser, id: int):
194196 session .commit ()
195197
196198@router .put ("/pwd" )
197- @clear_cache (namespace = CacheNamespace .AUTH_INFO , cacheName = CacheName .USER_INFO , keyExpression = "current_user.id" )
199+ # @clear_cache(namespace=CacheNamespace.AUTH_INFO, cacheName=CacheName.USER_INFO, keyExpression="current_user.id")
198200async def pwdUpdate (session : SessionDep , current_user : CurrentUser , editor : PwdEditor ):
199201 db_user : UserModel = get_db_user (session = session , user_id = current_user .id )
200202 if not verify_md5pwd (editor .pwd , db_user .password ):
201203 raise HTTPException ("pwd error" )
202204 db_user .password = md5pwd (editor .new_pwd )
205+ await clean_user_cache (db_user .id )
203206 session .add (db_user )
204207 session .commit ()
0 commit comments