From 12eb00d6380bfb62994cc2e89a79c77195095298 Mon Sep 17 00:00:00 2001 From: CityFun <31820853+zhengkunwang223@users.noreply.github.com> Date: Sun, 18 May 2025 11:21:58 +0800 Subject: [PATCH] fix: fix issue with set default group (#8717) Refs https://github.com/1Panel-dev/1Panel/issues/8712 --- agent/app/repo/group.go | 7 ++++++ agent/app/service/group.go | 5 +++++ agent/app/service/website.go | 1 + core/app/dto/task.go | 13 ----------- core/app/service/task.go | 43 ------------------------------------ 5 files changed, 13 insertions(+), 56 deletions(-) delete mode 100644 core/app/dto/task.go delete mode 100644 core/app/service/task.go diff --git a/agent/app/repo/group.go b/agent/app/repo/group.go index 34486edff..9a33e53f4 100644 --- a/agent/app/repo/group.go +++ b/agent/app/repo/group.go @@ -14,6 +14,7 @@ type IGroupRepo interface { Create(group *model.Group) error Update(id uint, vars map[string]interface{}) error Delete(opts ...DBOption) error + CancelDefault(groupType string) error WithByDefault(isDefault bool) DBOption WithByWebsiteDefault() DBOption } @@ -69,3 +70,9 @@ func (g *GroupRepo) WithByWebsiteDefault() DBOption { return g.Where("is_default = ? AND type = ?", 1, "website") } } + +func (g *GroupRepo) CancelDefault(groupType string) error { + return global.DB.Model(&model.Group{}). + Where("is_default = ? AND type = ?", 1, groupType). + Updates(map[string]interface{}{"is_default": 0}).Error +} diff --git a/agent/app/service/group.go b/agent/app/service/group.go index c72fecec9..025035f28 100644 --- a/agent/app/service/group.go +++ b/agent/app/service/group.go @@ -81,6 +81,11 @@ func (u *GroupService) Delete(id uint) error { } func (u *GroupService) Update(req dto.GroupUpdate) error { + if req.IsDefault { + if err := groupRepo.CancelDefault(req.Type); err != nil { + return err + } + } upMap := make(map[string]interface{}) upMap["name"] = req.Name upMap["is_default"] = req.IsDefault diff --git a/agent/app/service/website.go b/agent/app/service/website.go index 250f9051a..d7b8817ba 100644 --- a/agent/app/service/website.go +++ b/agent/app/service/website.go @@ -1378,6 +1378,7 @@ func (w WebsiteService) ChangePHPVersion(req request.WebsitePHPVersionReq) error return buserr.New("ErrPHPResource") } website.RuntimeID = req.RuntimeID + website.AppInstallID = 0 phpProxy := fmt.Sprintf("127.0.0.1:%s", runtime.Port) website.Proxy = phpProxy server.UpdatePHPProxy([]string{website.Proxy}, "") diff --git a/core/app/dto/task.go b/core/app/dto/task.go deleted file mode 100644 index f88baf660..000000000 --- a/core/app/dto/task.go +++ /dev/null @@ -1,13 +0,0 @@ -package dto - -import "github.com/1Panel-dev/1Panel/core/app/model" - -type SearchTaskLogReq struct { - Status string `json:"status"` - Type string `json:"type"` - PageInfo -} - -type TaskDTO struct { - model.Task -} diff --git a/core/app/service/task.go b/core/app/service/task.go deleted file mode 100644 index e411ecf89..000000000 --- a/core/app/service/task.go +++ /dev/null @@ -1,43 +0,0 @@ -package service - -import ( - "github.com/1Panel-dev/1Panel/core/app/dto" - "github.com/1Panel-dev/1Panel/core/app/repo" - "github.com/1Panel-dev/1Panel/core/global" -) - -type TaskLogService struct{} - -type ITaskLogService interface { - Page(req dto.SearchTaskLogReq) (int64, []dto.TaskDTO, error) -} - -func NewITaskService() ITaskLogService { - return &TaskLogService{} -} - -func (u *TaskLogService) Page(req dto.SearchTaskLogReq) (int64, []dto.TaskDTO, error) { - opts := []global.DBOption{ - repo.WithOrderBy("created_at desc"), - } - if req.Status != "" { - opts = append(opts, repo.WithByStatus(req.Status)) - } - if req.Type != "" { - opts = append(opts, repo.WithByType(req.Type)) - } - - total, tasks, err := taskRepo.Page( - req.Page, - req.PageSize, - opts..., - ) - var items []dto.TaskDTO - for _, t := range tasks { - item := dto.TaskDTO{ - Task: t, - } - items = append(items, item) - } - return total, items, err -}