mirror of
https://gitea.com/gitea/tea.git
synced 2026-04-05 16:03:32 +02:00
* Use stdlib encoders * Reduce some duplication * Remove global pagination state * Dedupe JSON detail types * Bump golangci-lint Reviewed-on: https://gitea.com/gitea/tea/pulls/941 Co-authored-by: techknowlogick <techknowlogick@gitea.com> Co-committed-by: techknowlogick <techknowlogick@gitea.com>
51 lines
1.1 KiB
Go
51 lines
1.1 KiB
Go
// Copyright 2020 The Gitea Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package pulls
|
|
|
|
import (
|
|
stdctx "context"
|
|
"fmt"
|
|
|
|
"code.gitea.io/tea/modules/context"
|
|
"code.gitea.io/tea/modules/print"
|
|
"code.gitea.io/tea/modules/utils"
|
|
|
|
"code.gitea.io/sdk/gitea"
|
|
"github.com/urfave/cli/v3"
|
|
)
|
|
|
|
// editPullState abstracts the arg parsing to edit the given pull request
|
|
func editPullState(_ stdctx.Context, cmd *cli.Command, opts gitea.EditPullRequestOption) error {
|
|
ctx, err := context.InitCommand(cmd)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if err := ctx.Ensure(context.CtxRequirement{RemoteRepo: true}); err != nil {
|
|
return err
|
|
}
|
|
if ctx.Args().Len() == 0 {
|
|
return fmt.Errorf("pull request index is required")
|
|
}
|
|
|
|
indices, err := utils.ArgsToIndices(ctx.Args().Slice())
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
client := ctx.Login.Client()
|
|
for _, index := range indices {
|
|
pr, _, err := client.EditPullRequest(ctx.Owner, ctx.Repo, index, opts)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
if len(indices) > 1 {
|
|
fmt.Println(pr.HTMLURL)
|
|
} else {
|
|
print.PullDetails(pr, nil, nil)
|
|
}
|
|
}
|
|
return nil
|
|
}
|