From f75847d3d7511adb49151631a2295d18322479ba Mon Sep 17 00:00:00 2001 From: naiba Date: Sun, 23 Jun 2024 16:15:08 +0800 Subject: [PATCH] refactor: imporve code style --- cmd/dashboard/controller/common_page.go | 28 ++++++++++---------- cmd/dashboard/controller/member_api.go | 34 ++++++++++++------------- cmd/dashboard/controller/oauth2.go | 8 +++--- 3 files changed, 33 insertions(+), 37 deletions(-) diff --git a/cmd/dashboard/controller/common_page.go b/cmd/dashboard/controller/common_page.go index b9455fb..7719115 100644 --- a/cmd/dashboard/controller/common_page.go +++ b/cmd/dashboard/controller/common_page.go @@ -2,6 +2,7 @@ package controller import ( "errors" + "fmt" "log" "net/http" "regexp" @@ -223,31 +224,30 @@ func (cp *commonPage) network(c *gin.Context) { } func (cp *commonPage) getServerStat(c *gin.Context) ([]byte, error) { - v, err, _ := cp.requestGroup.Do("serverStats", func() (any, error) { + _, isMember := c.Get(model.CtxKeyAuthorizedUser) + _, isViewPasswordVerfied := c.Get(model.CtxKeyViewPasswordVerified) + authorized := isMember || isViewPasswordVerfied + v, err, _ := cp.requestGroup.Do(fmt.Sprintf("serverStats::%t", authorized), func() (interface{}, error) { singleton.SortedServerLock.RLock() defer singleton.SortedServerLock.RUnlock() - _, isMember := c.Get(model.CtxKeyAuthorizedUser) - _, isViewPasswordVerfied := c.Get(model.CtxKeyViewPasswordVerified) - var servers []*model.Server - if isMember || isViewPasswordVerfied { + if authorized { servers = singleton.SortedServerList } else { - servers = singleton.SortedServerListForGuest - } - - filteredServers := make([]*model.Server, len(servers)) - for i, server := range servers { - filteredServer := *server - filteredServer.DDNSDomain = "redacted" - filteredServers[i] = &filteredServer + filteredServers := make([]*model.Server, len(singleton.SortedServerListForGuest)) + for i, server := range singleton.SortedServerListForGuest { + filteredServer := *server + filteredServer.DDNSDomain = "redacted" + filteredServers[i] = &filteredServer + } + servers = filteredServers } return utils.Json.Marshal(Data{ Now: time.Now().Unix() * 1000, - Servers: filteredServers, + Servers: servers, }) }) return v.([]byte), err diff --git a/cmd/dashboard/controller/member_api.go b/cmd/dashboard/controller/member_api.go index 7e27ed5..17b52c9 100644 --- a/cmd/dashboard/controller/member_api.go +++ b/cmd/dashboard/controller/member_api.go @@ -437,25 +437,23 @@ func (ma *memberAPI) addOrEditMonitor(c *gin.Context) { if m.NotificationTag == "" { m.NotificationTag = "default" } - if err == nil { - err = utils.Json.Unmarshal([]byte(mf.FailTriggerTasksRaw), &m.FailTriggerTasks) + err = utils.Json.Unmarshal([]byte(mf.FailTriggerTasksRaw), &m.FailTriggerTasks) + } + if err == nil { + err = utils.Json.Unmarshal([]byte(mf.RecoverTriggerTasksRaw), &m.RecoverTriggerTasks) + } + if err == nil { + if m.ID == 0 { + err = singleton.DB.Create(&m).Error + } else { + err = singleton.DB.Save(&m).Error } - if err == nil { - err = utils.Json.Unmarshal([]byte(mf.RecoverTriggerTasksRaw), &m.RecoverTriggerTasks) - } - if err == nil { - if m.ID == 0 { - err = singleton.DB.Create(&m).Error - } else { - err = singleton.DB.Save(&m).Error - } - } - if err == nil { - if m.Cover == 0 { - err = singleton.DB.Unscoped().Delete(&model.MonitorHistory{}, "monitor_id = ? and server_id in (?)", m.ID, strings.Split(m.SkipServersRaw[1:len(m.SkipServersRaw)-1], ",")).Error - } else { - err = singleton.DB.Unscoped().Delete(&model.MonitorHistory{}, "monitor_id = ? and server_id not in (?)", m.ID, strings.Split(m.SkipServersRaw[1:len(m.SkipServersRaw)-1], ",")).Error - } + } + if err == nil { + if m.Cover == 0 { + err = singleton.DB.Unscoped().Delete(&model.MonitorHistory{}, "monitor_id = ? and server_id in (?)", m.ID, strings.Split(m.SkipServersRaw[1:len(m.SkipServersRaw)-1], ",")).Error + } else { + err = singleton.DB.Unscoped().Delete(&model.MonitorHistory{}, "monitor_id = ? and server_id not in (?)", m.ID, strings.Split(m.SkipServersRaw[1:len(m.SkipServersRaw)-1], ",")).Error } } if err == nil { diff --git a/cmd/dashboard/controller/oauth2.go b/cmd/dashboard/controller/oauth2.go index 75e5341..a2f9f33 100644 --- a/cmd/dashboard/controller/oauth2.go +++ b/cmd/dashboard/controller/oauth2.go @@ -5,12 +5,13 @@ import ( "encoding/json" "errors" "fmt" - "github.com/naiba/nezha/pkg/oidc/cloudflare" "net/http" "net/url" "strings" "time" + "github.com/naiba/nezha/pkg/oidc/cloudflare" + "code.gitea.io/sdk/gitea" "github.com/gin-gonic/gin" GitHubAPI "github.com/google/go-github/v47/github" @@ -192,15 +193,12 @@ func (oa *oauth2controller) callback(c *gin.Context) { client = GitHubAPI.NewClient(oc) } var gu *GitHubAPI.User - if err == nil { - gu, _, err = client.Users.Get(ctx, "") - } + gu, _, err = client.Users.Get(ctx, "") if err == nil { user = model.NewUserFromGitHub(gu) } } } - if err == nil && user.Login == "" { err = errors.New("获取用户信息失败") }