浏览代码

feat: support delete all install tasks

Yeuoly 8 月之前
父节点
当前提交
dd5325b681
共有 3 个文件被更改,包括 24 次插入0 次删除
  1. 8 0
      internal/server/controllers/plugins.go
  2. 1 0
      internal/server/http_server.go
  3. 15 0
      internal/service/install_plugin.go

+ 8 - 0
internal/server/controllers/plugins.go

@@ -156,6 +156,14 @@ func DeletePluginInstallationTask(c *gin.Context) {
 	})
 }
 
+func DeleteAllPluginInstallationTasks(c *gin.Context) {
+	BindRequest(c, func(request struct {
+		TenantID string `uri:"tenant_id" validate:"required"`
+	}) {
+		c.JSON(http.StatusOK, service.DeleteAllPluginInstallationTasks(request.TenantID))
+	})
+}
+
 func DeletePluginInstallationItemFromTask(c *gin.Context) {
 	BindRequest(c, func(request struct {
 		TenantID   string `uri:"tenant_id" validate:"required"`

+ 1 - 0
internal/server/http_server.go

@@ -119,6 +119,7 @@ func (app *App) pluginManagementGroup(group *gin.RouterGroup, config *app.Config
 	group.POST("/install/upgrade", controllers.UpgradePlugin(config))
 	group.GET("/install/tasks/:id", controllers.FetchPluginInstallationTask)
 	group.POST("/install/tasks/:id/delete", controllers.DeletePluginInstallationTask)
+	group.POST("/install/tasks/:id/delete_all", controllers.DeleteAllPluginInstallationTasks)
 	group.POST("/install/tasks/:id/delete/*identifier", controllers.DeletePluginInstallationItemFromTask)
 	group.GET("/install/tasks", controllers.FetchPluginInstallationTasks)
 	group.GET("/fetch/manifest", controllers.FetchPluginManifest)

+ 15 - 0
internal/service/install_plugin.go

@@ -462,6 +462,21 @@ func DeletePluginInstallationTask(
 	return entities.NewSuccessResponse(true)
 }
 
+func DeleteAllPluginInstallationTasks(
+	tenant_id string,
+) *entities.Response {
+	err := db.DeleteByCondition(
+		models.InstallTask{
+			TenantID: tenant_id,
+		},
+	)
+	if err != nil {
+		return exception.InternalServerError(err).ToResponse()
+	}
+
+	return entities.NewSuccessResponse(true)
+}
+
 func DeletePluginInstallationItemFromTask(
 	tenant_id string,
 	task_id string,