feat: uninstall plugins

This commit is contained in:
Yeuoly
2024-10-08 22:38:33 +08:00
parent e27a03ae15
commit a9c21ef929
4 changed files with 30 additions and 6 deletions

View File

@ -115,9 +115,28 @@ class PluginInstallFromPkgApi(Resource):
return Response(generator(), mimetype="text/event-stream")
class PluginUninstallApi(Resource):
@setup_required
@login_required
@account_initialization_required
def post(self):
req = reqparse.RequestParser()
req.add_argument("plugin_installation_id", type=str, required=True, location="json")
args = req.parse_args()
user = current_user
if not user.is_admin_or_owner:
raise Forbidden()
tenant_id = user.current_tenant_id
return {"success": PluginService.uninstall_plugin(tenant_id, args["plugin_installation_id"])}
api.add_resource(PluginDebuggingKeyApi, "/workspaces/current/plugin/debugging-key")
api.add_resource(PluginListApi, "/workspaces/current/plugin/list")
api.add_resource(PluginIconApi, "/workspaces/current/plugin/icon")
api.add_resource(PluginInstallCheckUniqueIdentifierApi, "/workspaces/current/plugin/install/check_unique_identifier")
api.add_resource(PluginInstallFromUniqueIdentifierApi, "/workspaces/current/plugin/install/from_unique_identifier")
api.add_resource(PluginInstallFromPkgApi, "/workspaces/current/plugin/install/from_pkg")
api.add_resource(PluginUninstallApi, "/workspaces/current/plugin/uninstall")