mirror of
https://gitea.com/gitea/tea.git
synced 2026-10-26 19:11:25 +01:00
refactor: drop the URL-based error classifier and hint lookups
Errors are named by the service call that failed: Classify, NotFoundError and ConflictError at the call site. Remove the endpoint parser that guessed the resource from the request path, and the follow-up reads the explainer made at error time (repository state, issue-vs-pull-request, the existing pull request's URL) together with the credentialed transport each API error carried for them. Calls that the endpoint parser covered and the services did not now classify themselves: issues, pull requests, reviews, comments, releases, branches, wiki pages, repositories, organizations and SSH keys. Unclassified failures fall back to the generic "not found (HTTP 404 GET ...)" text. Signed-off-by: bircni <bircni@icloud.com>
This commit is contained in:
20 files changed
+129
-495
No files matched your search
@@ -93,9 +93,10 @@ func (s Repositories) View(ctx context.Context, repo string) (Repository, error)
|
||||
}
|
||||
|
||||
func (s Repositories) get(ctx context.Context, repo string) (*gitea.Repository, error) {
|
||||
return repoCall(ctx, s.Client, repo, func(ctx context.Context, c *gitea.Client, owner, name string) (*gitea.Repository, *gitea.Response, error) {
|
||||
item, err := repoCall(ctx, s.Client, repo, func(ctx context.Context, c *gitea.Client, owner, name string) (*gitea.Repository, *gitea.Response, error) {
|
||||
return c.Repositories.GetRepo(ctx, owner, name)
|
||||
})
|
||||
return item, Classify(err, "repository", repo, "")
|
||||
}
|
||||
|
||||
// readmeNames are the README file names that Gitea shows, in order of preference.
|
||||
@@ -195,7 +196,7 @@ func (s Repositories) Create(ctx context.Context, org string, opts RepositoryOpt
|
||||
return c.Repositories.CreateRepo(ctx, options)
|
||||
})
|
||||
if err != nil {
|
||||
return Repository{}, err
|
||||
return Repository{}, Classify(err, "repository", "", "")
|
||||
}
|
||||
return repositoryFrom(item), nil
|
||||
}
|
||||
@@ -207,7 +208,7 @@ func (s Repositories) Edit(ctx context.Context, repo string, opts RepositoryEdit
|
||||
style := gitea.MergeStyle(*opts.MergeStyle)
|
||||
mergeStyle = &style
|
||||
}
|
||||
return repoConvert(ctx, s.Client, repo, repositoryFrom, func(ctx context.Context, c *gitea.Client, owner, name string) (*gitea.Repository, *gitea.Response, error) {
|
||||
item, err := repoConvert(ctx, s.Client, repo, repositoryFrom, func(ctx context.Context, c *gitea.Client, owner, name string) (*gitea.Repository, *gitea.Response, error) {
|
||||
return c.Repositories.EditRepo(ctx, owner, name, gitea.EditRepoOption{
|
||||
HasActions: opts.ActionsEnabled, Name: opts.Name, Website: opts.Website, DefaultBranch: opts.DefaultBranch,
|
||||
Description: opts.Description, Private: opts.Private, Archived: opts.Archived, Template: opts.Template,
|
||||
@@ -216,6 +217,7 @@ func (s Repositories) Edit(ctx context.Context, repo string, opts RepositoryEdit
|
||||
DefaultDeleteBranchAfterMerge: opts.DeleteBranch,
|
||||
})
|
||||
})
|
||||
return item, Classify(err, "repository", repo, "")
|
||||
}
|
||||
|
||||
// AddTopic adds a topic to the repository.
|
||||
@@ -234,9 +236,10 @@ func (s Repositories) RemoveTopic(ctx context.Context, repo, topic string) error
|
||||
|
||||
// Delete removes the selected repository.
|
||||
func (s Repositories) Delete(ctx context.Context, repo string) error {
|
||||
return repoDo(ctx, s.Client, repo, func(ctx context.Context, c *gitea.Client, owner, name string) (*gitea.Response, error) {
|
||||
err := repoDo(ctx, s.Client, repo, func(ctx context.Context, c *gitea.Client, owner, name string) (*gitea.Response, error) {
|
||||
return c.Repositories.DeleteRepo(ctx, owner, name)
|
||||
})
|
||||
return Classify(err, "repository", repo, "")
|
||||
}
|
||||
|
||||
// ForkOptions places a fork: under Organization instead of the account, and named Name instead
|
||||
|
||||
Reference in new issue
Block a user