mirror of
				https://gitea.com/gitea/tea.git
				synced 2025-10-31 09:15:26 +01:00 
			
		
		
		
	bump code.gitea.io/sdk/gitea from untaged to 0.11.0 (#92)
bump code.gitea.io/sdk/gitea from untaged to 0.11.0 Co-authored-by: 6543 <6543@obermui.de> Reviewed-on: https://gitea.com/gitea/tea/pulls/92 Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com> Reviewed-by: Andrew Thornton <art27@cantab.net>
This commit is contained in:
		
							
								
								
									
										26
									
								
								vendor/code.gitea.io/sdk/gitea/client.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										26
									
								
								vendor/code.gitea.io/sdk/gitea/client.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,5 @@ | ||||
| // Copyright 2014 The Gogs Authors. All rights reserved. | ||||
| // Copyright 2020 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. | ||||
|  | ||||
| @@ -12,6 +13,9 @@ import ( | ||||
| 	"io/ioutil" | ||||
| 	"net/http" | ||||
| 	"strings" | ||||
| 	"sync" | ||||
|  | ||||
| 	"github.com/hashicorp/go-version" | ||||
| ) | ||||
|  | ||||
| var jsonHeader = http.Header{"content-type": []string{"application/json"}} | ||||
| @@ -21,12 +25,16 @@ func Version() string { | ||||
| 	return "0.12.3" | ||||
| } | ||||
|  | ||||
| // Client represents a Gogs API client. | ||||
| // Client represents a Gitea API client. | ||||
| type Client struct { | ||||
| 	url         string | ||||
| 	accessToken string | ||||
| 	sudo        string | ||||
| 	client      *http.Client | ||||
| 	url           string | ||||
| 	accessToken   string | ||||
| 	username      string | ||||
| 	password      string | ||||
| 	sudo          string | ||||
| 	client        *http.Client | ||||
| 	serverVersion *version.Version | ||||
| 	versionLock   sync.RWMutex | ||||
| } | ||||
|  | ||||
| // NewClient initializes and returns a API client. | ||||
| @@ -45,6 +53,11 @@ func NewClientWithHTTP(url string, httpClient *http.Client) *Client { | ||||
| 	return client | ||||
| } | ||||
|  | ||||
| // SetBasicAuth sets basicauth | ||||
| func (c *Client) SetBasicAuth(username, password string) { | ||||
| 	c.username, c.password = username, password | ||||
| } | ||||
|  | ||||
| // SetHTTPClient replaces default http.Client with user given one. | ||||
| func (c *Client) SetHTTPClient(client *http.Client) { | ||||
| 	c.client = client | ||||
| @@ -63,6 +76,9 @@ func (c *Client) doRequest(method, path string, header http.Header, body io.Read | ||||
| 	if len(c.accessToken) != 0 { | ||||
| 		req.Header.Set("Authorization", "token "+c.accessToken) | ||||
| 	} | ||||
| 	if len(c.username) != 0 { | ||||
| 		req.SetBasicAuth(c.username, c.password) | ||||
| 	} | ||||
| 	if c.sudo != "" { | ||||
| 		req.Header.Set("Sudo", c.sudo) | ||||
| 	} | ||||
|   | ||||
							
								
								
									
										24
									
								
								vendor/code.gitea.io/sdk/gitea/git_blob.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								vendor/code.gitea.io/sdk/gitea/git_blob.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,24 @@ | ||||
| // Copyright 2020 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" | ||||
| ) | ||||
|  | ||||
| // GitBlobResponse represents a git blob | ||||
| type GitBlobResponse struct { | ||||
| 	Content  string `json:"content"` | ||||
| 	Encoding string `json:"encoding"` | ||||
| 	URL      string `json:"url"` | ||||
| 	SHA      string `json:"sha"` | ||||
| 	Size     int64  `json:"size"` | ||||
| } | ||||
|  | ||||
| // GetBlob get the blob of a repository file | ||||
| func (c *Client) GetBlob(user, repo, sha string) (*GitBlobResponse, error) { | ||||
| 	blob := new(GitBlobResponse) | ||||
| 	return blob, c.getParsedResponse("GET", fmt.Sprintf("/repos/%s/%s/git/blobs/%s", user, repo, sha), nil, nil, blob) | ||||
| } | ||||
							
								
								
									
										5
									
								
								vendor/code.gitea.io/sdk/gitea/go.mod
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								vendor/code.gitea.io/sdk/gitea/go.mod
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,3 +1,8 @@ | ||||
| module code.gitea.io/sdk/gitea | ||||
|  | ||||
| go 1.12 | ||||
|  | ||||
| require ( | ||||
| 	github.com/hashicorp/go-version v1.2.0 | ||||
| 	github.com/stretchr/testify v1.4.0 | ||||
| ) | ||||
|   | ||||
							
								
								
									
										13
									
								
								vendor/code.gitea.io/sdk/gitea/go.sum
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								vendor/code.gitea.io/sdk/gitea/go.sum
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -0,0 +1,13 @@ | ||||
| github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= | ||||
| github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= | ||||
| github.com/hashicorp/go-version v1.2.0 h1:3vNe/fWF5CBgRIguda1meWhsZHy3m8gCJ5wx+dIzX/E= | ||||
| github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= | ||||
| github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= | ||||
| github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= | ||||
| github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= | ||||
| github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= | ||||
| github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= | ||||
| gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= | ||||
| gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= | ||||
| gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= | ||||
| gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= | ||||
|   | ||||
							
								
								
									
										82
									
								
								vendor/code.gitea.io/sdk/gitea/issue.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										82
									
								
								vendor/code.gitea.io/sdk/gitea/issue.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -9,6 +9,7 @@ import ( | ||||
| 	"bytes" | ||||
| 	"encoding/json" | ||||
| 	"fmt" | ||||
| 	"net/url" | ||||
| 	"time" | ||||
| ) | ||||
|  | ||||
| @@ -44,26 +45,81 @@ type Issue struct { | ||||
|  | ||||
| // ListIssueOption list issue options | ||||
| type ListIssueOption struct { | ||||
| 	Page  int | ||||
| 	State string | ||||
| 	Page int | ||||
| 	// open, closed, all | ||||
| 	State   string | ||||
| 	Labels  []string | ||||
| 	KeyWord string | ||||
| } | ||||
|  | ||||
| // QueryEncode turns options into querystring argument | ||||
| func (opt *ListIssueOption) QueryEncode() string { | ||||
| 	query := make(url.Values) | ||||
| 	if opt.Page > 0 { | ||||
| 		query.Add("page", fmt.Sprintf("%d", opt.Page)) | ||||
| 	} | ||||
| 	if len(opt.State) > 0 { | ||||
| 		query.Add("state", opt.State) | ||||
| 	} | ||||
|  | ||||
| 	if opt.Page > 0 { | ||||
| 		query.Add("page", fmt.Sprintf("%d", opt.Page)) | ||||
| 	} | ||||
| 	if len(opt.State) > 0 { | ||||
| 		query.Add("state", opt.State) | ||||
| 	} | ||||
| 	if len(opt.Labels) > 0 { | ||||
| 		var lq string | ||||
| 		for _, l := range opt.Labels { | ||||
| 			if len(lq) > 0 { | ||||
| 				lq += "," | ||||
| 			} | ||||
| 			lq += l | ||||
| 		} | ||||
| 		query.Add("labels", lq) | ||||
| 	} | ||||
| 	if len(opt.KeyWord) > 0 { | ||||
| 		query.Add("q", opt.KeyWord) | ||||
| 	} | ||||
|  | ||||
| 	return query.Encode() | ||||
| } | ||||
|  | ||||
| // ListIssues returns all issues assigned the authenticated user | ||||
| func (c *Client) ListIssues(opt ListIssueOption) ([]*Issue, error) { | ||||
| 	link, _ := url.Parse("/repos/issues/search") | ||||
| 	issues := make([]*Issue, 0, 10) | ||||
| 	return issues, c.getParsedResponse("GET", fmt.Sprintf("/issues?page=%d", opt.Page), nil, nil, &issues) | ||||
| 	link.RawQuery = opt.QueryEncode() | ||||
| 	return issues, c.getParsedResponse("GET", link.String(), jsonHeader, nil, &issues) | ||||
| } | ||||
|  | ||||
| // ListUserIssues returns all issues assigned to the authenticated user | ||||
| func (c *Client) ListUserIssues(opt ListIssueOption) ([]*Issue, error) { | ||||
| 	// WARNING: "/user/issues" API is not implemented jet! | ||||
| 	allIssues, err := c.ListIssues(opt) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	user, err := c.GetMyUserInfo() | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	// Workaround: client sort out non user related issues | ||||
| 	issues := make([]*Issue, 0, 10) | ||||
| 	return issues, c.getParsedResponse("GET", fmt.Sprintf("/user/issues?page=%d", opt.Page), nil, nil, &issues) | ||||
| 	for _, i := range allIssues { | ||||
| 		if i.ID == user.ID { | ||||
| 			issues = append(issues, i) | ||||
| 		} | ||||
| 	} | ||||
| 	return issues, nil | ||||
| } | ||||
|  | ||||
| // ListRepoIssues returns all issues for a given repository | ||||
| func (c *Client) ListRepoIssues(owner, repo string, opt ListIssueOption) ([]*Issue, error) { | ||||
| 	link, _ := url.Parse(fmt.Sprintf("/repos/%s/%s/issues", owner, repo)) | ||||
| 	issues := make([]*Issue, 0, 10) | ||||
| 	return issues, c.getParsedResponse("GET", fmt.Sprintf("/repos/%s/%s/issues?page=%d", owner, repo, opt.Page), nil, nil, &issues) | ||||
| 	link.RawQuery = opt.QueryEncode() | ||||
| 	return issues, c.getParsedResponse("GET", link.String(), jsonHeader, nil, &issues) | ||||
| } | ||||
|  | ||||
| // GetIssue returns a single issue for a given repository | ||||
| @@ -119,19 +175,3 @@ func (c *Client) EditIssue(owner, repo string, index int64, opt EditIssueOption) | ||||
| 	return issue, c.getParsedResponse("PATCH", fmt.Sprintf("/repos/%s/%s/issues/%d", owner, repo, index), | ||||
| 		jsonHeader, bytes.NewReader(body), issue) | ||||
| } | ||||
|  | ||||
| // StartIssueStopWatch starts a stopwatch for an existing issue for a given | ||||
| // repository | ||||
| func (c *Client) StartIssueStopWatch(owner, repo string, index int64) error { | ||||
| 	_, err := c.getResponse("POST", fmt.Sprintf("/repos/%s/%s/issues/%d/stopwatch/start", owner, repo, index), | ||||
| 		jsonHeader, nil) | ||||
| 	return err | ||||
| } | ||||
|  | ||||
| // StopIssueStopWatch stops an existing stopwatch for an issue in a given | ||||
| // repository | ||||
| func (c *Client) StopIssueStopWatch(owner, repo string, index int64) error { | ||||
| 	_, err := c.getResponse("POST", fmt.Sprintf("/repos/%s/%s/issues/%d/stopwatch/stop", owner, repo, index), | ||||
| 		jsonHeader, nil) | ||||
| 	return err | ||||
| } | ||||
|   | ||||
							
								
								
									
										98
									
								
								vendor/code.gitea.io/sdk/gitea/issue_reaction.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										98
									
								
								vendor/code.gitea.io/sdk/gitea/issue_reaction.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,98 @@ | ||||
| // Copyright 2020 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 ( | ||||
| 	"bytes" | ||||
| 	"encoding/json" | ||||
| 	"fmt" | ||||
| 	"time" | ||||
| ) | ||||
|  | ||||
| // Reaction contain one reaction | ||||
| type Reaction struct { | ||||
| 	User     *User     `json:"user"` | ||||
| 	Reaction string    `json:"content"` | ||||
| 	Created  time.Time `json:"created_at"` | ||||
| } | ||||
|  | ||||
| // GetIssueReactions get a list reactions of an issue | ||||
| func (c *Client) GetIssueReactions(owner, repo string, index int64) ([]*Reaction, error) { | ||||
| 	if err := c.CheckServerVersionConstraint(">=1.11.0"); err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	reactions := make([]*Reaction, 0, 10) | ||||
| 	return reactions, c.getParsedResponse("GET", fmt.Sprintf("/repos/%s/%s/issues/%d/reactions", owner, repo, index), nil, nil, &reactions) | ||||
| } | ||||
|  | ||||
| // GetIssueCommentReactions get a list of reactions from a comment of an issue | ||||
| func (c *Client) GetIssueCommentReactions(owner, repo string, commentID int64) ([]*Reaction, error) { | ||||
| 	if err := c.CheckServerVersionConstraint(">=1.11.0"); err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	reactions := make([]*Reaction, 0, 10) | ||||
| 	return reactions, c.getParsedResponse("GET", fmt.Sprintf("/repos/%s/%s/issues/comments/%d/reactions", owner, repo, commentID), nil, nil, &reactions) | ||||
| } | ||||
|  | ||||
| // editReactionOption contain the reaction type | ||||
| type editReactionOption struct { | ||||
| 	Reaction string `json:"content"` | ||||
| } | ||||
|  | ||||
| // PostIssueReaction add a reaction to an issue | ||||
| func (c *Client) PostIssueReaction(owner, repo string, index int64, reaction string) (*Reaction, error) { | ||||
| 	if err := c.CheckServerVersionConstraint(">=1.11.0"); err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	reactionResponse := new(Reaction) | ||||
| 	body, err := json.Marshal(&editReactionOption{Reaction: reaction}) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	return reactionResponse, c.getParsedResponse("POST", fmt.Sprintf("/repos/%s/%s/issues/%d/reactions", owner, repo, index), | ||||
| 		jsonHeader, bytes.NewReader(body), reactionResponse) | ||||
| } | ||||
|  | ||||
| // DeleteIssueReaction remove a reaction from an issue | ||||
| func (c *Client) DeleteIssueReaction(owner, repo string, index int64, reaction string) error { | ||||
| 	if err := c.CheckServerVersionConstraint(">=1.11.0"); err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	body, err := json.Marshal(&editReactionOption{Reaction: reaction}) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	_, err = c.getResponse("DELETE", fmt.Sprintf("/repos/%s/%s/issues/%d/reactions", owner, repo, index), jsonHeader, bytes.NewReader(body)) | ||||
| 	return err | ||||
| } | ||||
|  | ||||
| // PostIssueCommentReaction add a reaction to a comment of an issue | ||||
| func (c *Client) PostIssueCommentReaction(owner, repo string, commentID int64, reaction string) (*Reaction, error) { | ||||
| 	if err := c.CheckServerVersionConstraint(">=1.11.0"); err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	reactionResponse := new(Reaction) | ||||
| 	body, err := json.Marshal(&editReactionOption{Reaction: reaction}) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	return reactionResponse, c.getParsedResponse("POST", fmt.Sprintf("/repos/%s/%s/issues/comments/%d/reactions", owner, repo, commentID), | ||||
| 		jsonHeader, bytes.NewReader(body), reactionResponse) | ||||
| } | ||||
|  | ||||
| // DeleteIssueCommentReaction remove a reaction from a comment of an issue | ||||
| func (c *Client) DeleteIssueCommentReaction(owner, repo string, commentID int64, reaction string) error { | ||||
| 	if err := c.CheckServerVersionConstraint(">=1.11.0"); err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	// swagger:operation DELETE /repos/{owner}/{repo}/issues/comments/{id}/reactions issue issueDeleteCommentReaction | ||||
| 	body, err := json.Marshal(&editReactionOption{Reaction: reaction}) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	_, err = c.getResponse("DELETE", fmt.Sprintf("/repos/%s/%s/issues/comments/%d/reactions", owner, repo, commentID), | ||||
| 		jsonHeader, bytes.NewReader(body)) | ||||
| 	return err | ||||
| } | ||||
							
								
								
									
										42
									
								
								vendor/code.gitea.io/sdk/gitea/issue_stopwatch.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								vendor/code.gitea.io/sdk/gitea/issue_stopwatch.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,42 @@ | ||||
| // Copyright 2020 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" | ||||
| 	"time" | ||||
| ) | ||||
|  | ||||
| // StopWatch represents a running stopwatch of an issue / pr | ||||
| type StopWatch struct { | ||||
| 	Created    time.Time `json:"created"` | ||||
| 	IssueIndex int64     `json:"issue_index"` | ||||
| } | ||||
|  | ||||
| // GetMyStopwatches list all stopwatches | ||||
| func (c *Client) GetMyStopwatches() ([]*StopWatch, error) { | ||||
| 	stopwatches := make([]*StopWatch, 0, 1) | ||||
| 	return stopwatches, c.getParsedResponse("GET", "/user/stopwatches", nil, nil, &stopwatches) | ||||
| } | ||||
|  | ||||
| // DeleteIssueStopwatch delete / cancel a specific stopwatch | ||||
| func (c *Client) DeleteIssueStopwatch(owner, repo string, index int64) error { | ||||
| 	_, err := c.getResponse("DELETE", fmt.Sprintf("/repos/%s/%s/issues/%d/stopwatch/delete", owner, repo, index), nil, nil) | ||||
| 	return err | ||||
| } | ||||
|  | ||||
| // StartIssueStopWatch starts a stopwatch for an existing issue for a given | ||||
| // repository | ||||
| func (c *Client) StartIssueStopWatch(owner, repo string, index int64) error { | ||||
| 	_, err := c.getResponse("POST", fmt.Sprintf("/repos/%s/%s/issues/%d/stopwatch/start", owner, repo, index), nil, nil) | ||||
| 	return err | ||||
| } | ||||
|  | ||||
| // StopIssueStopWatch stops an existing stopwatch for an issue in a given | ||||
| // repository | ||||
| func (c *Client) StopIssueStopWatch(owner, repo string, index int64) error { | ||||
| 	_, err := c.getResponse("POST", fmt.Sprintf("/repos/%s/%s/issues/%d/stopwatch/stop", owner, repo, index), nil, nil) | ||||
| 	return err | ||||
| } | ||||
							
								
								
									
										54
									
								
								vendor/code.gitea.io/sdk/gitea/issue_subscription.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								vendor/code.gitea.io/sdk/gitea/issue_subscription.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,54 @@ | ||||
