bot commited on
Commit
ee969cd
·
1 Parent(s): df44ba9
Files changed (1) hide show
  1. main.py +148 -8
main.py CHANGED
@@ -13,7 +13,9 @@ from fastapi import (
13
  APIRouter,
14
  Depends,
15
  Request,
 
16
  Body,
 
17
  Response,
18
  HTTPException,
19
  status,
@@ -162,20 +164,146 @@ async def get_files(item: FileRequest):
162
  )
163
 
164
 
 
 
 
 
 
 
 
 
 
 
 
 
165
  @api_router.get(
166
  "/files/{file_id}", summary="文件信息", description="获取文件信息", tags=["文件"]
167
  )
168
- async def get_file_info(file_id: str):
169
  return await THUNDERX_CLIENT.get_download_url(file_id)
170
 
171
 
172
  @api_router.delete(
173
  "/files/{file_id}", summary="删除文件", description="删除文件", tags=["文件"]
174
  )
175
- async def delete_file_info(file_id: str):
 
 
176
  return await THUNDERX_CLIENT.delete_forever([file_id])
177
 
178
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
179
  @api_router.post(
180
  "/emptytrash", summary="清空回收站", description="清空回收站【慎用】", tags=["文件"]
181
  )
@@ -190,7 +318,11 @@ async def emptytrash():
190
  description="获取账号分享列表",
191
  tags=["分享"],
192
  )
193
- async def get_share_list(page_token: str | None = None):
 
 
 
 
194
  return await THUNDERX_CLIENT.get_share_list(page_token)
195
 
196
 
@@ -198,9 +330,13 @@ async def get_share_list(page_token: str | None = None):
198
  "/file_batch_share", summary="创建分享", description="创建分享", tags=["分享"]
199
  )
200
  async def file_batch_share(
201
- ids: List[str] = None,
202
- need_password: bool | None = False,
203
- expiration_days: int | None = -1,
 
 
 
 
204
  ):
205
  return await THUNDERX_CLIENT.file_batch_share(ids, need_password, expiration_days)
206
 
@@ -208,7 +344,9 @@ async def file_batch_share(
208
  @api_router.post(
209
  "/share_batch_delete", summary="取消分享", description="取消分享", tags=["分享"]
210
  )
211
- async def share_batch_delete(ids: List[str]):
 
 
212
  return await THUNDERX_CLIENT.share_batch_delete(ids)
213
 
214
 
@@ -219,7 +357,9 @@ async def share_batch_delete(ids: List[str]):
219
  tags=["分享"],
220
  )
221
  async def get_share_folder(
222
- share_id: str, pass_code_token: str | None = None, parent_id: str | None = None
 
 
223
  ):
224
  return await THUNDERX_CLIENT.get_share_folder(share_id, pass_code_token, parent_id)
225
 
 
13
  APIRouter,
14
  Depends,
15
  Request,
16
+ Query,
17
  Body,
18
+ Path,
19
  Response,
20
  HTTPException,
21
  status,
 
164
  )
165
 
166
 
167
+ @api_router.post(
168
+ "/file_star_list", summary="加星文件列表", description="加星文件列表", tags=["文件"]
169
+ )
170
+ async def file_star_list(
171
+ size: int = Query(default=100, title="显示数量", description="显示数量"),
172
+ next_page_token: str | None = Query(
173
+ default=None, title="分页Token", description="分页Token"
174
+ ),
175
+ ):
176
+ return await THUNDERX_CLIENT.file_star_list(size, next_page_token)
177
+
178
+
179
  @api_router.get(
180
  "/files/{file_id}", summary="文件信息", description="获取文件信息", tags=["文件"]
181
  )
182
+ async def get_file_info(file_id: str = Path(..., title="文件ID", description="文件ID")):
183
  return await THUNDERX_CLIENT.get_download_url(file_id)
184
 
185
 
186
  @api_router.delete(
187
  "/files/{file_id}", summary="删除文件", description="删除文件", tags=["文件"]
188
  )
189
+ async def delete_file_info(
190
+ file_id: str = Path(..., title="文件ID", description="文件ID")
191
+ ):
192
  return await THUNDERX_CLIENT.delete_forever([file_id])
193
 
194
 
