diff options
author | Lauris BH <lauris@nix.lv> | 2019-01-30 18:33:00 +0200 |
---|---|---|
committer | techknowlogick <matti@mdranta.net> | 2019-01-30 11:33:00 -0500 |
commit | fada6968a847f628a6d32ac546e1228838809498 (patch) | |
tree | b0f8c8cd14a5c6e7bbffbc170e52527865a58462 /vendor/code.gitea.io | |
parent | 8b5f6ced22d510a399bf304915ad77c61d6ce7b3 (diff) | |
download | gitea-fada6968a847f628a6d32ac546e1228838809498.tar.gz gitea-fada6968a847f628a6d32ac546e1228838809498.zip |
Fix new release creation API to allow empty target (#5870)
* Fix new release creation API to allow empty target
* Add more test cases
* Update swagger
Diffstat (limited to 'vendor/code.gitea.io')
-rw-r--r-- | vendor/code.gitea.io/sdk/gitea/gitea.go | 6 | ||||
-rw-r--r-- | vendor/code.gitea.io/sdk/gitea/hook.go | 3 | ||||
-rw-r--r-- | vendor/code.gitea.io/sdk/gitea/release.go | 2 | ||||
-rw-r--r-- | vendor/code.gitea.io/sdk/gitea/repo_commit.go | 48 | ||||
-rw-r--r-- | vendor/code.gitea.io/sdk/gitea/repo_tag.go | 26 |
5 files changed, 83 insertions, 2 deletions
diff --git a/vendor/code.gitea.io/sdk/gitea/gitea.go b/vendor/code.gitea.io/sdk/gitea/gitea.go index 374a3faa96..a5509b2aba 100644 --- a/vendor/code.gitea.io/sdk/gitea/gitea.go +++ b/vendor/code.gitea.io/sdk/gitea/gitea.go @@ -70,6 +70,8 @@ func (c *Client) getResponse(method, path string, header http.Header, body io.Re return nil, errors.New("403 Forbidden") case 404: return nil, errors.New("404 Not Found") + case 409: + return nil, errors.New("409 Conflict") case 422: return nil, fmt.Errorf("422 Unprocessable Entity: %s", string(data)) } @@ -77,7 +79,9 @@ func (c *Client) getResponse(method, path string, header http.Header, body io.Re if resp.StatusCode/100 != 2 { errMap := make(map[string]interface{}) if err = json.Unmarshal(data, &errMap); err != nil { - return nil, err + // when the JSON can't be parsed, data was probably empty or a plain string, + // so we try to return a helpful error anyway + return nil, fmt.Errorf("Unknown API Error: %d %s", resp.StatusCode, string(data)) } return nil, errors.New(errMap["message"].(string)) } diff --git a/vendor/code.gitea.io/sdk/gitea/hook.go b/vendor/code.gitea.io/sdk/gitea/hook.go index ee6e2b79d5..d36e4d4375 100644 --- a/vendor/code.gitea.io/sdk/gitea/hook.go +++ b/vendor/code.gitea.io/sdk/gitea/hook.go @@ -160,6 +160,9 @@ type PayloadCommit struct { Verification *PayloadCommitVerification `json:"verification"` // swagger:strfmt date-time Timestamp time.Time `json:"timestamp"` + Added []string `json:"added"` + Removed []string `json:"removed"` + Modified []string `json:"modified"` } // PayloadCommitVerification represents the GPG verification of a commit diff --git a/vendor/code.gitea.io/sdk/gitea/release.go b/vendor/code.gitea.io/sdk/gitea/release.go index 3605d2cd4a..396251dcac 100644 --- a/vendor/code.gitea.io/sdk/gitea/release.go +++ b/vendor/code.gitea.io/sdk/gitea/release.go @@ -53,7 +53,7 @@ func (c *Client) GetRelease(user, repo string, id int64) (*Release, error) { type CreateReleaseOption struct { // required: true TagName string `json:"tag_name" binding:"Required"` - Target string `json:"target_commitish" binding:"Required"` + Target string `json:"target_commitish"` Title string `json:"name"` Note string `json:"body"` IsDraft bool `json:"draft"` diff --git a/vendor/code.gitea.io/sdk/gitea/repo_commit.go b/vendor/code.gitea.io/sdk/gitea/repo_commit.go new file mode 100644 index 0000000000..2954f9fc1c --- /dev/null +++ b/vendor/code.gitea.io/sdk/gitea/repo_commit.go @@ -0,0 +1,48 @@ +// Copyright 2018 The Gogs Authors. All rights reserved. +// Copyright 2019 The Gitea Authors. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +package gitea + +import ( + "fmt" +) + +// CommitMeta contains meta information of a commit in terms of API. +type CommitMeta struct { + URL string `json:"url"` + SHA string `json:"sha"` +} + +// CommitUser contains information of a user in the context of a commit. +type CommitUser struct { + Name string `json:"name"` + Email string `json:"email"` + Date string `json:"date"` +} + +// RepoCommit contains information of a commit in the context of a repository. +type RepoCommit struct { + URL string `json:"url"` + Author *CommitUser `json:"author"` + Committer *CommitUser `json:"committer"` + Message string `json:"message"` + Tree *CommitMeta `json:"tree"` +} + +// Commit contains information generated from a Git commit. +type Commit struct { + *CommitMeta + HTMLURL string `json:"html_url"` + RepoCommit *RepoCommit `json:"commit"` + Author *User `json:"author"` + Committer *User `json:"committer"` + Parents []*CommitMeta `json:"parents"` +} + +// GetSingleCommit returns a single commit +func (c *Client) GetSingleCommit(user, repo, commitID string) (*Commit, error) { + commit := new(Commit) + return commit, c.getParsedResponse("GET", fmt.Sprintf("/repos/%s/%s/commits/%s", user, repo, commitID), nil, nil, &commit) +} diff --git a/vendor/code.gitea.io/sdk/gitea/repo_tag.go b/vendor/code.gitea.io/sdk/gitea/repo_tag.go new file mode 100644 index 0000000000..27efe8da2e --- /dev/null +++ b/vendor/code.gitea.io/sdk/gitea/repo_tag.go @@ -0,0 +1,26 @@ +// Copyright 2019 The Gitea Authors. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +package gitea + +import ( + "fmt" +) + +// Tag represents a repository tag +type Tag struct { + Name string `json:"name"` + Commit struct { + SHA string `json:"sha"` + URL string `json:"url"` + } `json:"commit"` + ZipballURL string `json:"zipball_url"` + TarballURL string `json:"tarball_url"` +} + +// ListRepoTags list all the branches of one repository +func (c *Client) ListRepoTags(user, repo string) ([]*Tag, error) { + tags := make([]*Tag, 0, 10) + return tags, c.getParsedResponse("GET", fmt.Sprintf("/repos/%s/%s/tags", user, repo), nil, nil, &tags) +} |