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
+1 -1
View File
@@ -39,7 +39,7 @@ func ListCronTasks(ctx *context.APIContext) {
count := len(tasks)
listOpts := utils.GetListOptions(ctx)
tasks = util.PaginateSlice(tasks, listOpts.Page, listOpts.PageSize).(cron.TaskTable)
tasks = util.PaginateSlice(tasks, listOpts.Page, listOpts.PageSize)
res := make([]structs.Cron, len(tasks))
for i, task := range tasks {
+2 -2
View File
@@ -137,7 +137,7 @@ func CreateHook(ctx *context.APIContext) {
// "201":
// "$ref": "#/responses/Hook"
form := web.GetForm(ctx).(*api.CreateHookOption)
form := web.GetForm[*api.CreateHookOption](ctx)
utils.AddSystemHook(ctx, form)
}
@@ -166,7 +166,7 @@ func EditHook(ctx *context.APIContext) {
// "200":
// "$ref": "#/responses/Hook"
form := web.GetForm(ctx).(*api.EditHookOption)
form := web.GetForm[*api.EditHookOption](ctx)
// TODO in body params
hookID := ctx.PathParamInt64("id")
+1 -1
View File
@@ -44,7 +44,7 @@ func CreateOrg(ctx *context.APIContext) {
// "422":
// "$ref": "#/responses/validationError"
form := web.GetForm(ctx).(*api.CreateOrgOption)
form := web.GetForm[*api.CreateOrgOption](ctx)
visibility := api.VisibleTypePublic
if form.Visibility != "" {
+1 -1
View File
@@ -43,7 +43,7 @@ func CreateRepo(ctx *context.APIContext) {
// "422":
// "$ref": "#/responses/validationError"
form := web.GetForm(ctx).(*api.CreateRepoOption)
form := web.GetForm[*api.CreateRepoOption](ctx)
repo.CreateUserRepo(ctx, ctx.ContextUser, *form)
}
+4 -4
View File
@@ -75,7 +75,7 @@ func CreateUser(ctx *context.APIContext) {
// "422":
// "$ref": "#/responses/validationError"
form := web.GetForm(ctx).(*api.CreateUserOption)
form := web.GetForm[*api.CreateUserOption](ctx)
u := &user_model.User{
Name: form.Username,
@@ -190,7 +190,7 @@ func EditUser(ctx *context.APIContext) {
// "422":
// "$ref": "#/responses/validationError"
form := web.GetForm(ctx).(*api.EditUserOption)
form := web.GetForm[*api.EditUserOption](ctx)
authOpts := &user_service.UpdateAuthOptions{
LoginSource: optional.FromNonDefault(form.SourceID),
@@ -340,7 +340,7 @@ func CreatePublicKey(ctx *context.APIContext) {
// "422":
// "$ref": "#/responses/validationError"
form := web.GetForm(ctx).(*api.CreateKeyOption)
form := web.GetForm[*api.CreateKeyOption](ctx)
user.CreateUserPublicKey(ctx, *form, ctx.ContextUser.ID)
}
@@ -551,7 +551,7 @@ func RenameUser(ctx *context.APIContext) {
return
}
newName := web.GetForm(ctx).(*api.RenameUserOption).NewName
newName := web.GetForm[*api.RenameUserOption](ctx).NewName
// Check if username has been changed
if err := user_service.RenameUser(ctx, ctx.ContextUser, newName, ctx.Doer); err != nil {
+2 -2
View File
@@ -66,7 +66,7 @@ func AddUserBadges(ctx *context.APIContext) {
// "403":
// "$ref": "#/responses/forbidden"
form := web.GetForm(ctx).(*api.UserBadgeOption)
form := web.GetForm[*api.UserBadgeOption](ctx)
badges := prepareBadgesForReplaceOrAdd(*form)
if err := user_model.AddUserBadges(ctx, ctx.ContextUser, badges); err != nil {
@@ -102,7 +102,7 @@ func DeleteUserBadges(ctx *context.APIContext) {
// "422":
// "$ref": "#/responses/validationError"
form := web.GetForm(ctx).(*api.UserBadgeOption)
form := web.GetForm[*api.UserBadgeOption](ctx)
badges := prepareBadgesForReplaceOrAdd(*form)
if err := user_model.RemoveUserBadges(ctx, ctx.ContextUser, badges); err != nil {