mirror of
https://github.com/go-gitea/gitea.git
synced 2026-09-08 22:13:26 +09:00
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:
@@ -404,7 +404,7 @@ func CreatePullRequest(ctx *context.APIContext) {
|
||||
// "423":
|
||||
// "$ref": "#/responses/repoArchivedError"
|
||||
|
||||
form := *web.GetForm(ctx).(*api.CreatePullRequestOption)
|
||||
form := *web.GetForm[*api.CreatePullRequestOption](ctx)
|
||||
if form.Head == form.Base {
|
||||
ctx.APIError(http.StatusUnprocessableEntity, "Invalid PullRequest: There are no changes between the head and the base")
|
||||
return
|
||||
@@ -628,7 +628,7 @@ func EditPullRequest(ctx *context.APIContext) {
|
||||
// "422":
|
||||
// "$ref": "#/responses/validationError"
|
||||
|
||||
form := web.GetForm(ctx).(*api.EditPullRequestOption)
|
||||
form := web.GetForm[*api.EditPullRequestOption](ctx)
|
||||
pr, err := issues_model.GetPullRequestByIndex(ctx, ctx.Repo.Repository.ID, ctx.PathParamInt64("index"))
|
||||
if err != nil {
|
||||
if issues_model.IsErrPullRequestNotExist(err) {
|
||||
@@ -922,7 +922,7 @@ func MergePullRequest(ctx *context.APIContext) {
|
||||
// "423":
|
||||
// "$ref": "#/responses/repoArchivedError"
|
||||
|
||||
form := web.GetForm(ctx).(*forms.MergePullRequestForm)
|
||||
form := web.GetForm[*forms.MergePullRequestForm](ctx)
|
||||
|
||||
pr, err := issues_model.GetPullRequestByIndex(ctx, ctx.Repo.Repository.ID, ctx.PathParamInt64("index"))
|
||||
if err != nil {
|
||||
@@ -1044,21 +1044,17 @@ func MergePullRequest(ctx *context.APIContext) {
|
||||
if err := pull_service.Merge(ctx, pr, ctx.Doer, repo_model.MergeStyle(form.Do), form.HeadCommitID, message, false); err != nil {
|
||||
if pull_service.IsErrInvalidMergeStyle(err) {
|
||||
ctx.APIError(http.StatusMethodNotAllowed, fmt.Sprintf("%s is not allowed an allowed merge style for this repository", repo_model.MergeStyle(form.Do)))
|
||||
} else if pull_service.IsErrMergeConflicts(err) {
|
||||
conflictError := err.(pull_service.ErrMergeConflicts)
|
||||
} else if conflictError, ok := err.(pull_service.ErrMergeConflicts); ok {
|
||||
ctx.JSON(http.StatusConflict, conflictError)
|
||||
} else if pull_service.IsErrRebaseConflicts(err) {
|
||||
conflictError := err.(pull_service.ErrRebaseConflicts)
|
||||
} else if conflictError, ok := err.(pull_service.ErrRebaseConflicts); ok {
|
||||
ctx.JSON(http.StatusConflict, conflictError)
|
||||
} else if pull_service.IsErrMergeUnrelatedHistories(err) {
|
||||
conflictError := err.(pull_service.ErrMergeUnrelatedHistories)
|
||||
} else if conflictError, ok := err.(pull_service.ErrMergeUnrelatedHistories); ok {
|
||||
ctx.JSON(http.StatusConflict, conflictError)
|
||||
} else if git.IsErrPushOutOfDate(err) {
|
||||
ctx.APIError(http.StatusConflict, "merge push out of date")
|
||||
} else if pull_service.IsErrSHADoesNotMatch(err) {
|
||||
ctx.APIError(http.StatusConflict, "head out of date")
|
||||
} else if git.IsErrPushRejected(err) {
|
||||
errPushRej := err.(*git.ErrPushRejected)
|
||||
} else if errPushRej, ok := err.(*git.ErrPushRejected); ok {
|
||||
if len(errPushRej.Message) == 0 {
|
||||
ctx.APIError(http.StatusConflict, "PushRejected without remote error message")
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user