|
@@ -266,6 +266,20 @@ class PluginDeleteInstallTaskApi(Resource):
|
|
|
return {"success": PluginService.delete_install_task(tenant_id, task_id)}
|
|
|
|
|
|
|
|
|
+class PluginDeleteInstallTaskItemApi(Resource):
|
|
|
+ @setup_required
|
|
|
+ @login_required
|
|
|
+ @account_initialization_required
|
|
|
+ def post(self, task_id: str, identifier: str):
|
|
|
+ user = current_user
|
|
|
+ if not user.is_admin_or_owner:
|
|
|
+ raise Forbidden()
|
|
|
+
|
|
|
+ tenant_id = user.current_tenant_id
|
|
|
+
|
|
|
+ return {"success": PluginService.delete_install_task_item(tenant_id, task_id, identifier)}
|
|
|
+
|
|
|
+
|
|
|
class PluginUninstallApi(Resource):
|
|
|
@setup_required
|
|
|
@login_required
|
|
@@ -296,4 +310,5 @@ api.add_resource(PluginFetchManifestApi, "/workspaces/current/plugin/fetch-manif
|
|
|
api.add_resource(PluginFetchInstallTasksApi, "/workspaces/current/plugin/tasks")
|
|
|
api.add_resource(PluginFetchInstallTaskApi, "/workspaces/current/plugin/tasks/<task_id>")
|
|
|
api.add_resource(PluginDeleteInstallTaskApi, "/workspaces/current/plugin/tasks/<task_id>/delete")
|
|
|
+api.add_resource(PluginDeleteInstallTaskItemApi, "/workspaces/current/plugin/tasks/<task_id>/delete/<identifier>")
|
|
|
api.add_resource(PluginUninstallApi, "/workspaces/current/plugin/uninstall")
|