MCPcopy Create free account
hub / github.com/1Panel-dev/1Panel / DeleteWebsite

Method DeleteWebsite

agent/app/service/website.go:697–790  ·  view source on GitHub ↗
(req request.WebsiteDelete)

Source from the content-addressed store, hash-verified

695}
696
697func (w WebsiteService) DeleteWebsite(req request.WebsiteDelete) error {
698 website, err := websiteRepo.GetFirst(repo.WithByID(req.ID))
699 if err != nil {
700 return err
701 }
702 if website.Type != constant.Subsite {
703 parentWebsites, _ := websiteRepo.List(websiteRepo.WithParentID(website.ID))
704 if len(parentWebsites) > 0 {
705 var names []string
706 for _, site := range parentWebsites {
707 names = append(names, site.PrimaryDomain)
708 }
709 return buserr.WithName("ErrParentWebsite", strings.Join(names, ","))
710 }
711 }
712
713 if website.Type == constant.Runtime && req.DeleteDB && website.DbID != 0 {
714 switch website.DbType {
715 case constant.AppMysql, constant.AppMariaDB:
716 mysqlDB, _ := mysqlRepo.Get(repo.WithByID(website.DbID))
717 if mysqlDB.ID > 0 {
718 deleteReq := dto.MysqlDBDelete{
719 ID: mysqlDB.ID,
720 Database: mysqlDB.MysqlName,
721 ForceDelete: req.ForceDelete,
722 }
723 if err = NewIMysqlService().Delete(context.TODO(), deleteReq); err != nil && !req.ForceDelete {
724 return err
725 }
726 }
727 case constant.AppPostgresql, constant.AppPostgres:
728 pgDB, _ := postgresqlRepo.Get(repo.WithByID(website.DbID))
729 if pgDB.ID > 0 {
730 deleteReq := dto.PostgresqlDBDelete{
731 ID: pgDB.ID,
732 ForceDelete: req.ForceDelete,
733 Database: pgDB.PostgresqlName,
734 }
735 if err = NewIPostgresqlService().Delete(context.TODO(), deleteReq); err != nil && !req.ForceDelete {
736 return err
737 }
738 }
739 }
740 }
741
742 if err = delNginxConfig(website, req.ForceDelete); err != nil {
743 return err
744 }
745
746 if website.Type != constant.Stream {
747 if err = delWafConfig(website, req.ForceDelete); err != nil {
748 return err
749 }
750 }
751
752 if checkIsLinkApp(website) && req.DeleteApp {
753 appInstall, _ := appInstallRepo.GetFirst(repo.WithByID(website.AppInstallID))
754 if appInstall.ID > 0 {

Callers 1

BatchOpWebsiteMethod · 0.95

Calls 15

NewIMysqlServiceFunction · 0.85
NewIPostgresqlServiceFunction · 0.85
delNginxConfigFunction · 0.85
delWafConfigFunction · 0.85
checkIsLinkAppFunction · 0.85
deleteAppInstallFunction · 0.85
NewIBackupRecordServiceFunction · 0.85
RemoveAllMethod · 0.80
GetFirstMethod · 0.65
WithByIDMethod · 0.65
ListMethod · 0.65
WithParentIDMethod · 0.65

Tested by

no test coverage detected