feat 历史记录删除支持删除源文件
This commit is contained in:
parent
951353ee0b
commit
923be7e1e9
@ -62,20 +62,22 @@ def transfer_history(title: str = None,
|
|||||||
|
|
||||||
@router.delete("/transfer", summary="删除转移历史记录", response_model=schemas.Response)
|
@router.delete("/transfer", summary="删除转移历史记录", response_model=schemas.Response)
|
||||||
def delete_transfer_history(history_in: schemas.TransferHistory,
|
def delete_transfer_history(history_in: schemas.TransferHistory,
|
||||||
delete_file: bool = False,
|
deletesrc: bool = False,
|
||||||
|
deletedest: bool = False,
|
||||||
db: Session = Depends(get_db),
|
db: Session = Depends(get_db),
|
||||||
_: schemas.TokenPayload = Depends(verify_token)) -> Any:
|
_: schemas.TokenPayload = Depends(verify_token)) -> Any:
|
||||||
"""
|
"""
|
||||||
删除转移历史记录
|
删除转移历史记录
|
||||||
"""
|
"""
|
||||||
# 触发删除事件
|
history = TransferHistory.get(db, history_in.id)
|
||||||
if delete_file:
|
if not history:
|
||||||
history = TransferHistory.get(db, history_in.id)
|
return schemas.Response(success=False, msg="记录不存在")
|
||||||
if not history:
|
# 册除媒体库文件
|
||||||
return schemas.Response(success=False, msg="记录不存在")
|
if deletedest and history.dest:
|
||||||
# 册除文件
|
TransferChain(db).delete_files(Path(history.dest))
|
||||||
if history.dest:
|
# 删除源文件
|
||||||
TransferChain(db).delete_files(Path(history.dest))
|
if deletesrc and history.src:
|
||||||
|
TransferChain(db).delete_files(Path(history.src))
|
||||||
# 删除记录
|
# 删除记录
|
||||||
TransferHistory.delete(db, history_in.id)
|
TransferHistory.delete(db, history_in.id)
|
||||||
return schemas.Response(success=True)
|
return schemas.Response(success=True)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
from typing import Any
|
from typing import Any, Self, List
|
||||||
|
|
||||||
from sqlalchemy.orm import as_declarative, declared_attr, Session
|
from sqlalchemy.orm import as_declarative, declared_attr, Session
|
||||||
|
|
||||||
@ -16,13 +16,13 @@ class Base:
|
|||||||
db.rollback()
|
db.rollback()
|
||||||
raise err
|
raise err
|
||||||
|
|
||||||
def create(self, db: Session):
|
def create(self, db: Session) -> Self:
|
||||||
db.add(self)
|
db.add(self)
|
||||||
self.commit(db)
|
self.commit(db)
|
||||||
return self
|
return self
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def get(cls, db: Session, rid: int):
|
def get(cls, db: Session, rid: int) -> Self:
|
||||||
return db.query(cls).filter(cls.id == rid).first()
|
return db.query(cls).filter(cls.id == rid).first()
|
||||||
|
|
||||||
def update(self, db: Session, payload: dict):
|
def update(self, db: Session, payload: dict):
|
||||||
@ -42,7 +42,7 @@ class Base:
|
|||||||
Base.commit(db)
|
Base.commit(db)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def list(cls, db: Session):
|
def list(cls, db: Session) -> List[Self]:
|
||||||
return db.query(cls).all()
|
return db.query(cls).all()
|
||||||
|
|
||||||
def to_dict(self):
|
def to_dict(self):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user