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
+2 -2
View File
@@ -187,8 +187,8 @@ func validateTOTP(req *http.Request, u *user_model.User) error {
}
func GetAccessScope(store DataStore) auth_model.AccessTokenScope {
if v, ok := store.GetData()["ApiTokenScope"]; ok {
return v.(auth_model.AccessTokenScope)
if scope, ok := store.GetData()["ApiTokenScope"].(auth_model.AccessTokenScope); ok {
return scope
}
switch store.GetData()["LoginMethod"] {
case OAuth2TokenMethodName:
+5 -1
View File
@@ -197,7 +197,11 @@ func VerifyCert(r *http.Request) (*asymkey_model.PublicKey, error) {
// doVerify iterates across the provided public keys attempting the verify the current request against each key in turn
func doVerify(verifier httpsig.Verifier, sshPublicKeys []ssh.PublicKey) error {
for _, publicKey := range sshPublicKeys {
cryptoPubkey := publicKey.(ssh.CryptoPublicKey).CryptoPublicKey()
cryptoPublicKey, ok := publicKey.(ssh.CryptoPublicKey)
if !ok {
continue
}
cryptoPubkey := cryptoPublicKey.CryptoPublicKey()
var algos []httpsig.Algorithm
+1 -1
View File
@@ -143,7 +143,7 @@ func (s *SSPI) getConfig(ctx context.Context) (*sspi.Source, error) {
if len(sources) > 1 {
return nil, errors.New("more than one active login source of type SSPI found")
}
return sources[0].Cfg.(*sspi.Source), nil
return auth.MustSourceCfg[*sspi.Source](sources[0]), nil
}
func (s *SSPI) shouldAuthenticate(req *http.Request) (shouldAuth bool) {