(req request.WebsiteLBDelete)
| 181 | } |
| 182 | |
| 183 | func (w WebsiteService) DeleteLoadBalance(req request.WebsiteLBDelete) error { |
| 184 | website, err := websiteRepo.GetFirst(repo.WithByID(req.WebsiteID)) |
| 185 | if err != nil { |
| 186 | return err |
| 187 | } |
| 188 | nginxInstall, err := getAppInstallByKey(constant.AppOpenresty) |
| 189 | if err != nil { |
| 190 | return err |
| 191 | } |
| 192 | proxies, _ := w.GetProxies(website.ID) |
| 193 | if len(proxies) > 0 { |
| 194 | for _, proxy := range proxies { |
| 195 | if strings.HasSuffix(proxy.ProxyPass, fmt.Sprintf("://%s", req.Name)) { |
| 196 | return buserr.New("ErrProxyIsUsed") |
| 197 | } |
| 198 | } |
| 199 | } |
| 200 | |
| 201 | includeDir := GetSitePath(website, SiteUpstreamDir) |
| 202 | fileOp := files.NewFileOp() |
| 203 | safeName := path.Base(req.Name) |
| 204 | if safeName != req.Name || strings.Contains(safeName, "..") { |
| 205 | return buserr.New("ErrInvalidParams") |
| 206 | } |
| 207 | filePath := path.Join(includeDir, fmt.Sprintf("%s.conf", req.Name)) |
| 208 | if !fileOp.Stat(filePath) { |
| 209 | return nil |
| 210 | } |
| 211 | if err = fileOp.DeleteFile(filePath); err != nil { |
| 212 | return err |
| 213 | } |
| 214 | return opNginx(nginxInstall.ContainerName, constant.NginxReload) |
| 215 | } |
| 216 | |
| 217 | func (w WebsiteService) UpdateLoadBalanceFile(req request.WebsiteLBUpdateFile) error { |
| 218 | website, err := websiteRepo.GetFirst(repo.WithByID(req.WebsiteID)) |
nothing calls this directly
no test coverage detected