feat:插件重置

This commit is contained in:
jxxghp 2023-11-26 21:40:43 +08:00
parent 0be1f27970
commit 6db5ad2697
3 changed files with 31 additions and 0 deletions

View File

@ -94,6 +94,15 @@ def plugin_page(plugin_id: str, _: schemas.TokenPayload = Depends(verify_token))
return PluginManager().get_plugin_page(plugin_id) return PluginManager().get_plugin_page(plugin_id)
@router.get("/reset/{plugin_id}", summary="重置插件配置", response_model=schemas.Response)
def reset_plugin(plugin_id: str, _: schemas.TokenPayload = Depends(verify_token)) -> List[dict]:
"""
根据插件ID重置插件配置
"""
PluginManager().delete_plugin_config(plugin_id)
return schemas.Response(success=True)
@router.get("/{plugin_id}", summary="获取插件配置") @router.get("/{plugin_id}", summary="获取插件配置")
def plugin_config(plugin_id: str, _: schemas.TokenPayload = Depends(verify_token)) -> dict: def plugin_config(plugin_id: str, _: schemas.TokenPayload = Depends(verify_token)) -> dict:
""" """

View File

@ -147,6 +147,14 @@ class PluginManager(metaclass=Singleton):
return False return False
return self.systemconfig.set(self._config_key % pid, conf) return self.systemconfig.set(self._config_key % pid, conf)
def delete_plugin_config(self, pid: str) -> bool:
"""
删除插件配置
"""
if not self._plugins.get(pid):
return False
return self.systemconfig.delete(self._config_key % pid)
def get_plugin_form(self, pid: str) -> Tuple[List[dict], Dict[str, Any]]: def get_plugin_form(self, pid: str) -> Tuple[List[dict], Dict[str, Any]]:
""" """
获取插件表单 获取插件表单

View File

@ -56,6 +56,20 @@ class SystemConfigOper(DbOper, metaclass=Singleton):
return self.__SYSTEMCONF return self.__SYSTEMCONF
return self.__SYSTEMCONF.get(key) return self.__SYSTEMCONF.get(key)
def delete(self, key: Union[str, SystemConfigKey]):
"""
删除系统设置
"""
if isinstance(key, SystemConfigKey):
key = key.value
# 更新内存
self.__SYSTEMCONF.pop(key, None)
# 写入数据库
conf = SystemConfig.get_by_key(self._db, key)
if conf:
conf.delete(self._db, conf.id)
return True
def __del__(self): def __del__(self):
if self._db: if self._db:
self._db.close() self._db.close()