fix: 历史记录删除源文件后,不在订阅的文件列表中显示

This commit is contained in:
jxxghp
2026-01-26 21:47:26 +08:00
parent d8dc53805c
commit 3115ed28b2
2 changed files with 5 additions and 2 deletions
+4 -1
View File
@@ -4,6 +4,7 @@ import jieba
from fastapi import APIRouter, Depends from fastapi import APIRouter, Depends
from sqlalchemy.ext.asyncio import AsyncSession from sqlalchemy.ext.asyncio import AsyncSession
from sqlalchemy.orm import Session from sqlalchemy.orm import Session
from pathlib import Path
from app import schemas from app import schemas
from app.chain.storage import StorageChain from app.chain.storage import StorageChain
@@ -11,7 +12,7 @@ from app.core.event import eventmanager
from app.core.security import verify_token from app.core.security import verify_token
from app.db import get_async_db, get_db from app.db import get_async_db, get_db
from app.db.models import User from app.db.models import User
from app.db.models.downloadhistory import DownloadHistory from app.db.models.downloadhistory import DownloadHistory, DownloadFiles
from app.db.models.transferhistory import TransferHistory from app.db.models.transferhistory import TransferHistory
from app.db.user_oper import get_current_active_superuser_async, get_current_active_superuser from app.db.user_oper import get_current_active_superuser_async, get_current_active_superuser
from app.schemas.types import EventType from app.schemas.types import EventType
@@ -98,6 +99,8 @@ def delete_transfer_history(history_in: schemas.TransferHistory,
state = StorageChain().delete_media_file(src_fileitem) state = StorageChain().delete_media_file(src_fileitem)
if not state: if not state:
return schemas.Response(success=False, message=f"{src_fileitem.path} 删除失败") return schemas.Response(success=False, message=f"{src_fileitem.path} 删除失败")
# 删除下载记录中关联的文件
DownloadFiles.delete_by_fullpath(db, Path(src_fileitem.path).as_posix())
# 发送事件 # 发送事件
eventmanager.send_event( eventmanager.send_event(
EventType.DownloadFileDeleted, EventType.DownloadFileDeleted,
+1 -1
View File
@@ -1668,7 +1668,7 @@ class SubscribeChain(ChainBase):
if download_his: if download_his:
for his in download_his: for his in download_his:
# 查询下载文件 # 查询下载文件
files = downloadhis.get_files_by_hash(his.download_hash) files = downloadhis.get_files_by_hash(his.download_hash, state=1)
if files: if files:
for file in files: for file in files:
# 识别文件名 # 识别文件名