1717from apps .base .models import FileCodes , KeyValue
1818from apps .admin .dependencies import create_token
1919from core .settings import settings
20+ from core .utils import get_now
2021
2122admin_api = APIRouter (prefix = "/admin" , tags = ["管理" ])
2223
@@ -37,16 +38,13 @@ async def dashboard(admin: bool = Depends(admin_required)):
3738 all_codes = await FileCodes .all ()
3839 all_size = str (sum ([code .size for code in all_codes ]))
3940 sys_start = await KeyValue .filter (key = "sys_start" ).first ()
40- # 获取当前日期时间
41- now = datetime .datetime .now ()
41+ now = await get_now ()
4242 today_start = now .replace (hour = 0 , minute = 0 , second = 0 , microsecond = 0 )
4343 yesterday_start = today_start - datetime .timedelta (days = 1 )
4444 yesterday_end = today_start - datetime .timedelta (microseconds = 1 )
45- # 统计昨天一整天的记录数(从昨天0点到23:59:59)
4645 yesterday_codes = FileCodes .filter (
4746 created_at__gte = yesterday_start , created_at__lte = yesterday_end
4847 )
49- # 统计今天到现在的记录数(从今天0点到现在)
5048 today_codes = FileCodes .filter (created_at__gte = today_start )
5149 return APIResponse (
5250 detail = {
@@ -63,21 +61,21 @@ async def dashboard(admin: bool = Depends(admin_required)):
6361
6462@admin_api .delete ("/file/delete" )
6563async def file_delete (
66- data : IDData ,
67- file_service : FileService = Depends (get_file_service ),
68- admin : bool = Depends (admin_required ),
64+ data : IDData ,
65+ file_service : FileService = Depends (get_file_service ),
66+ admin : bool = Depends (admin_required ),
6967):
7068 await file_service .delete_file (data .id )
7169 return APIResponse ()
7270
7371
7472@admin_api .get ("/file/list" )
7573async def file_list (
76- page : int = 1 ,
77- size : int = 10 ,
78- keyword : str = "" ,
79- file_service : FileService = Depends (get_file_service ),
80- admin : bool = Depends (admin_required ),
74+ page : int = 1 ,
75+ size : int = 10 ,
76+ keyword : str = "" ,
77+ file_service : FileService = Depends (get_file_service ),
78+ admin : bool = Depends (admin_required ),
8179):
8280 files , total = await file_service .list_files (page , size , keyword )
8381 return APIResponse (
@@ -92,17 +90,17 @@ async def file_list(
9290
9391@admin_api .get ("/config/get" )
9492async def get_config (
95- config_service : ConfigService = Depends (get_config_service ),
96- admin : bool = Depends (admin_required ),
93+ config_service : ConfigService = Depends (get_config_service ),
94+ admin : bool = Depends (admin_required ),
9795):
9896 return APIResponse (detail = config_service .get_config ())
9997
10098
10199@admin_api .patch ("/config/update" )
102100async def update_config (
103- data : dict ,
104- config_service : ConfigService = Depends (get_config_service ),
105- admin : bool = Depends (admin_required ),
101+ data : dict ,
102+ config_service : ConfigService = Depends (get_config_service ),
103+ admin : bool = Depends (admin_required ),
106104):
107105 data .pop ("themesChoices" )
108106 await config_service .update_config (data )
@@ -111,47 +109,47 @@ async def update_config(
111109
112110@admin_api .get ("/file/download" )
113111async def file_download (
114- id : int ,
115- file_service : FileService = Depends (get_file_service ),
116- admin : bool = Depends (admin_required ),
112+ id : int ,
113+ file_service : FileService = Depends (get_file_service ),
114+ admin : bool = Depends (admin_required ),
117115):
118116 file_content = await file_service .download_file (id )
119117 return file_content
120118
121119
122120@admin_api .get ("/local/lists" )
123121async def get_local_lists (
124- local_file_service : LocalFileService = Depends (get_local_file_service ),
125- admin : bool = Depends (admin_required ),
122+ local_file_service : LocalFileService = Depends (get_local_file_service ),
123+ admin : bool = Depends (admin_required ),
126124):
127125 files = await local_file_service .list_files ()
128126 return APIResponse (detail = files )
129127
130128
131129@admin_api .delete ("/local/delete" )
132130async def delete_local_file (
133- item : DeleteItem ,
134- local_file_service : LocalFileService = Depends (get_local_file_service ),
135- admin : bool = Depends (admin_required ),
131+ item : DeleteItem ,
132+ local_file_service : LocalFileService = Depends (get_local_file_service ),
133+ admin : bool = Depends (admin_required ),
136134):
137135 result = await local_file_service .delete_file (item .filename )
138136 return APIResponse (detail = result )
139137
140138
141139@admin_api .post ("/local/share" )
142140async def share_local_file (
143- item : ShareItem ,
144- file_service : FileService = Depends (get_file_service ),
145- admin : bool = Depends (admin_required ),
141+ item : ShareItem ,
142+ file_service : FileService = Depends (get_file_service ),
143+ admin : bool = Depends (admin_required ),
146144):
147145 share_info = await file_service .share_local_file (item )
148146 return APIResponse (detail = share_info )
149147
150148
151149@admin_api .patch ("/file/update" )
152150async def update_file (
153- data : UpdateFileData ,
154- admin : bool = Depends (admin_required ),
151+ data : UpdateFileData ,
152+ admin : bool = Depends (admin_required ),
155153):
156154 file_code = await FileCodes .filter (id = data .id ).first ()
157155 if not file_code :
@@ -167,7 +165,11 @@ async def update_file(
167165 update_data ["prefix" ] = data .prefix
168166 if data .suffix is not None and data .suffix != file_code .suffix :
169167 update_data ["suffix" ] = data .suffix
170- if data .expired_at is not None and data .expired_at != "" and data .expired_at != file_code .expired_at :
168+ if (
169+ data .expired_at is not None
170+ and data .expired_at != ""
171+ and data .expired_at != file_code .expired_at
172+ ):
171173 update_data ["expired_at" ] = data .expired_at
172174 if data .expired_count is not None and data .expired_count != file_code .expired_count :
173175 update_data ["expired_count" ] = data .expired_count
0 commit comments