mirror of
https://gitea.com/gitea/tea.git
synced 2026-10-26 19:11:25 +01:00
refactor: reuse the existing service and rendering helpers
services.IsNotFound replaces the hand-rolled 404 checks, convertPage the copied page conversions and lastPathNumber the comment's own number parser. The List wrappers around ListPage of releases, branches, wiki pages, secrets and variables go, pull request filters resolve milestones through Milestones.FindOne like issues, and localFlagsChanged, boolOrder, Cell.Render, stateBadge and dueText replace their copies. Signed-off-by: bircni <bircni@icloud.com>
This commit is contained in:
33 files changed
+85
-212
No files matched your search
@@ -39,13 +39,7 @@ func branchFrom(branch *gitea.Branch) Branch {
|
||||
// Branches operates on remote branches and protection rules.
|
||||
type Branches struct{ Client *transport.Client }
|
||||
|
||||
// List returns a page of remote branches.
|
||||
func (s Branches) List(ctx context.Context, repo string, limit, page int) ([]Branch, error) {
|
||||
window, err := s.ListPage(ctx, repo, limit, page)
|
||||
return window.Items, err
|
||||
}
|
||||
|
||||
// ListPage is List that also reports whether more branches follow and how many there are.
|
||||
// ListPage lists a page of branches, with whether more follow and how many there are.
|
||||
func (s Branches) ListPage(ctx context.Context, repo string, limit, page int) (Page[Branch], error) {
|
||||
window, err := listPage(limit, page, func(limit, page int) ([]*gitea.Branch, http.Header, error) {
|
||||
var headers http.Header
|
||||
@@ -59,7 +53,7 @@ func (s Branches) ListPage(ctx context.Context, repo string, limit, page int) (P
|
||||
if err != nil {
|
||||
return Page[Branch]{}, err
|
||||
}
|
||||
return Page[Branch]{Items: convertAll(window.Items, branchFrom), More: window.More, Total: window.Total, Counted: window.Counted}, nil
|
||||
return convertPage(window, branchFrom), nil
|
||||
}
|
||||
|
||||
// View retrieves a remote branch.
|
||||
@@ -143,7 +137,7 @@ func (s Branches) Unprotect(ctx context.Context, repo, rule string) (bool, error
|
||||
err := repoDo(ctx, s.Client, repo, func(ctx context.Context, c *gitea.Client, owner, name string) (*gitea.Response, error) {
|
||||
return c.Repositories.DeleteBranchProtection(ctx, owner, name, rule)
|
||||
})
|
||||
if apiErr, ok := errors.AsType[*transport.APIError](err); ok && apiErr.Status == http.StatusNotFound {
|
||||
if IsNotFound(err) {
|
||||
if _, err := (Repositories{Client: s.Client}).get(ctx, repo); err != nil {
|
||||
return false, err
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user