2525)
2626from app .models .proxy import ProxyTable
2727from app .models .stats import Period , UserUsageStat , UserUsageStatsList
28- from app .models .user import UserCreate , UserModify
28+ from app .models .user import UserCreate , UserModify , UserNotificationResponse
2929from config import USERS_AUTODELETE_DAYS
3030
3131from .general import _build_trunc_expression , build_json_proxy_settings_search_condition
@@ -778,7 +778,7 @@ async def get_user_sub_update_list(
778778 return result , count
779779
780780
781- async def autodelete_expired_users (db : AsyncSession , include_limited_users : bool = False ) -> List [ User ]:
781+ async def autodelete_expired_users (db : AsyncSession , include_limited_users : bool = False ) -> list [ UserNotificationResponse ]:
782782 """
783783 Deletes expired (optionally also limited) users whose auto-delete time has passed.
784784
@@ -788,7 +788,7 @@ async def autodelete_expired_users(db: AsyncSession, include_limited_users: bool
788788 Defaults to False.
789789
790790 Returns:
791- list[User ]: List of deleted users.
791+ list[UserNotificationResponse ]: List of deleted users.
792792 """
793793 target_status = [UserStatus .expired ] if not include_limited_users else [UserStatus .expired , UserStatus .limited ]
794794
@@ -813,10 +813,14 @@ async def autodelete_expired_users(db: AsyncSession, include_limited_users: bool
813813 <= datetime .now (timezone .utc )
814814 ]
815815
816+ result : list [UserNotificationResponse ] = []
816817 if expired_users :
818+ for user in expired_users :
819+ result .append (UserNotificationResponse .model_validate (user ))
820+
817821 await remove_users (db , expired_users )
818822
819- return expired_users
823+ return result
820824
821825
822826async def get_all_users_usages (
0 commit comments