| // Copyright 2020 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" | ||||
| ) | ||||
|  | ||||
| // GetIssueSubscribers get list of users who subscribed on an issue | ||||
| func (c *Client) GetIssueSubscribers(owner, repo string, index int64) ([]*User, error) { | ||||
| 	if err := c.CheckServerVersionConstraint(">=1.11.0"); err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	subscribers := make([]*User, 0, 10) | ||||
| 	return subscribers, c.getParsedResponse("GET", fmt.Sprintf("/repos/%s/%s/issues/%d/subscriptions", owner, repo, index), nil, nil, &subscribers) | ||||
| } | ||||
|  | ||||
| // AddIssueSubscription Subscribe user to issue | ||||
| func (c *Client) AddIssueSubscription(owner, repo string, index int64, user string) error { | ||||
| 	if err := c.CheckServerVersionConstraint(">=1.11.0"); err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	_, err := c.getResponse("PUT", fmt.Sprintf("/repos/%s/%s/issues/%d/subscriptions/%s", owner, repo, index, user), nil, nil) | ||||
| 	return err | ||||
| } | ||||
|  | ||||
| // DeleteIssueSubscription unsubscribe user from issue | ||||
| func (c *Client) DeleteIssueSubscription(owner, repo string, index int64, user string) error { | ||||
| 	if err := c.CheckServerVersionConstraint(">=1.11.0"); err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	_, err := c.getResponse("DELETE", fmt.Sprintf("/repos/%s/%s/issues/%d/subscriptions/%s", owner, repo, index, user), nil, nil) | ||||
| 	return err | ||||
| } | ||||
|  | ||||
| // IssueSubscribe subscribe current user to an issue | ||||
| func (c *Client) IssueSubscribe(owner, repo string, index int64) error { | ||||
| 	u, err := c.GetMyUserInfo() | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	return c.AddIssueSubscription(owner, repo, index, u.UserName) | ||||
| } | ||||
|  | ||||
| // IssueUnSubscribe unsubscribe current user from an issue | ||||
| func (c *Client) IssueUnSubscribe(owner, repo string, index int64) error { | ||||
| 	u, err := c.GetMyUserInfo() | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	return c.DeleteIssueSubscription(owner, repo, index, u.UserName) | ||||
| } | ||||
							
								
								
									
										20
									
								
								vendor/code.gitea.io/sdk/gitea/issue_tracked_time.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										20
									
								
								vendor/code.gitea.io/sdk/gitea/issue_tracked_time.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -37,6 +37,12 @@ func (c *Client) GetRepoTrackedTimes(owner, repo string) ([]*TrackedTime, error) | ||||
