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 10:25:06 +00:00
committed by GitHub
co-authored by wxiaoguang
parent fac8bf2eca
commit 76a81b24f9
248 changed files with 1110 additions and 995 deletions
+3 -4
View File
@@ -54,7 +54,7 @@ func NewBadge(ctx *context.Context) {
// NewBadgePost response for adding a new badge
func NewBadgePost(ctx *context.Context) {
form := web.GetForm(ctx).(*forms.AdminCreateBadgeForm)
form := web.GetForm[*forms.AdminCreateBadgeForm](ctx)
if ctx.HasError() {
ctx.JSONError(ctx.GetErrMsg())
@@ -100,12 +100,11 @@ func ViewBadge(ctx *context.Context) {
ctx.Data["Title"] = ctx.Tr("admin.badges.details")
ctx.Data["PageIsAdminBadges"] = true
prepareBadgeInfo(ctx)
badge := prepareBadgeInfo(ctx)
if ctx.Written() {
return
}
badge := ctx.Data["Badge"].(*user_model.Badge)
opts := &user_model.GetBadgeUsersOptions{
ListOptions: db.ListOptions{
Page: 1,
@@ -143,7 +142,7 @@ func EditBadgePost(ctx *context.Context) {
return
}
form := web.GetForm(ctx).(*forms.AdminEditBadgeForm)
form := web.GetForm[*forms.AdminEditBadgeForm](ctx)
if ctx.HasError() {
ctx.JSONError(ctx.GetErrMsg())
return