diff --git a/.golangci.yml b/.golangci.yml index 640fbb938f..4a20269b0e 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -43,7 +43,6 @@ linters-settings: gocritic: disabled-checks: - ifElseChain - - singleCaseSwitch # Every time this occurred in the code, there was no other way. revive: severity: error rules: diff --git a/models/db/convert.go b/models/db/convert.go index 5ebafcf87b..956e17d411 100644 --- a/models/db/convert.go +++ b/models/db/convert.go @@ -58,6 +58,7 @@ func Cell2Int64(val xorm.Cell) int64 { v, _ := strconv.ParseInt(string((*val).([]uint8)), 10, 64) return v + default: + return (*val).(int64) } - return (*val).(int64) } diff --git a/models/repo/repo_unit.go b/models/repo/repo_unit.go index ca82d54cb7..ed553844fc 100644 --- a/models/repo/repo_unit.go +++ b/models/repo/repo_unit.go @@ -235,8 +235,7 @@ func (cfg *ActionsConfig) ToDB() ([]byte, error) { // BeforeSet is invoked from XORM before setting the value of a field of this object. func (r *RepoUnit) BeforeSet(colName string, val xorm.Cell) { - switch colName { - case "type": + if colName == "type" { switch unit.Type(db.Cell2Int64(val)) { case unit.TypeExternalWiki: r.Config = new(ExternalWikiConfig) diff --git a/modules/actions/workflows.go b/modules/actions/workflows.go index 9319c05119..94c221ee7b 100644 --- a/modules/actions/workflows.go +++ b/modules/actions/workflows.go @@ -649,8 +649,7 @@ func matchReleaseEvent(payload *api.ReleasePayload, evt *jobparser.Event) bool { // unpublished, created, deleted, prereleased, released action := payload.Action - switch action { - case api.HookReleaseUpdated: + if action == api.HookReleaseUpdated { action = "edited" } for _, val := range vals { @@ -686,8 +685,7 @@ func matchPackageEvent(payload *api.PackagePayload, evt *jobparser.Event) bool { // updated action := payload.Action - switch action { - case api.HookPackageCreated: + if action == api.HookPackageCreated { action = "published" } for _, val := range vals { diff --git a/modules/forgefed/forgefed.go b/modules/forgefed/forgefed.go index 234aecf3ae..2344dc7a8b 100644 --- a/modules/forgefed/forgefed.go +++ b/modules/forgefed/forgefed.go @@ -16,8 +16,9 @@ func GetItemByType(typ ap.ActivityVocabularyType) (ap.Item, error) { switch typ { case RepositoryType: return RepositoryNew(""), nil + default: + return ap.GetItemByType(typ) } - return ap.GetItemByType(typ) } // JSONUnmarshalerFn is the function that will load the data from a fastjson.Value into an Item @@ -28,8 +29,9 @@ func JSONUnmarshalerFn(typ ap.ActivityVocabularyType, val *fastjson.Value, i ap. return OnRepository(i, func(r *Repository) error { return JSONLoadRepository(val, r) }) + default: + return nil } - return nil } // NotEmpty is the function that checks if an object is empty @@ -44,6 +46,7 @@ func NotEmpty(i ap.Item) bool { return false } return ap.NotEmpty(r.Actor) + default: + return ap.NotEmpty(i) } - return ap.NotEmpty(i) } diff --git a/modules/markup/markdown/callout/github.go b/modules/markup/markdown/callout/github.go index debad42b83..c6da30f7f4 100644 --- a/modules/markup/markdown/callout/github.go +++ b/modules/markup/markdown/callout/github.go @@ -34,8 +34,7 @@ func (g *GitHubCalloutTransformer) Transform(node *ast.Document, reader text.Rea return ast.WalkContinue, nil } - switch v := n.(type) { - case *ast.Blockquote: + if v, ok := n.(*ast.Blockquote); ok { if v.ChildCount() == 0 { return ast.WalkContinue, nil } @@ -91,7 +90,6 @@ func (g *GitHubCalloutTransformer) Transform(node *ast.Document, reader text.Rea firstParagraph.Parent().InsertBefore(firstParagraph.Parent(), firstParagraph, attentionParagraph) firstParagraph.RemoveChild(firstParagraph, firstTextNode) firstParagraph.RemoveChild(firstParagraph, secondTextNode) - firstParagraph.RemoveChild(firstParagraph, thirdTextNode) } return ast.WalkContinue, nil }) diff --git a/modules/markup/markdown/callout/github_legacy.go b/modules/markup/markdown/callout/github_legacy.go index eb15e1e64c..32a278bc8d 100644 --- a/modules/markup/markdown/callout/github_legacy.go +++ b/modules/markup/markdown/callout/github_legacy.go @@ -23,8 +23,7 @@ func (g *GitHubLegacyCalloutTransformer) Transform(node *ast.Document, reader te return ast.WalkContinue, nil } - switch v := n.(type) { - case *ast.Blockquote: + if v, ok := n.(*ast.Blockquote); ok { if v.ChildCount() == 0 { return ast.WalkContinue, nil } diff --git a/modules/repository/license.go b/modules/repository/license.go index 6ac3547e7b..07ae92ca70 100644 --- a/modules/repository/license.go +++ b/modules/repository/license.go @@ -98,8 +98,7 @@ func getLicensePlaceholder(name string) *licensePlaceholder { // Some special placeholders for specific licenses. // It's unsafe to apply them to all licenses. - switch name { - case "0BSD": + if name == "0BSD" { return &licensePlaceholder{ Owner: []string{"AUTHOR"}, Email: []string{"EMAIL"}, diff --git a/modules/session/redis.go b/modules/session/redis.go index d89d8bc6e2..d4cca3f43e 100644 --- a/modules/session/redis.go +++ b/modules/session/redis.go @@ -122,8 +122,7 @@ func (p *RedisProvider) Init(maxlifetime int64, configs string) (err error) { uri := nosql.ToRedisURI(configs) for k, v := range uri.Query() { - switch k { - case "prefix": + if k == "prefix" { p.prefix = v[0] } } diff --git a/modules/structs/task.go b/modules/structs/task.go index ed11a33e28..84b618119a 100644 --- a/modules/structs/task.go +++ b/modules/structs/task.go @@ -13,8 +13,9 @@ func (taskType TaskType) Name() string { switch taskType { case TaskTypeMigrateRepo: return "Migrate Repository" + default: + return "" } - return "" } // TaskStatus defines task status diff --git a/services/actions/workflows.go b/services/actions/workflows.go index 726b56f464..e2fb31622a 100644 --- a/services/actions/workflows.go +++ b/services/actions/workflows.go @@ -83,12 +83,9 @@ func (entry *Workflow) Dispatch(ctx context.Context, inputGetter InputValueGette } continue } - } else { - switch input.Type { - case "boolean": - // Since "boolean" inputs are rendered as a checkbox in html, the value inside the form is "on" - val = strconv.FormatBool(val == "on") - } + } else if input.Type == "boolean" { + // Since "boolean" inputs are rendered as a checkbox in html, the value inside the form is "on" + val = strconv.FormatBool(val == "on") } inputs[key] = val } diff --git a/services/mailer/incoming/incoming_handler.go b/services/mailer/incoming/incoming_handler.go index c7e2193fc5..dc3c4ec69b 100644 --- a/services/mailer/incoming/incoming_handler.go +++ b/services/mailer/incoming/incoming_handler.go @@ -181,7 +181,7 @@ func (h *UnsubscribeHandler) Handle(ctx context.Context, _ *MailContent, doer *u } return issues_model.CreateOrUpdateIssueWatch(ctx, doer.ID, issue.ID, false) + default: + return fmt.Errorf("unsupported unsubscribe reference: %v", ref) } - - return fmt.Errorf("unsupported unsubscribe reference: %v", ref) } diff --git a/services/webhook/dingtalk.go b/services/webhook/dingtalk.go index ea35442436..899c5b2d9f 100644 --- a/services/webhook/dingtalk.go +++ b/services/webhook/dingtalk.go @@ -160,8 +160,7 @@ func (dc dingtalkConvertor) PullRequest(p *api.PullRequestPayload) (DingtalkPayl // Review implements PayloadConvertor Review method func (dc dingtalkConvertor) Review(p *api.PullRequestPayload, event webhook_module.HookEventType) (DingtalkPayload, error) { var text, title string - switch p.Action { - case api.HookIssueReviewed: + if p.Action == api.HookIssueReviewed { action, err := parseHookPullRequestEventType(event) if err != nil { return DingtalkPayload{}, err diff --git a/services/webhook/discord.go b/services/webhook/discord.go index 80f6cfb79b..b342b45690 100644 --- a/services/webhook/discord.go +++ b/services/webhook/discord.go @@ -215,8 +215,7 @@ func (d discordConvertor) PullRequest(p *api.PullRequestPayload) (DiscordPayload func (d discordConvertor) Review(p *api.PullRequestPayload, event webhook_module.HookEventType) (DiscordPayload, error) { var text, title string var color int - switch p.Action { - case api.HookIssueReviewed: + if p.Action == api.HookIssueReviewed { action, err := parseHookPullRequestEventType(event) if err != nil { return DiscordPayload{}, err diff --git a/services/webhook/matrix.go b/services/webhook/matrix.go index 06176e8dd3..e70e7a2f8e 100644 --- a/services/webhook/matrix.go +++ b/services/webhook/matrix.go @@ -237,8 +237,7 @@ func (m matrixConvertor) Review(p *api.PullRequestPayload, event webhook_module. repoLink := htmlLinkFormatter(p.Repository.HTMLURL, p.Repository.FullName) var text string - switch p.Action { - case api.HookIssueReviewed: + if p.Action == api.HookIssueReviewed { action, err := parseHookPullRequestEventType(event) if err != nil { return MatrixPayload{}, err diff --git a/services/webhook/msteams.go b/services/webhook/msteams.go index 3e9959146b..736d084a8c 100644 --- a/services/webhook/msteams.go +++ b/services/webhook/msteams.go @@ -225,8 +225,7 @@ func (m msteamsConvertor) PullRequest(p *api.PullRequestPayload) (MSTeamsPayload func (m msteamsConvertor) Review(p *api.PullRequestPayload, event webhook_module.HookEventType) (MSTeamsPayload, error) { var text, title string var color int - switch p.Action { - case api.HookIssueReviewed: + if p.Action == api.HookIssueReviewed { action, err := parseHookPullRequestEventType(event) if err != nil { return MSTeamsPayload{}, err diff --git a/services/webhook/slack.go b/services/webhook/slack.go index 3af483a90e..af93976bd6 100644 --- a/services/webhook/slack.go +++ b/services/webhook/slack.go @@ -289,8 +289,7 @@ func (s slackConvertor) Review(p *api.PullRequestPayload, event webhook_module.H repoLink := SlackLinkFormatter(p.Repository.HTMLURL, p.Repository.FullName) var text string - switch p.Action { - case api.HookIssueReviewed: + if p.Action == api.HookIssueReviewed { action, err := parseHookPullRequestEventType(event) if err != nil { return SlackPayload{}, err diff --git a/services/webhook/telegram.go b/services/webhook/telegram.go index 74eb133922..bacfa64db5 100644 --- a/services/webhook/telegram.go +++ b/services/webhook/telegram.go @@ -164,8 +164,7 @@ func (t telegramConvertor) PullRequest(p *api.PullRequestPayload) (TelegramPaylo // Review implements PayloadConvertor Review method func (t telegramConvertor) Review(p *api.PullRequestPayload, event webhook_module.HookEventType) (TelegramPayload, error) { var text, attachmentText string - switch p.Action { - case api.HookIssueReviewed: + if p.Action == api.HookIssueReviewed { action, err := parseHookPullRequestEventType(event) if err != nil { return TelegramPayload{}, err diff --git a/services/webhook/wechatwork.go b/services/webhook/wechatwork.go index 0329cff122..87f8bb8b18 100644 --- a/services/webhook/wechatwork.go +++ b/services/webhook/wechatwork.go @@ -154,8 +154,7 @@ func (wc wechatworkConvertor) PullRequest(p *api.PullRequestPayload) (Wechatwork // Review implements PayloadConvertor Review method func (wc wechatworkConvertor) Review(p *api.PullRequestPayload, event webhook_module.HookEventType) (WechatworkPayload, error) { var text, title string - switch p.Action { - case api.HookIssueReviewed: + if p.Action == api.HookIssueReviewed { action, err := parseHookPullRequestEventType(event) if err != nil { return WechatworkPayload{}, err