chore: enable forcetypeassert linter, fix issues (#38804)

Enable [`forcetypeassert`](https://github.com/gostaticanalysis/forcetypeassert)
linter to prevent unchecked type assertions. ~650 issues fixed, most
fixes were clean, some use `setting.PanicInDevOrTesting`.

The only behaviour changes are where code would previously send a 500 error
or panic, a 4xx error is now emitted.

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
This commit is contained in:
silverwind
2026-08-09 12:25:06 +02:00
committed by GitHub
parent fac8bf2eca
commit 76a81b24f9
248 changed files with 1110 additions and 995 deletions
+8 -4
View File
@@ -27,15 +27,19 @@ import (
)
func handleCreateError(owner *user_model.User, err error) error {
var (
errNameReserved db.ErrNameReserved
errNamePatternNotAllowed db.ErrNamePatternNotAllowed
)
switch {
case repo_model.IsErrReachLimitOfRepo(err):
return fmt.Errorf("you have already reached your limit of %d repositories", owner.MaxCreationLimit())
case repo_model.IsErrRepoAlreadyExist(err):
return errors.New("the repository name is already used")
case db.IsErrNameReserved(err):
return fmt.Errorf("the repository name '%s' is reserved", err.(db.ErrNameReserved).Name)
case db.IsErrNamePatternNotAllowed(err):
return fmt.Errorf("the pattern '%s' is not allowed in a repository name", err.(db.ErrNamePatternNotAllowed).Pattern)
case errors.As(err, &errNameReserved):
return fmt.Errorf("the repository name '%s' is reserved", errNameReserved.Name)
case errors.As(err, &errNamePatternNotAllowed):
return fmt.Errorf("the pattern '%s' is not allowed in a repository name", errNamePatternNotAllowed.Pattern)
default:
return err
}