mirror of
https://git.mirrors.martin98.com/https://github.com/infiniflow/ragflow.git
synced 2025-08-13 22:35:53 +08:00
Feat: improve '/mv' '/list' API performance (#6502)
### What problem does this PR solve? 1. for /mv API use get by ids to avoid O(n) DB IO 2. for /list remove one useless call ### Type of change - [x] Performance Improvement
This commit is contained in:
parent
f3ae4a3bae
commit
1d73baf3d8
@ -181,7 +181,7 @@ def list_files():
|
|||||||
current_user.id, pf_id, page_number, items_per_page, orderby, desc, keywords)
|
current_user.id, pf_id, page_number, items_per_page, orderby, desc, keywords)
|
||||||
|
|
||||||
parent_folder = FileService.get_parent_folder(pf_id)
|
parent_folder = FileService.get_parent_folder(pf_id)
|
||||||
if not FileService.get_parent_folder(pf_id):
|
if not parent_folder:
|
||||||
return get_json_result(message="File not found!")
|
return get_json_result(message="File not found!")
|
||||||
|
|
||||||
return get_json_result(data={"total": total, "files": files, "parent_folder": parent_folder.to_json()})
|
return get_json_result(data={"total": total, "files": files, "parent_folder": parent_folder.to_json()})
|
||||||
@ -355,9 +355,14 @@ def move():
|
|||||||
try:
|
try:
|
||||||
file_ids = req["src_file_ids"]
|
file_ids = req["src_file_ids"]
|
||||||
parent_id = req["dest_file_id"]
|
parent_id = req["dest_file_id"]
|
||||||
|
files = FileService.get_by_ids(file_ids)
|
||||||
|
files_dict = {}
|
||||||
|
for file in files:
|
||||||
|
files_dict[file.id] = file
|
||||||
|
|
||||||
for file_id in file_ids:
|
for file_id in file_ids:
|
||||||
e, file = FileService.get_by_id(file_id)
|
file = files_dict[file_id]
|
||||||
if not e:
|
if not file:
|
||||||
return get_data_error_result(message="File or Folder not found!")
|
return get_data_error_result(message="File or Folder not found!")
|
||||||
if not file.tenant_id:
|
if not file.tenant_id:
|
||||||
return get_data_error_result(message="Tenant not found!")
|
return get_data_error_result(message="Tenant not found!")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user