diff --git a/internal/conf/db.go b/internal/conf/db.go index fbf5aa9..601cd65 100644 --- a/internal/conf/db.go +++ b/internal/conf/db.go @@ -2,6 +2,7 @@ package conf import ( "database/sql" + "ego/internal/model" "ego/pkg/logger" "fmt" "log" @@ -143,7 +144,9 @@ func Migration() error { } // 自动迁移模式 - models := []any{} + models := []any{ + &model.SysDeployFile{}, + } for _, model := range models { if err := Db.AutoMigrate(model); err != nil { diff --git a/internal/router/sys_deploy_file_router.go b/internal/router/sys_deploy_file_router.go index 32b8abf..76d2b35 100644 --- a/internal/router/sys_deploy_file_router.go +++ b/internal/router/sys_deploy_file_router.go @@ -22,7 +22,7 @@ func init() { // @Produce json func SysDeployFileHandlerRouter(group *gin.RouterGroup, h *handler.SysDeployFileHandler) { // 部署文件管理路由组 - g := group.Group("/deploy-files") + g := group.Group("/DeployFiles") // 鉴权 g.Use(middleware.AuthRequired()) diff --git a/internal/router/sys_upload_router.go b/internal/router/sys_upload_router.go index 3d3d941..8f9e4f1 100644 --- a/internal/router/sys_upload_router.go +++ b/internal/router/sys_upload_router.go @@ -2,6 +2,7 @@ package router import ( "ego/internal/handler" + "ego/internal/middleware" "ego/internal/wire" "github.com/gin-gonic/gin" ) @@ -15,7 +16,7 @@ func init() { // SysUploadHandlerRouter 文件上传路由 func SysUploadHandlerRouter(r *gin.RouterGroup, h *handler.SysUploadHandler) { upload := r.Group("/upload") - //upload.Use(middleware.AuthRequired()) + upload.Use(middleware.AuthRequired()) { upload.POST("/zip", h.UploadZip) } diff --git a/internal/service/sys_deploy_file_service.go b/internal/service/sys_deploy_file_service.go index 60c3a24..cbd0ed8 100644 --- a/internal/service/sys_deploy_file_service.go +++ b/internal/service/sys_deploy_file_service.go @@ -8,6 +8,8 @@ import ( "ego/pkg/logger" "fmt" "io" + "os" + "path/filepath" "time" "github.com/gin-gonic/gin" @@ -116,6 +118,21 @@ func (s *SysDeployFileService) DeleteByID(c *gin.Context) serializer.Response { "update_by": c.GetString("id"), } + // 删除已经部署的文件夹 + deployFile := model.SysDeployFile{} + if err := s.Db.Where("deploy_id = ?", id).First(&deployFile).Error; err != nil { + logger.Error(c, "获取部署文件记录失败!") + return serializer.DBErr("获取部署文件记录失败!", err) + } + + // 删除 /home/:projectName + err := os.RemoveAll(filepath.Join("/home", deployFile.ProjectName)) + if err != nil { + logger.Error(c, "删除部署文件夹失败!") + return serializer.DBErr("删除部署文件夹失败!", err) + } + + // 删除数据库记录 if err := s.Db.Model(&model.SysDeployFile{}).Where("deploy_id = ?", id).Updates(data).Error; err != nil { logger.Error(c, "删除部署文件记录失败!") return serializer.DBErr("删除部署文件记录失败!", err)