| 	return times, c.getParsedResponse("GET", fmt.Sprintf("/repos/%s/%s/times", owner, repo), nil, nil, ×) | ||||
| } | ||||
|  | ||||
| // ListTrackedTimes list tracked times of a single issue for a given repository | ||||
| func (c *Client) ListTrackedTimes(owner, repo string, index int64) ([]*TrackedTime, error) { | ||||
| 	times := make([]*TrackedTime, 0, 10) | ||||
| 	return times, c.getParsedResponse("GET", fmt.Sprintf("/repos/%s/%s/issues/%d/times", owner, repo, index), nil, nil, ×) | ||||
| } | ||||
|  | ||||
| // GetMyTrackedTimes list tracked times of the current user | ||||
| func (c *Client) GetMyTrackedTimes() ([]*TrackedTime, error) { | ||||
| 	times := make([]*TrackedTime, 0, 10) | ||||
| @@ -64,8 +70,14 @@ func (c *Client) AddTime(owner, repo string, index int64, opt AddTimeOption) (*T | ||||
| 		jsonHeader, bytes.NewReader(body), t) | ||||
| } | ||||
|  | ||||
| // ListTrackedTimes get tracked times of one issue via issue id | ||||
| func (c *Client) ListTrackedTimes(owner, repo string, index int64) ([]*TrackedTime, error) { | ||||
| 	times := make([]*TrackedTime, 0, 5) | ||||
| 	return times, c.getParsedResponse("GET", fmt.Sprintf("/repos/%s/%s/issues/%d/times", owner, repo, index), nil, nil, ×) | ||||
| // ResetIssueTime reset tracked time of a single issue for a given repository | ||||
| func (c *Client) ResetIssueTime(owner, repo string, index int64) error { | ||||
| 	_, err := c.getResponse("DELETE", fmt.Sprintf("/repos/%s/%s/issues/%d/times", owner, repo, index), nil, nil) | ||||
| 	return err | ||||
| } | ||||
|  | ||||
| // DeleteTime delete a specific tracked time by id of a single issue for a given repository | ||||
| func (c *Client) DeleteTime(owner, repo string, index, timeID int64) error { | ||||
| 	_, err := c.getResponse("DELETE", fmt.Sprintf("/repos/%s/%s/issues/%d/times/%d", owner, repo, index, timeID), nil, nil) | ||||
| 	return err | ||||
| } | ||||
|   | ||||
							
								
								
									
										13
									
								
								vendor/code.gitea.io/sdk/gitea/miscellaneous.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								vendor/code.gitea.io/sdk/gitea/miscellaneous.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,13 +0,0 @@ | ||||
| // Copyright 2015 The Gogs 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 | ||||
|  | ||||
| // ServerVersion returns the version of the server | ||||
| func (c *Client) ServerVersion() (string, error) { | ||||
| 	var v = struct { | ||||
| 		Version string `json:"version"` | ||||
| 	}{} | ||||
| 	return v.Version, c.getParsedResponse("GET", "/version", nil, nil, &v) | ||||
| } | ||||
							
								
								
									
										31
									
								
								vendor/code.gitea.io/sdk/gitea/pull.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										31
									
								
								vendor/code.gitea.io/sdk/gitea/pull.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -9,6 +9,7 @@ import ( | ||||
| 	"bytes" | ||||
| 	"encoding/json" | ||||
| 	"fmt" | ||||
| 	"net/url" | ||||
| 	"time" | ||||
| ) | ||||
|  | ||||
| @@ -58,18 +59,36 @@ type PullRequest struct { | ||||
|  | ||||
| // ListPullRequestsOptions options for listing pull requests | ||||
| type ListPullRequestsOptions struct { | ||||
| 	Page  int    `json:"page"` | ||||
| 	Page int `json:"page"` | ||||
| 	// open, closed, all | ||||
| 	State string `json:"state"` | ||||
| 	// oldest, recentupdate, leastupdate, mostcomment, leastcomment, priority | ||||
| 	Sort      string `json:"sort"` | ||||
| 	Milestone int64  `json:"milestone"` | ||||
| } | ||||
|  | ||||
| // ListRepoPullRequests list PRs of one repository | ||||
| func (c *Client) ListRepoPullRequests(owner, repo string, opt ListPullRequestsOptions) ([]*PullRequest, error) { | ||||
| 	body, err := json.Marshal(&opt) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	// declare variables | ||||
| 	link, _ := url.Parse(fmt.Sprintf("/repos/%s/%s/pulls", owner, repo)) | ||||
| 	prs := make([]*PullRequest, 0, 10) | ||||
| 	return prs, c.getParsedResponse("GET", fmt.Sprintf("/repos/%s/%s/pulls", owner, repo), jsonHeader, bytes.NewReader(body), &prs) | ||||
| 	query := make(url.Values) | ||||
| 	// add options to query | ||||
| 	if opt.Page > 0 { | ||||
| 		query.Add("page", fmt.Sprintf("%d", opt.Page)) | ||||
| 	} | ||||
| 	if len(opt.State) > 0 { | ||||
| 		query.Add("state", opt.State) | ||||
| 	} | ||||
| 	if len(opt.Sort) > 0 { | ||||
| 		query.Add("sort", opt.Sort) | ||||
| 	} | ||||
| 	if opt.Milestone > 0 { | ||||
| 		query.Add("milestone", fmt.Sprintf("%d", opt.Milestone)) | ||||
| 	} | ||||
| 	link.RawQuery = query.Encode() | ||||
| 	// request | ||||
| 	return prs, c.getParsedResponse("GET", link.String(), jsonHeader, nil, &prs) | ||||
| } | ||||
|  | ||||
| // GetPullRequest get information of one PR | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/code.gitea.io/sdk/gitea/repo_topics.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/code.gitea.io/sdk/gitea/repo_topics.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | ||||
| // Copyright 2016 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. | ||||
|  | ||||
|   | ||||
							
								
								
									
										57
									
								
								vendor/code.gitea.io/sdk/gitea/version.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								vendor/code.gitea.io/sdk/gitea/version.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,57 @@ | ||||
| // Copyright 2020 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" | ||||
|  | ||||
| 	"github.com/hashicorp/go-version" | ||||
| ) | ||||
|  | ||||
| // ServerVersion returns the version of the server | ||||
| func (c *Client) ServerVersion() (string, error) { | ||||
| 	var v = struct { | ||||
| 		Version string `json:"version"` | ||||
| 	}{} | ||||
| 	return v.Version, c.getParsedResponse("GET", "/version", nil, nil, &v) | ||||
| } | ||||
|  | ||||
| // CheckServerVersionConstraint validates that the login's server satisfies a | ||||
| // given version constraint such as ">= 1.11.0+dev" | ||||
| func (c *Client) CheckServerVersionConstraint(constraint string) error { | ||||
| 	c.versionLock.RLock() | ||||
| 	if c.serverVersion == nil { | ||||
| 		c.versionLock.RUnlock() | ||||
| 		if err := c.loadClientServerVersion(); err != nil { | ||||
| 			return err | ||||
| 		} | ||||
| 	} else { | ||||
| 		c.versionLock.RUnlock() | ||||
| 	} | ||||
|  | ||||
| 	check, err := version.NewConstraint(constraint) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	if !check.Check(c.serverVersion) { | ||||
| 		return fmt.Errorf("gitea server at %s does not satisfy version constraint %s", c.url, constraint) | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| // loadClientServerVersion init the serverVersion variable | ||||
| func (c *Client) loadClientServerVersion() error { | ||||
| 	c.versionLock.Lock() | ||||
| 	defer c.versionLock.Unlock() | ||||
|  | ||||
| 	raw, err := c.ServerVersion() | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	if c.serverVersion, err = version.NewVersion(raw); err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
		Reference in New Issue
	
	Block a user
	 6543
					6543