Merge pull request #4239 from Seed680/v2

This commit is contained in:
jxxghp
2025-05-08 17:48:31 +08:00
committed by GitHub
5 changed files with 43 additions and 0 deletions
+9
View File
@@ -55,6 +55,15 @@ def save(name: str,
StorageChain().save_config(name, conf) StorageChain().save_config(name, conf)
return schemas.Response(success=True) return schemas.Response(success=True)
@router.get("/reset/{name}", summary="重置存储配置", response_model=schemas.Response)
def save(name: str,
_: User = Depends(get_current_active_superuser)) -> Any:
"""
重置存储配置
"""
StorageChain().reset_config(name)
return schemas.Response(success=True)
@router.post("/list", summary="所有目录和文件", response_model=List[schemas.FileItem]) @router.post("/list", summary="所有目录和文件", response_model=List[schemas.FileItem])
def list_files(fileitem: schemas.FileItem, def list_files(fileitem: schemas.FileItem,
+6
View File
@@ -24,6 +24,12 @@ class StorageChain(ChainBase):
""" """
self.run_module("save_config", storage=storage, conf=conf) self.run_module("save_config", storage=storage, conf=conf)
def reset_config(self, storage: str) -> None:
"""
重置存储配置
"""
self.run_module("reset_config", storage=storage)
def generate_qrcode(self, storage: str) -> Optional[Tuple[dict, str]]: def generate_qrcode(self, storage: str) -> Optional[Tuple[dict, str]]:
""" """
生成二维码 生成二维码
+11
View File
@@ -71,3 +71,14 @@ class StorageHelper:
config=conf config=conf
)) ))
self.systemconfig.set(SystemConfigKey.Storages, [s.dict() for s in storagies]) self.systemconfig.set(SystemConfigKey.Storages, [s.dict() for s in storagies])
def reset_storage(self, storage: str):
"""
重置存储配置
"""
storagies = self.get_storagies()
for s in storagies:
if s.type == storage:
s.config = {}
break
self.systemconfig.set(SystemConfigKey.Storages, [s.dict() for s in storagies])
+10
View File
@@ -154,6 +154,16 @@ class FileManagerModule(_ModuleBase):
return return
storage_oper.set_config(conf) storage_oper.set_config(conf)
def reset_config(self, storage: str) -> None:
"""
重置存储配置
"""
storage_oper = self.__get_storage_oper(storage)
if not storage_oper:
logger.error(f"不支持 {storage} 的重置存储配置")
return
storage_oper.reset_config()
def generate_qrcode(self, storage: str) -> Optional[Tuple[dict, str]]: def generate_qrcode(self, storage: str) -> Optional[Tuple[dict, str]]:
""" """
生成二维码 生成二维码
@@ -61,6 +61,13 @@ class StorageBase(metaclass=ABCMeta):
""" """
return transtype in self.transtype return transtype in self.transtype
def reset_config(self):
"""
重置置配置
"""
self.storagehelper.reset_storage(self.schema.value)
self.init_storage()
@abstractmethod @abstractmethod
def check(self) -> bool: def check(self) -> bool:
""" """