195
+ @api_router.post(
196
+ "/file_rename", summary="重命名文件", description="重命名文件", tags=["文件"]
197
+ )
198
+ async def file_rename(
199
+ file_id: str = Query(title="文件ID", description="文件ID"),
200
+ new_file_name: str = Query(title="新文件名", description="新文件名"),
201
+ ):
202
+ return await THUNDERX_CLIENT.file_rename(file_id, new_file_name)
203
+
204
+
205
+ @api_router.post(
206
+ "/file_batch_copy",
207
+ summary="批量复制文件",
208
+ description="批量复制文件",
209
+ tags=["文件"],
210
+ )
211
+ async def file_batch_copy(
212
+ ids: List[str] = Body(title="文件ID列表", description="文件ID列表"),
213
+ to_parent_id: str = Query(
214
+ title="复制到的文件夹id, 默认为根目录",
215
+ description="复制到的文件夹id, 默认为根目录",
216
+ ),
217
+ ):
218
+ return await THUNDERX_CLIENT.file_batch_copy(ids, to_parent_id)
219
+
220
+
221
+ @api_router.post(
222
+ "/file_batch_move",
223
+ summary="批量移动文件",
224
+ description="批量移动文件",
225
+ tags=["文件"],
226
+ )
227
+ async def file_batch_move(
228
+ ids: List[str] = Body(title="文件ID列表", description="文件ID列表"),
229
+ to_parent_id: str = Query(
230
+ title="移动到的文件夹id, 默认为根目录",
231
+ description="移动到的文件夹id, 默认为根目录",
232
+ ),
233
+ ):
234
+ return await THUNDERX_CLIENT.file_batch_move(ids, to_parent_id)
235
+
236
+
237
+ @api_router.post(
238
+ "/create_folder", summary="新建文件夹", description="新建文件夹", tags=["文件"]
239
+ )
240
+ async def create_folder(
241
+ name: str = Query(title="文件夹名称", description="文件夹名称"),
242
+ parent_id: str = Query(
243
+ title="父文件夹id, 默认创建到根目录", description="父文件夹id, 默认创建到根目录"
244
+ ),
245
+ ):
246
+ return await THUNDERX_CLIENT.create_folder(name, parent_id)
247
+
248
+
249
+ @api_router.post(
250
+ "/delete_to_trash",
251
+ summary="将文件夹、文件移动到回收站",
252
+ description="将文件夹、文件移动到回收站",
253
+ tags=["文件"],
254
+ )
255
+ async def delete_to_trash(
256
+ ids: List[str] = Body(title="文件ID列表", description="文件ID列表")
257
+ ):
258
+ return await THUNDERX_CLIENT.delete_to_trash(ids)
259
+
260
+
261
+ @api_router.post(
262
+ "/delete_forever",
263
+ summary="将文件夹、文件彻底删除",
264
+ description="将文件夹、文件彻底删除",
265
+ tags=["文件"],
266
+ )
267
+ async def delete_forever(
268
+ ids: List[str] = Body(title="文件ID列表", description="文件ID列表")
269
+ ):
270
+ return await THUNDERX_CLIENT.delete_forever(ids)
271
+
272
+
273
+ @api_router.post(
274
+ "/untrash",
275
+ summary="将文件夹、文件移出回收站",
276
+ description="将文件夹、文件移出回收站",
277
+ tags=["文件"],
278
+ )
279
+ async def untrash(ids: List[str] = Body(title="文件ID列表", description="文件ID列表")):
280
+ return await THUNDERX_CLIENT.untrash(ids)
281
+
282
+
283
+ @api_router.post(
284
+ "/file_batch_star",
285
+ summary="批量给文件加星标",
286
+ description="批量给文件加星标",
287
+ tags=["文件"],
288
+ )
289
+ async def file_batch_star(
290
+ ids: List[str] = Body(title="文件ID列表", description="文件ID列表")
291
+ ):
292
+ return await THUNDERX_CLIENT.file_batch_star(ids)
293
+
294
+
295
+ @api_router.post(
296
+ "/file_batch_unstar",
297
+ summary="批量给文件加星标",
298
+ description="批量给文件加星标",
299
+ tags=["文件"],
300
+ )
301
+ async def file_batch_unstar(
302
+ ids: List[str] = Body(title="文件ID列表", description="文件ID列表")
303
+ ):
304
+ return await THUNDERX_CLIENT.file_batch_unstar(ids)
305
+
306
+
307
  @api_router.post(
308
  "/emptytrash", summary="清空回收站", description="清空回收站【慎用】", tags=["文件"]
309
  )
 
318
  description="获取账号分享列表",
319
  tags=["分享"],
320
  )
321
+ async def get_share_list(
322
+ page_token: str | None = Query(
323
+ default=None, title="分页Token", description="分页Token"
324
+ )
325
+ ):
326
  return await THUNDERX_CLIENT.get_share_list(page_token)
327
 
328
 
 
330
  "/file_batch_share", summary="创建分享", description="创建分享", tags=["分享"]
331
  )
332
  async def file_batch_share(
333
+ ids: List[str] = Body(default=None, title="文件ID列表", description="文件ID列表"),
334
+ need_password: bool | None = Query(
335
+ default=False, title="是否需要密码", description="是否需要密码"
336
+ ),
337
+ expiration_days: int | None = Query(
338
+ default=-1, title="过期时间", description="过期时间【天数,默认永远】"
339
+ ),
340
  ):
341
  return await THUNDERX_CLIENT.file_batch_share(ids, need_password, expiration_days)
342
 
 
344
  @api_router.post(
345
  "/share_batch_delete", summary="取消分享", description="取消分享", tags=["分享"]
346
  )
347
+ async def share_batch_delete(
348
+ ids: List[str] = Body(title="文件ID列表", description="文件ID列表")
349
+ ):
350
  return await THUNDERX_CLIENT.share_batch_delete(ids)
351
 
352
 
 
357
  tags=["分享"],
358
  )
359
  async def get_share_folder(
360
+ share_id: str = Query(title="分享ID", description="分享ID"),
361
+ pass_code_token: str | None = Query(default=None, title="密码", description="密码"),
362
+ parent_id: str | None = Query(default=None, title="父ID", description="父ID"),
363
  ):
364
  return await THUNDERX_CLIENT.get_share_folder(share_id, pass_code_token, parent_id)
365