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 clean_user_cache , get_db_user , single_delete , user_ws_options
4+ from apps .system .crud .user import 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,14 +95,13 @@ 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 )
106105 session .add (user_model )
107106 session .commit ()
108107
@@ -138,7 +137,7 @@ async def create(session: SessionDep, creator: UserCreator):
138137 session .commit ()
139138
140139@router .put ("" )
141- # @clear_cache(namespace=CacheNamespace.AUTH_INFO, cacheName=CacheName.USER_INFO, keyExpression="editor.id")
140+ @clear_cache (namespace = CacheNamespace .AUTH_INFO , cacheName = CacheName .USER_INFO , keyExpression = "editor.id" )
142141async def update (session : SessionDep , editor : UserEditor ):
143142 user_model : UserModel = get_db_user (session = session , user_id = editor .id )
144143 origin_oid : int = user_model .oid
@@ -174,19 +173,18 @@ async def batch_del(session: SessionDep, id_list: list[int]):
174173 await single_delete (session , id )
175174
176175@router .put ("/language" )
177- # @clear_cache(namespace=CacheNamespace.AUTH_INFO, cacheName=CacheName.USER_INFO, keyExpression="current_user.id")
176+ @clear_cache (namespace = CacheNamespace .AUTH_INFO , cacheName = CacheName .USER_INFO , keyExpression = "current_user.id" )
178177async def langChange (session : SessionDep , current_user : CurrentUser , language : UserLanguage ):
179178 lang = language .language
180179 if lang not in ["zh-CN" , "en" ]:
181180 return {"message" : "Language not supported" }
182181 db_user : UserModel = get_db_user (session = session , user_id = current_user .id )
183182 db_user .language = lang
184- await clean_user_cache (db_user .id )
185183 session .add (db_user )
186184 session .commit ()
187185
188186@router .patch ("/pwd/{id}" )
189- # @clear_cache(namespace=CacheNamespace.AUTH_INFO, cacheName=CacheName.USER_INFO, keyExpression="id")
187+ @clear_cache (namespace = CacheNamespace .AUTH_INFO , cacheName = CacheName .USER_INFO , keyExpression = "id" )
190188async def pwdReset (session : SessionDep , current_user : CurrentUser , id : int ):
191189 if not current_user .isAdmin :
192190 raise HTTPException ('only for admin' )
@@ -196,12 +194,11 @@ async def pwdReset(session: SessionDep, current_user: CurrentUser, id: int):
196194 session .commit ()
197195
198196@router .put ("/pwd" )
199- # @clear_cache(namespace=CacheNamespace.AUTH_INFO, cacheName=CacheName.USER_INFO, keyExpression="current_user.id")
197+ @clear_cache (namespace = CacheNamespace .AUTH_INFO , cacheName = CacheName .USER_INFO , keyExpression = "current_user.id" )
200198async def pwdUpdate (session : SessionDep , current_user : CurrentUser , editor : PwdEditor ):
201199 db_user : UserModel = get_db_user (session = session , user_id = current_user .id )
202200 if not verify_md5pwd (editor .pwd , db_user .password ):
203201 raise HTTPException ("pwd error" )
204202 db_user .password = md5pwd (editor .new_pwd )
205- await clean_user_cache (db_user .id )
206203 session .add (db_user )
207204 session .commit ()
0 commit comments