mirror of
				https://gitea.com/gitea/tea.git
				synced 2025-10-31 09:15:26 +01:00 
			
		
		
		
	Update Vendors (#337)
* update & migrate gitea sdk (Fix Delete Tag Issue) * upgraded github.com/AlecAivazis/survey v2.2.7 => v2.2.8 * upgraded github.com/adrg/xdg v0.2.3 => v0.3.1 * upgraded github.com/araddon/dateparse * upgraded github.com/olekukonko/tablewriter v0.0.4 => v0.0.5 * upgraded gopkg.in/yaml.v2 v2.3.0 => v2.4.0 Reviewed-on: https://gitea.com/gitea/tea/pulls/337 Reviewed-by: Norwin <noerw@noreply.gitea.io> Reviewed-by: khmarbaise <khmarbaise@noreply.gitea.io> Co-authored-by: 6543 <6543@obermui.de> Co-committed-by: 6543 <6543@obermui.de>
This commit is contained in:
		
							
								
								
									
										30
									
								
								vendor/code.gitea.io/sdk/gitea/admin_user.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										30
									
								
								vendor/code.gitea.io/sdk/gitea/admin_user.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -63,21 +63,21 @@ func (c *Client) AdminCreateUser(opt CreateUserOption) (*User, *Response, error) | ||||
|  | ||||
| // EditUserOption edit user options | ||||
| type EditUserOption struct { | ||||
| 	SourceID                int64  `json:"source_id"` | ||||
| 	LoginName               string `json:"login_name"` | ||||
| 	FullName                string `json:"full_name"` | ||||
| 	Email                   string `json:"email"` | ||||
| 	Password                string `json:"password"` | ||||
| 	MustChangePassword      *bool  `json:"must_change_password"` | ||||
| 	Website                 string `json:"website"` | ||||
| 	Location                string `json:"location"` | ||||
| 	Active                  *bool  `json:"active"` | ||||
| 	Admin                   *bool  `json:"admin"` | ||||
| 	AllowGitHook            *bool  `json:"allow_git_hook"` | ||||
| 	AllowImportLocal        *bool  `json:"allow_import_local"` | ||||
| 	MaxRepoCreation         *int   `json:"max_repo_creation"` | ||||
| 	ProhibitLogin           *bool  `json:"prohibit_login"` | ||||
| 	AllowCreateOrganization *bool  `json:"allow_create_organization"` | ||||
| 	SourceID                int64   `json:"source_id"` | ||||
| 	LoginName               string  `json:"login_name"` | ||||
| 	Email                   *string `json:"email"` | ||||
| 	FullName                *string `json:"full_name"` | ||||
| 	Password                string  `json:"password"` | ||||
| 	MustChangePassword      *bool   `json:"must_change_password"` | ||||
| 	Website                 *string `json:"website"` | ||||
| 	Location                *string `json:"location"` | ||||
| 	Active                  *bool   `json:"active"` | ||||
| 	Admin                   *bool   `json:"admin"` | ||||
| 	AllowGitHook            *bool   `json:"allow_git_hook"` | ||||
| 	AllowImportLocal        *bool   `json:"allow_import_local"` | ||||
| 	MaxRepoCreation         *int    `json:"max_repo_creation"` | ||||
| 	ProhibitLogin           *bool   `json:"prohibit_login"` | ||||
| 	AllowCreateOrganization *bool   `json:"allow_create_organization"` | ||||
| } | ||||
|  | ||||
| // AdminEditUser modify user informations | ||||
|   | ||||
							
								
								
									
										128
									
								
								vendor/code.gitea.io/sdk/gitea/client.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										128
									
								
								vendor/code.gitea.io/sdk/gitea/client.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -26,7 +26,7 @@ func Version() string { | ||||
| 	return "0.14.0" | ||||
| } | ||||
|  | ||||
| // Client represents a Gitea API client. | ||||
| // Client represents a thread-safe Gitea API client. | ||||
| type Client struct { | ||||
| 	url            string | ||||
| 	accessToken    string | ||||
| @@ -37,6 +37,7 @@ type Client struct { | ||||
| 	debug          bool | ||||
| 	client         *http.Client | ||||
| 	ctx            context.Context | ||||
| 	mutex          sync.RWMutex | ||||
| 	serverVersion  *version.Version | ||||
| 	getVersionOnce sync.Once | ||||
| } | ||||
| @@ -47,6 +48,7 @@ type Response struct { | ||||
| } | ||||
|  | ||||
| // NewClient initializes and returns a API client. | ||||
| // Usage of all gitea.Client methods is concurrency-safe. | ||||
| func NewClient(url string, options ...func(*Client)) (*Client, error) { | ||||
| 	client := &Client{ | ||||
| 		url:    strings.TrimSuffix(url, "/"), | ||||
| @@ -72,14 +74,23 @@ func NewClientWithHTTP(url string, httpClient *http.Client) *Client { | ||||
| // SetHTTPClient is an option for NewClient to set custom http client | ||||
| func SetHTTPClient(httpClient *http.Client) func(client *Client) { | ||||
| 	return func(client *Client) { | ||||
| 		client.client = httpClient | ||||
| 		client.SetHTTPClient(httpClient) | ||||
| 	} | ||||
| } | ||||
|  | ||||
| // SetHTTPClient replaces default http.Client with user given one. | ||||
| func (c *Client) SetHTTPClient(client *http.Client) { | ||||
| 	c.mutex.Lock() | ||||
| 	c.client = client | ||||
| 	c.mutex.Unlock() | ||||
| } | ||||
|  | ||||
| // SetToken is an option for NewClient to set token | ||||
| func SetToken(token string) func(client *Client) { | ||||
| 	return func(client *Client) { | ||||
| 		client.mutex.Lock() | ||||
| 		client.accessToken = token | ||||
| 		client.mutex.Unlock() | ||||
| 	} | ||||
| } | ||||
|  | ||||
| @@ -92,7 +103,9 @@ func SetBasicAuth(username, password string) func(client *Client) { | ||||
|  | ||||
| // SetBasicAuth sets username and password | ||||
| func (c *Client) SetBasicAuth(username, password string) { | ||||
| 	c.mutex.Lock() | ||||
| 	c.username, c.password = username, password | ||||
| 	c.mutex.Unlock() | ||||
| } | ||||
|  | ||||
| // SetOTP is an option for NewClient to set OTP for 2FA | ||||
| @@ -104,7 +117,9 @@ func SetOTP(otp string) func(client *Client) { | ||||
|  | ||||
| // SetOTP sets OTP for 2FA | ||||
| func (c *Client) SetOTP(otp string) { | ||||
| 	c.mutex.Lock() | ||||
| 	c.otp = otp | ||||
| 	c.mutex.Unlock() | ||||
| } | ||||
|  | ||||
| // SetContext is an option for NewClient to set context | ||||
| @@ -116,12 +131,9 @@ func SetContext(ctx context.Context) func(client *Client) { | ||||
|  | ||||
| // SetContext set context witch is used for http requests | ||||
| func (c *Client) SetContext(ctx context.Context) { | ||||
| 	c.mutex.Lock() | ||||
| 	c.ctx = ctx | ||||
| } | ||||
|  | ||||
| // SetHTTPClient replaces default http.Client with user given one. | ||||
| func (c *Client) SetHTTPClient(client *http.Client) { | ||||
| 	c.client = client | ||||
| 	c.mutex.Unlock() | ||||
| } | ||||
|  | ||||
| // SetSudo is an option for NewClient to set sudo header | ||||
| @@ -133,43 +145,57 @@ func SetSudo(sudo string) func(client *Client) { | ||||
|  | ||||
| // SetSudo sets username to impersonate. | ||||
| func (c *Client) SetSudo(sudo string) { | ||||
| 	c.mutex.Lock() | ||||
| 	c.sudo = sudo | ||||
| 	c.mutex.Unlock() | ||||
| } | ||||
|  | ||||
| // SetDebugMode is an option for NewClient to enable debug mode | ||||
| func SetDebugMode() func(client *Client) { | ||||
| 	return func(client *Client) { | ||||
| 		client.mutex.Lock() | ||||
| 		client.debug = true | ||||
| 		client.mutex.Unlock() | ||||
| 	} | ||||
| } | ||||
|  | ||||
| func (c *Client) getWebResponse(method, path string, body io.Reader) ([]byte, *Response, error) { | ||||
| 	if c.debug { | ||||
| 	c.mutex.RLock() | ||||
| 	debug := c.debug | ||||
| 	if debug { | ||||
| 		fmt.Printf("%s: %s\nBody: %v\n", method, c.url+path, body) | ||||
| 	} | ||||
| 	req, err := http.NewRequestWithContext(c.ctx, method, c.url+path, body) | ||||
|  | ||||
| 	client := c.client // client ref can change from this point on so safe it | ||||
| 	c.mutex.RUnlock() | ||||
|  | ||||
| 	if err != nil { | ||||
| 		return nil, nil, err | ||||
| 	} | ||||
| 	resp, err := c.client.Do(req) | ||||
|  | ||||
| 	resp, err := client.Do(req) | ||||
| 	if err != nil { | ||||
| 		return nil, nil, err | ||||
| 	} | ||||
|  | ||||
| 	defer resp.Body.Close() | ||||
| 	data, err := ioutil.ReadAll(resp.Body) | ||||
| 	if c.debug { | ||||
| 	if debug { | ||||
| 		fmt.Printf("Response: %v\n\n", resp) | ||||
| 	} | ||||
| 	return data, &Response{resp}, nil | ||||
| } | ||||
|  | ||||
| func (c *Client) doRequest(method, path string, header http.Header, body io.Reader) (*Response, error) { | ||||
| 	if c.debug { | ||||
| 	c.mutex.RLock() | ||||
| 	debug := c.debug | ||||
| 	if debug { | ||||
| 		fmt.Printf("%s: %s\nHeader: %v\nBody: %s\n", method, c.url+"/api/v1"+path, header, body) | ||||
| 	} | ||||
| 	req, err := http.NewRequestWithContext(c.ctx, method, c.url+"/api/v1"+path, body) | ||||
| 	if err != nil { | ||||
| 		c.mutex.RUnlock() | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	if len(c.accessToken) != 0 { | ||||
| @@ -184,20 +210,66 @@ func (c *Client) doRequest(method, path string, header http.Header, body io.Read | ||||
| 	if len(c.sudo) != 0 { | ||||
| 		req.Header.Set("Sudo", c.sudo) | ||||
| 	} | ||||
|  | ||||
| 	client := c.client // client ref can change from this point on so safe it | ||||
| 	c.mutex.RUnlock() | ||||
|  | ||||
| 	for k, v := range header { | ||||
| 		req.Header[k] = v | ||||
| 	} | ||||
|  | ||||
| 	resp, err := c.client.Do(req) | ||||
| 	resp, err := client.Do(req) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	if c.debug { | ||||
| 	if debug { | ||||
| 		fmt.Printf("Response: %v\n\n", resp) | ||||
| 	} | ||||
| 	return &Response{resp}, nil | ||||
| } | ||||
|  | ||||
| // Converts a response for a HTTP status code indicating an error condition | ||||
| // (non-2XX) to a well-known error value and response body. For non-problematic | ||||
| // (2XX) status codes nil will be returned. Note that on a non-2XX response, the | ||||
| // response body stream will have been read and, hence, is closed on return. | ||||
| func statusCodeToErr(resp *Response) (body []byte, err error) { | ||||
| 	// no error | ||||
| 	if resp.StatusCode/100 == 2 { | ||||
| 		return nil, nil | ||||
| 	} | ||||
|  | ||||
| 	// | ||||
| 	// error: body will be read for details | ||||
| 	// | ||||
| 	defer resp.Body.Close() | ||||
| 	data, err := ioutil.ReadAll(resp.Body) | ||||
| 	if err != nil { | ||||
| 		return nil, fmt.Errorf("body read on HTTP error %d: %v", resp.StatusCode, err) | ||||
| 	} | ||||
|  | ||||
| 	switch resp.StatusCode { | ||||
| 	case 403: | ||||
| 		return data, errors.New("403 Forbidden") | ||||
| 	case 404: | ||||
| 		return data, errors.New("404 Not Found") | ||||
| 	case 409: | ||||
| 		return data, errors.New("409 Conflict") | ||||
| 	case 422: | ||||
| 		return data, fmt.Errorf("422 Unprocessable Entity: %s", string(data)) | ||||
| 	} | ||||
|  | ||||
| 	path := resp.Request.URL.Path | ||||
| 	method := resp.Request.Method | ||||
| 	header := resp.Request.Header | ||||
| 	errMap := make(map[string]interface{}) | ||||
| 	if err = json.Unmarshal(data, &errMap); err != nil { | ||||
| 		// 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 data, fmt.Errorf("Unknown API Error: %d\nRequest: '%s' with '%s' method '%s' header and '%s' body", resp.StatusCode, path, method, header, string(data)) | ||||
| 	} | ||||
| 	return data, errors.New(errMap["message"].(string)) | ||||
| } | ||||
|  | ||||
| func (c *Client) getResponse(method, path string, header http.Header, body io.Reader) ([]byte, *Response, error) { | ||||
| 	resp, err := c.doRequest(method, path, header, body) | ||||
| 	if err != nil { | ||||
| @@ -205,32 +277,18 @@ func (c *Client) getResponse(method, path string, header http.Header, body io.Re | ||||
| 	} | ||||
| 	defer resp.Body.Close() | ||||
|  | ||||
| 	data, err := ioutil.ReadAll(resp.Body) | ||||
| 	// check for errors | ||||
| 	data, err := statusCodeToErr(resp) | ||||
| 	if err != nil { | ||||
| 		return data, resp, err | ||||
| 	} | ||||
|  | ||||
| 	// success (2XX), read body | ||||
| 	data, err = ioutil.ReadAll(resp.Body) | ||||
| 	if err != nil { | ||||
| 		return nil, resp, err | ||||
| 	} | ||||
|  | ||||
| 	switch resp.StatusCode { | ||||
| 	case 403: | ||||
| 		return data, resp, errors.New("403 Forbidden") | ||||
| 	case 404: | ||||
| 		return data, resp, errors.New("404 Not Found") | ||||
| 	case 409: | ||||
| 		return data, resp, errors.New("409 Conflict") | ||||
| 	case 422: | ||||
| 		return data, resp, fmt.Errorf("422 Unprocessable Entity: %s", string(data)) | ||||
| 	} | ||||
|  | ||||
| 	if resp.StatusCode/100 != 2 { | ||||
| 		errMap := make(map[string]interface{}) | ||||
| 		if err = json.Unmarshal(data, &errMap); err != nil { | ||||
| 			// 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 data, resp, fmt.Errorf("Unknown API Error: %d\nRequest: '%s' with '%s' method '%s' header and '%s' body", resp.StatusCode, path, method, header, string(data)) | ||||
| 		} | ||||
| 		return data, resp, errors.New(errMap["message"].(string)) | ||||
| 	} | ||||
|  | ||||
| 	return data, resp, nil | ||||
| } | ||||
|  | ||||
|   | ||||
							
								
								
									
										13
									
								
								vendor/code.gitea.io/sdk/gitea/issue.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								vendor/code.gitea.io/sdk/gitea/issue.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -218,11 +218,12 @@ type EditIssueOption struct { | ||||
| 	Ref   *string `json:"ref"` | ||||
| 	// deprecated | ||||
| 	// TODO: rm on sdk 0.15.0 | ||||
| 	Assignee  *string    `json:"assignee"` | ||||
| 	Assignees []string   `json:"assignees"` | ||||
| 	Milestone *int64     `json:"milestone"` | ||||
| 	State     *StateType `json:"state"` | ||||
| 	Deadline  *time.Time `json:"due_date"` | ||||
| 	Assignee       *string    `json:"assignee"` | ||||
| 	Assignees      []string   `json:"assignees"` | ||||
| 	Milestone      *int64     `json:"milestone"` | ||||
| 	State          *StateType `json:"state"` | ||||
| 	Deadline       *time.Time `json:"due_date"` | ||||
| 	RemoveDeadline *bool      `json:"unset_due_date"` | ||||
| } | ||||
|  | ||||
| // Validate the EditIssueOption struct | ||||
| @@ -252,6 +253,8 @@ func (c *Client) EditIssue(owner, repo string, index int64, opt EditIssueOption) | ||||
|  | ||||
| func (c *Client) issueBackwardsCompatibility(issue *Issue) { | ||||
| 	if c.checkServerVersionGreaterThanOrEqual(version1_12_0) != nil { | ||||
| 		c.mutex.RLock() | ||||
| 		issue.HTMLURL = fmt.Sprintf("%s/%s/issues/%d", c.url, issue.Repository.FullName, issue.Index) | ||||
| 		c.mutex.RUnlock() | ||||
| 	} | ||||
| } | ||||
|   | ||||
							
								
								
									
										9
									
								
								vendor/code.gitea.io/sdk/gitea/issue_stopwatch.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										9
									
								
								vendor/code.gitea.io/sdk/gitea/issue_stopwatch.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -11,8 +11,13 @@ import ( | ||||
|  | ||||
| // StopWatch represents a running stopwatch of an issue / pr | ||||
| type StopWatch struct { | ||||
| 	Created    time.Time `json:"created"` | ||||
| 	IssueIndex int64     `json:"issue_index"` | ||||
| 	Created       time.Time `json:"created"` | ||||
| 	Seconds       int64     `json:"seconds"` | ||||
| 	Duration      string    `json:"duration"` | ||||
| 	IssueIndex    int64     `json:"issue_index"` | ||||
| 	IssueTitle    string    `json:"issue_title"` | ||||
| 	RepoOwnerName string    `json:"repo_owner_name"` | ||||
| 	RepoName      string    `json:"repo_name"` | ||||
| } | ||||
|  | ||||
| // GetMyStopwatches list all stopwatches | ||||
|   | ||||
							
								
								
									
										83
									
								
								vendor/code.gitea.io/sdk/gitea/pull_review.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										83
									
								
								vendor/code.gitea.io/sdk/gitea/pull_review.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -33,15 +33,17 @@ const ( | ||||
|  | ||||
| // PullReview represents a pull request review | ||||
| type PullReview struct { | ||||
| 	ID       int64           `json:"id"` | ||||
| 	Reviewer *User           `json:"user"` | ||||
| 	State    ReviewStateType `json:"state"` | ||||
| 	Body     string          `json:"body"` | ||||
| 	CommitID string          `json:"commit_id"` | ||||
| 	ID           int64           `json:"id"` | ||||
| 	Reviewer     *User           `json:"user"` | ||||
| 	ReviewerTeam *Team           `json:"team"` | ||||
| 	State        ReviewStateType `json:"state"` | ||||
| 	Body         string          `json:"body"` | ||||
| 	CommitID     string          `json:"commit_id"` | ||||
| 	// Stale indicates if the pull has changed since the review | ||||
| 	Stale bool `json:"stale"` | ||||
| 	// Official indicates if the review counts towards the required approval limit, if PR base is a protected branch | ||||
| 	Official          bool      `json:"official"` | ||||
| 	Dismissed         bool      `json:"dismissed"` | ||||
| 	CodeCommentsCount int       `json:"comments_count"` | ||||
| 	Submitted         time.Time `json:"submitted_at"` | ||||
|  | ||||
| @@ -95,6 +97,17 @@ type SubmitPullReviewOptions struct { | ||||
| 	Body  string          `json:"body"` | ||||
| } | ||||
|  | ||||
| // DismissPullReviewOptions are options to dismiss a pull review | ||||
| type DismissPullReviewOptions struct { | ||||
| 	Message string `json:"message"` | ||||
| } | ||||
|  | ||||
| // PullReviewRequestOptions are options to add or remove pull review requests | ||||
| type PullReviewRequestOptions struct { | ||||
| 	Reviewers     []string `json:"reviewers"` | ||||
| 	TeamReviewers []string `json:"team_reviewers"` | ||||
| } | ||||
|  | ||||
| // ListPullReviewsOptions options for listing PullReviews | ||||
| type ListPullReviewsOptions struct { | ||||
| 	ListOptions | ||||
| @@ -219,3 +232,63 @@ func (c *Client) SubmitPullReview(owner, repo string, index, id int64, opt Submi | ||||
| 		jsonHeader, bytes.NewReader(body), r) | ||||
| 	return r, resp, err | ||||
| } | ||||
|  | ||||
| // CreateReviewRequests create review requests to an pull request | ||||
| func (c *Client) CreateReviewRequests(owner, repo string, index int64, opt PullReviewRequestOptions) (*Response, error) { | ||||
| 	if err := c.checkServerVersionGreaterThanOrEqual(version1_14_0); err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	body, err := json.Marshal(&opt) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
|  | ||||
| 	_, resp, err := c.getResponse("POST", | ||||
| 		fmt.Sprintf("/repos/%s/%s/pulls/%d/requested_reviewers", owner, repo, index), | ||||
| 		jsonHeader, bytes.NewReader(body)) | ||||
| 	return resp, err | ||||
| } | ||||
|  | ||||
| // DeleteReviewRequests delete review requests to an pull request | ||||
| func (c *Client) DeleteReviewRequests(owner, repo string, index int64, opt PullReviewRequestOptions) (*Response, error) { | ||||
| 	if err := c.checkServerVersionGreaterThanOrEqual(version1_14_0); err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	body, err := json.Marshal(&opt) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
|  | ||||
| 	_, resp, err := c.getResponse("DELETE", | ||||
| 		fmt.Sprintf("/repos/%s/%s/pulls/%d/requested_reviewers", owner, repo, index), | ||||
| 		jsonHeader, bytes.NewReader(body)) | ||||
| 	return resp, err | ||||
| } | ||||
|  | ||||
| // DismissPullReview dismiss a review for a pull request | ||||
| func (c *Client) DismissPullReview(owner, repo string, index, id int64, opt DismissPullReviewOptions) (*Response, error) { | ||||
| 	if err := c.checkServerVersionGreaterThanOrEqual(version1_14_0); err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	body, err := json.Marshal(&opt) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
|  | ||||
| 	_, resp, err := c.getResponse("POST", | ||||
| 		fmt.Sprintf("/repos/%s/%s/pulls/%d/reviews/%d/dismissals", owner, repo, index, id), | ||||
| 		jsonHeader, bytes.NewReader(body)) | ||||
| 	return resp, err | ||||
| } | ||||
|  | ||||
| // UnDismissPullReview cancel to dismiss a review for a pull request | ||||
| func (c *Client) UnDismissPullReview(owner, repo string, index, id int64) (*Response, error) { | ||||
| 	if err := c.checkServerVersionGreaterThanOrEqual(version1_14_0); err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
|  | ||||
| 	_, resp, err := c.getResponse("POST", | ||||
| 		fmt.Sprintf("/repos/%s/%s/pulls/%d/reviews/%d/undismissals", owner, repo, index, id), | ||||
| 		jsonHeader, nil) | ||||
| 	return resp, err | ||||
| } | ||||
|   | ||||
							
								
								
									
										5
									
								
								vendor/code.gitea.io/sdk/gitea/release.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								vendor/code.gitea.io/sdk/gitea/release.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -21,6 +21,7 @@ type Release struct { | ||||
| 	Title        string        `json:"name"` | ||||
| 	Note         string        `json:"body"` | ||||
| 	URL          string        `json:"url"` | ||||
| 	HTMLURL      string        `json:"html_url"` | ||||
| 	TarURL       string        `json:"tarball_url"` | ||||
| 	ZipURL       string        `json:"zipball_url"` | ||||
| 	IsDraft      bool          `json:"draft"` | ||||
| @@ -132,8 +133,8 @@ func (c *Client) DeleteRelease(user, repo string, id int64) (*Response, error) { | ||||
| 	return resp, err | ||||
| } | ||||
|  | ||||
| // DeleteReleaseTag deletes a tag from a repository, if no release refers to it. | ||||
| func (c *Client) DeleteReleaseTag(user, repo string, tag string) (*Response, error) { | ||||
| // DeleteReleaseByTag deletes a release frm a repository by tag | ||||
| func (c *Client) DeleteReleaseByTag(user, repo string, tag string) (*Response, error) { | ||||
| 	if err := c.checkServerVersionGreaterThanOrEqual(version1_14_0); err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
|   | ||||
							
								
								
									
										133
									
								
								vendor/code.gitea.io/sdk/gitea/repo.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										133
									
								
								vendor/code.gitea.io/sdk/gitea/repo.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -9,6 +9,7 @@ import ( | ||||
| 	"bytes" | ||||
| 	"encoding/json" | ||||
| 	"fmt" | ||||
| 	"io" | ||||
| 	"net/url" | ||||
| 	"strings" | ||||
| 	"time" | ||||
| @@ -21,42 +22,77 @@ type Permission struct { | ||||
| 	Pull  bool `json:"pull"` | ||||
| } | ||||
|  | ||||
| // InternalTracker represents settings for internal tracker | ||||
| type InternalTracker struct { | ||||
| 	// Enable time tracking (Built-in issue tracker) | ||||
| 	EnableTimeTracker bool `json:"enable_time_tracker"` | ||||
| 	// Let only contributors track time (Built-in issue tracker) | ||||
| 	AllowOnlyContributorsToTrackTime bool `json:"allow_only_contributors_to_track_time"` | ||||
| 	// Enable dependencies for issues and pull requests (Built-in issue tracker) | ||||
| 	EnableIssueDependencies bool `json:"enable_issue_dependencies"` | ||||
| } | ||||
|  | ||||
| // ExternalTracker represents settings for external tracker | ||||
| type ExternalTracker struct { | ||||
| 	// URL of external issue tracker. | ||||
| 	ExternalTrackerURL string `json:"external_tracker_url"` | ||||
| 	// External Issue Tracker URL Format. Use the placeholders {user}, {repo} and {index} for the username, repository name and issue index. | ||||
| 	ExternalTrackerFormat string `json:"external_tracker_format"` | ||||
| 	// External Issue Tracker Number Format, either `numeric` or `alphanumeric` | ||||
| 	ExternalTrackerStyle string `json:"external_tracker_style"` | ||||
| } | ||||
|  | ||||
| // ExternalWiki represents setting for external wiki | ||||
| type ExternalWiki struct { | ||||
| 	// URL of external wiki. | ||||
| 	ExternalWikiURL string `json:"external_wiki_url"` | ||||
| } | ||||
|  | ||||
| // Repository represents a repository | ||||
| type Repository struct { | ||||
| 	ID                        int64       `json:"id"` | ||||
| 	Owner                     *User       `json:"owner"` | ||||
| 	Name                      string      `json:"name"` | ||||
| 	FullName                  string      `json:"full_name"` | ||||
| 	Description               string      `json:"description"` | ||||
| 	Empty                     bool        `json:"empty"` | ||||
| 	Private                   bool        `json:"private"` | ||||
| 	Fork                      bool        `json:"fork"` | ||||
| 	Parent                    *Repository `json:"parent"` | ||||
| 	Mirror                    bool        `json:"mirror"` | ||||
| 	Size                      int         `json:"size"` | ||||
| 	HTMLURL                   string      `json:"html_url"` | ||||
| 	SSHURL                    string      `json:"ssh_url"` | ||||
| 	CloneURL                  string      `json:"clone_url"` | ||||
| 	OriginalURL               string      `json:"original_url"` | ||||
| 	Website                   string      `json:"website"` | ||||
| 	Stars                     int         `json:"stars_count"` | ||||
| 	Forks                     int         `json:"forks_count"` | ||||
| 	Watchers                  int         `json:"watchers_count"` | ||||
| 	OpenIssues                int         `json:"open_issues_count"` | ||||
| 	DefaultBranch             string      `json:"default_branch"` | ||||
| 	Archived                  bool        `json:"archived"` | ||||
| 	Created                   time.Time   `json:"created_at"` | ||||
| 	Updated                   time.Time   `json:"updated_at"` | ||||
| 	Permissions               *Permission `json:"permissions,omitempty"` | ||||
| 	HasIssues                 bool        `json:"has_issues"` | ||||
| 	HasWiki                   bool        `json:"has_wiki"` | ||||
| 	HasPullRequests           bool        `json:"has_pull_requests"` | ||||
| 	IgnoreWhitespaceConflicts bool        `json:"ignore_whitespace_conflicts"` | ||||
| 	AllowMerge                bool        `json:"allow_merge_commits"` | ||||
| 	AllowRebase               bool        `json:"allow_rebase"` | ||||
| 	AllowRebaseMerge          bool        `json:"allow_rebase_explicit"` | ||||
| 	AllowSquash               bool        `json:"allow_squash_merge"` | ||||
| 	AvatarURL                 string      `json:"avatar_url"` | ||||
| 	ID                        int64            `json:"id"` | ||||
| 	Owner                     *User            `json:"owner"` | ||||
| 	Name                      string           `json:"name"` | ||||
| 	FullName                  string           `json:"full_name"` | ||||
| 	Description               string           `json:"description"` | ||||
| 	Empty                     bool             `json:"empty"` | ||||
| 	Private                   bool             `json:"private"` | ||||
| 	Fork                      bool             `json:"fork"` | ||||
| 	Template                  bool             `json:"template"` | ||||
| 	Parent                    *Repository      `json:"parent"` | ||||
| 	Mirror                    bool             `json:"mirror"` | ||||
| 	Size                      int              `json:"size"` | ||||
| 	HTMLURL                   string           `json:"html_url"` | ||||
| 	SSHURL                    string           `json:"ssh_url"` | ||||
| 	CloneURL                  string           `json:"clone_url"` | ||||
| 	OriginalURL               string           `json:"original_url"` | ||||
| 	Website                   string           `json:"website"` | ||||
| 	Stars                     int              `json:"stars_count"` | ||||
| 	Forks                     int              `json:"forks_count"` | ||||
| 	Watchers                  int              `json:"watchers_count"` | ||||
| 	OpenIssues                int              `json:"open_issues_count"` | ||||
| 	OpenPulls                 int              `json:"open_pr_counter"` | ||||
| 	Releases                  int              `json:"release_counter"` | ||||
| 	DefaultBranch             string           `json:"default_branch"` | ||||
| 	Archived                  bool             `json:"archived"` | ||||
| 	Created                   time.Time        `json:"created_at"` | ||||
| 	Updated                   time.Time        `json:"updated_at"` | ||||
| 	Permissions               *Permission      `json:"permissions,omitempty"` | ||||
| 	HasIssues                 bool             `json:"has_issues"` | ||||
| 	InternalTracker           *InternalTracker `json:"internal_tracker,omitempty"` | ||||
| 	ExternalTracker           *ExternalTracker `json:"external_tracker,omitempty"` | ||||
| 	HasWiki                   bool             `json:"has_wiki"` | ||||
| 	ExternalWiki              *ExternalWiki    `json:"external_wiki,omitempty"` | ||||
| 	HasPullRequests           bool             `json:"has_pull_requests"` | ||||
| 	HasProjects               bool             `json:"has_projects"` | ||||
| 	IgnoreWhitespaceConflicts bool             `json:"ignore_whitespace_conflicts"` | ||||
| 	AllowMerge                bool             `json:"allow_merge_commits"` | ||||
| 	AllowRebase               bool             `json:"allow_rebase"` | ||||
| 	AllowRebaseMerge          bool             `json:"allow_rebase_explicit"` | ||||
| 	AllowSquash               bool             `json:"allow_squash_merge"` | ||||
| 	AvatarURL                 string           `json:"avatar_url"` | ||||
| 	Internal                  bool             `json:"internal"` | ||||
| 	MirrorInterval            string           `json:"mirror_interval"` | ||||
| } | ||||
|  | ||||
| // RepoType represent repo type | ||||
| @@ -346,14 +382,24 @@ type EditRepoOption struct { | ||||
| 	// Note: you will get a 422 error if the organization restricts changing repository visibility to organization | ||||
| 	// owners and a non-owner tries to change the value of private. | ||||
| 	Private *bool `json:"private,omitempty"` | ||||
| 	// either `true` to make this repository a template or `false` to make it a normal repository | ||||
| 	Template *bool `json:"template,omitempty"` | ||||
| 	// either `true` to enable issues for this repository or `false` to disable them. | ||||
| 	HasIssues *bool `json:"has_issues,omitempty"` | ||||
| 	// set this structure to configure internal issue tracker (requires has_issues) | ||||
| 	InternalTracker *InternalTracker `json:"internal_tracker,omitempty"` | ||||
| 	// set this structure to use external issue tracker (requires has_issues) | ||||
| 	ExternalTracker *ExternalTracker `json:"external_tracker,omitempty"` | ||||
| 	// either `true` to enable the wiki for this repository or `false` to disable it. | ||||
| 	HasWiki *bool `json:"has_wiki,omitempty"` | ||||
| 	// set this structure to use external wiki instead of internal (requires has_wiki) | ||||
| 	ExternalWiki *ExternalWiki `json:"external_wiki,omitempty"` | ||||
| 	// sets the default branch for this repository. | ||||
| 	DefaultBranch *string `json:"default_branch,omitempty"` | ||||
| 	// either `true` to allow pull requests, or `false` to prevent pull request. | ||||
| 	HasPullRequests *bool `json:"has_pull_requests,omitempty"` | ||||
| 	// either `true` to enable project unit, or `false` to disable them. | ||||
| 	HasProjects *bool `json:"has_projects,omitempty"` | ||||
| 	// either `true` to ignore whitespace for conflicts, or `false` to not ignore whitespace. `has_pull_requests` must be `true`. | ||||
| 	IgnoreWhitespaceConflicts *bool `json:"ignore_whitespace_conflicts,omitempty"` | ||||
| 	// either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. `has_pull_requests` must be `true`. | ||||
| @@ -366,6 +412,8 @@ type EditRepoOption struct { | ||||
| 	AllowSquash *bool `json:"allow_squash_merge,omitempty"` | ||||
| 	// set to `true` to archive this repository. | ||||
| 	Archived *bool `json:"archived,omitempty"` | ||||
| 	// set to a string like `8h30m0s` to set the mirror interval time | ||||
| 	MirrorInterval *string `json:"mirror_interval,omitempty"` | ||||
| } | ||||
|  | ||||
| // EditRepo edit the properties of a repository | ||||
| @@ -420,3 +468,20 @@ const ( | ||||
| func (c *Client) GetArchive(owner, repo, ref string, ext ArchiveType) ([]byte, *Response, error) { | ||||
| 	return c.getResponse("GET", fmt.Sprintf("/repos/%s/%s/archive/%s%s", owner, repo, url.PathEscape(ref), ext), nil, nil) | ||||
| } | ||||
|  | ||||
| // GetArchiveReader gets a `git archive` for a particular tree-ish git reference | ||||
| // such as a branch name (`master`), a commit hash (`70b7c74b33`), a tag | ||||
| // (`v1.2.1`). The archive is returned as a byte stream in a ReadCloser. It is | ||||
| // the responsibility of the client to close the reader. | ||||
| func (c *Client) GetArchiveReader(owner, repo, ref string, ext ArchiveType) (io.ReadCloser, *Response, error) { | ||||
| 	resp, err := c.doRequest("GET", fmt.Sprintf("/repos/%s/%s/archive/%s%s", owner, repo, url.PathEscape(ref), ext), nil, nil) | ||||
| 	if err != nil { | ||||
| 		return nil, resp, err | ||||
| 	} | ||||
|  | ||||
| 	if _, err := statusCodeToErr(resp); err != nil { | ||||
| 		return nil, resp, err | ||||
| 	} | ||||
|  | ||||
| 	return resp.Body, resp, nil | ||||
| } | ||||
|   | ||||
							
								
								
									
										125
									
								
								vendor/code.gitea.io/sdk/gitea/repo_branch_protection.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										125
									
								
								vendor/code.gitea.io/sdk/gitea/repo_branch_protection.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -14,75 +14,78 @@ import ( | ||||
|  | ||||
| // BranchProtection represents a branch protection for a repository | ||||
| type BranchProtection struct { | ||||
| 	BranchName                  string    `json:"branch_name"` | ||||
| 	EnablePush                  bool      `json:"enable_push"` | ||||
| 	EnablePushWhitelist         bool      `json:"enable_push_whitelist"` | ||||
| 	PushWhitelistUsernames      []string  `json:"push_whitelist_usernames"` | ||||
| 	PushWhitelistTeams          []string  `json:"push_whitelist_teams"` | ||||
| 	PushWhitelistDeployKeys     bool      `json:"push_whitelist_deploy_keys"` | ||||
| 	EnableMergeWhitelist        bool      `json:"enable_merge_whitelist"` | ||||
| 	MergeWhitelistUsernames     []string  `json:"merge_whitelist_usernames"` | ||||
| 	MergeWhitelistTeams         []string  `json:"merge_whitelist_teams"` | ||||
| 	EnableStatusCheck           bool      `json:"enable_status_check"` | ||||
| 	StatusCheckContexts         []string  `json:"status_check_contexts"` | ||||
| 	RequiredApprovals           int64     `json:"required_approvals"` | ||||
| 	EnableApprovalsWhitelist    bool      `json:"enable_approvals_whitelist"` | ||||
| 	ApprovalsWhitelistUsernames []string  `json:"approvals_whitelist_username"` | ||||
| 	ApprovalsWhitelistTeams     []string  `json:"approvals_whitelist_teams"` | ||||
| 	BlockOnRejectedReviews      bool      `json:"block_on_rejected_reviews"` | ||||
| 	BlockOnOutdatedBranch       bool      `json:"block_on_outdated_branch"` | ||||
| 	DismissStaleApprovals       bool      `json:"dismiss_stale_approvals"` | ||||
| 	RequireSignedCommits        bool      `json:"require_signed_commits"` | ||||
| 	ProtectedFilePatterns       string    `json:"protected_file_patterns"` | ||||
| 	Created                     time.Time `json:"created_at"` | ||||
| 	Updated                     time.Time `json:"updated_at"` | ||||
| 	BranchName                    string    `json:"branch_name"` | ||||
| 	EnablePush                    bool      `json:"enable_push"` | ||||
| 	EnablePushWhitelist           bool      `json:"enable_push_whitelist"` | ||||
| 	PushWhitelistUsernames        []string  `json:"push_whitelist_usernames"` | ||||
| 	PushWhitelistTeams            []string  `json:"push_whitelist_teams"` | ||||
| 	PushWhitelistDeployKeys       bool      `json:"push_whitelist_deploy_keys"` | ||||
| 	EnableMergeWhitelist          bool      `json:"enable_merge_whitelist"` | ||||
| 	MergeWhitelistUsernames       []string  `json:"merge_whitelist_usernames"` | ||||
| 	MergeWhitelistTeams           []string  `json:"merge_whitelist_teams"` | ||||
| 	EnableStatusCheck             bool      `json:"enable_status_check"` | ||||
| 	StatusCheckContexts           []string  `json:"status_check_contexts"` | ||||
| 	RequiredApprovals             int64     `json:"required_approvals"` | ||||
| 	EnableApprovalsWhitelist      bool      `json:"enable_approvals_whitelist"` | ||||
| 	ApprovalsWhitelistUsernames   []string  `json:"approvals_whitelist_username"` | ||||
| 	ApprovalsWhitelistTeams       []string  `json:"approvals_whitelist_teams"` | ||||
| 	BlockOnRejectedReviews        bool      `json:"block_on_rejected_reviews"` | ||||
| 	BlockOnOfficialReviewRequests bool      `json:"block_on_official_review_requests"` | ||||
| 	BlockOnOutdatedBranch         bool      `json:"block_on_outdated_branch"` | ||||
| 	DismissStaleApprovals         bool      `json:"dismiss_stale_approvals"` | ||||
| 	RequireSignedCommits          bool      `json:"require_signed_commits"` | ||||
| 	ProtectedFilePatterns         string    `json:"protected_file_patterns"` | ||||
| 	Created                       time.Time `json:"created_at"` | ||||
| 	Updated                       time.Time `json:"updated_at"` | ||||
| } | ||||
|  | ||||
| // CreateBranchProtectionOption options for creating a branch protection | ||||
| type CreateBranchProtectionOption struct { | ||||
| 	BranchName                  string   `json:"branch_name"` | ||||
| 	EnablePush                  bool     `json:"enable_push"` | ||||
| 	EnablePushWhitelist         bool     `json:"enable_push_whitelist"` | ||||
| 	PushWhitelistUsernames      []string `json:"push_whitelist_usernames"` | ||||
| 	PushWhitelistTeams          []string `json:"push_whitelist_teams"` | ||||
| 	PushWhitelistDeployKeys     bool     `json:"push_whitelist_deploy_keys"` | ||||
| 	EnableMergeWhitelist        bool     `json:"enable_merge_whitelist"` | ||||
| 	MergeWhitelistUsernames     []string `json:"merge_whitelist_usernames"` | ||||
| 	MergeWhitelistTeams         []string `json:"merge_whitelist_teams"` | ||||
| 	EnableStatusCheck           bool     `json:"enable_status_check"` | ||||
| 	StatusCheckContexts         []string `json:"status_check_contexts"` | ||||
| 	RequiredApprovals           int64    `json:"required_approvals"` | ||||
| 	EnableApprovalsWhitelist    bool     `json:"enable_approvals_whitelist"` | ||||
| 	ApprovalsWhitelistUsernames []string `json:"approvals_whitelist_username"` | ||||
| 	ApprovalsWhitelistTeams     []string `json:"approvals_whitelist_teams"` | ||||
| 	BlockOnRejectedReviews      bool     `json:"block_on_rejected_reviews"` | ||||
| 	BlockOnOutdatedBranch       bool     `json:"block_on_outdated_branch"` | ||||
| 	DismissStaleApprovals       bool     `json:"dismiss_stale_approvals"` | ||||
| 	RequireSignedCommits        bool     `json:"require_signed_commits"` | ||||
| 	ProtectedFilePatterns       string   `json:"protected_file_patterns"` | ||||
| 	BranchName                    string   `json:"branch_name"` | ||||
| 	EnablePush                    bool     `json:"enable_push"` | ||||
| 	EnablePushWhitelist           bool     `json:"enable_push_whitelist"` | ||||
| 	PushWhitelistUsernames        []string `json:"push_whitelist_usernames"` | ||||
| 	PushWhitelistTeams            []string `json:"push_whitelist_teams"` | ||||
| 	PushWhitelistDeployKeys       bool     `json:"push_whitelist_deploy_keys"` | ||||
| 	EnableMergeWhitelist          bool     `json:"enable_merge_whitelist"` | ||||
| 	MergeWhitelistUsernames       []string `json:"merge_whitelist_usernames"` | ||||
| 	MergeWhitelistTeams           []string `json:"merge_whitelist_teams"` | ||||
| 	EnableStatusCheck             bool     `json:"enable_status_check"` | ||||
| 	StatusCheckContexts           []string `json:"status_check_contexts"` | ||||
| 	RequiredApprovals             int64    `json:"required_approvals"` | ||||
| 	EnableApprovalsWhitelist      bool     `json:"enable_approvals_whitelist"` | ||||
| 	ApprovalsWhitelistUsernames   []string `json:"approvals_whitelist_username"` | ||||
| 	ApprovalsWhitelistTeams       []string `json:"approvals_whitelist_teams"` | ||||
| 	BlockOnRejectedReviews        bool     `json:"block_on_rejected_reviews"` | ||||
| 	BlockOnOfficialReviewRequests bool     `json:"block_on_official_review_requests"` | ||||
| 	BlockOnOutdatedBranch         bool     `json:"block_on_outdated_branch"` | ||||
| 	DismissStaleApprovals         bool     `json:"dismiss_stale_approvals"` | ||||
| 	RequireSignedCommits          bool     `json:"require_signed_commits"` | ||||
| 	ProtectedFilePatterns         string   `json:"protected_file_patterns"` | ||||
| } | ||||
|  | ||||
| // EditBranchProtectionOption options for editing a branch protection | ||||
| type EditBranchProtectionOption struct { | ||||
| 	EnablePush                  *bool    `json:"enable_push"` | ||||
| 	EnablePushWhitelist         *bool    `json:"enable_push_whitelist"` | ||||
| 	PushWhitelistUsernames      []string `json:"push_whitelist_usernames"` | ||||
| 	PushWhitelistTeams          []string `json:"push_whitelist_teams"` | ||||
| 	PushWhitelistDeployKeys     *bool    `json:"push_whitelist_deploy_keys"` | ||||
| 	EnableMergeWhitelist        *bool    `json:"enable_merge_whitelist"` | ||||
| 	MergeWhitelistUsernames     []string `json:"merge_whitelist_usernames"` | ||||
| 	MergeWhitelistTeams         []string `json:"merge_whitelist_teams"` | ||||
| 	EnableStatusCheck           *bool    `json:"enable_status_check"` | ||||
| 	StatusCheckContexts         []string `json:"status_check_contexts"` | ||||
| 	RequiredApprovals           *int64   `json:"required_approvals"` | ||||
| 	EnableApprovalsWhitelist    *bool    `json:"enable_approvals_whitelist"` | ||||
| 	ApprovalsWhitelistUsernames []string `json:"approvals_whitelist_username"` | ||||
| 	ApprovalsWhitelistTeams     []string `json:"approvals_whitelist_teams"` | ||||
| 	BlockOnRejectedReviews      *bool    `json:"block_on_rejected_reviews"` | ||||
| 	BlockOnOutdatedBranch       *bool    `json:"block_on_outdated_branch"` | ||||
| 	DismissStaleApprovals       *bool    `json:"dismiss_stale_approvals"` | ||||
| 	RequireSignedCommits        *bool    `json:"require_signed_commits"` | ||||
| 	ProtectedFilePatterns       *string  `json:"protected_file_patterns"` | ||||
| 	EnablePush                    *bool    `json:"enable_push"` | ||||
| 	EnablePushWhitelist           *bool    `json:"enable_push_whitelist"` | ||||
| 	PushWhitelistUsernames        []string `json:"push_whitelist_usernames"` | ||||
| 	PushWhitelistTeams            []string `json:"push_whitelist_teams"` | ||||
| 	PushWhitelistDeployKeys       *bool    `json:"push_whitelist_deploy_keys"` | ||||
| 	EnableMergeWhitelist          *bool    `json:"enable_merge_whitelist"` | ||||
| 	MergeWhitelistUsernames       []string `json:"merge_whitelist_usernames"` | ||||
| 	MergeWhitelistTeams           []string `json:"merge_whitelist_teams"` | ||||
| 	EnableStatusCheck             *bool    `json:"enable_status_check"` | ||||
| 	StatusCheckContexts           []string `json:"status_check_contexts"` | ||||
| 	RequiredApprovals             *int64   `json:"required_approvals"` | ||||
| 	EnableApprovalsWhitelist      *bool    `json:"enable_approvals_whitelist"` | ||||
| 	ApprovalsWhitelistUsernames   []string `json:"approvals_whitelist_username"` | ||||
| 	ApprovalsWhitelistTeams       []string `json:"approvals_whitelist_teams"` | ||||
| 	BlockOnRejectedReviews        *bool    `json:"block_on_rejected_reviews"` | ||||
| 	BlockOnOfficialReviewRequests *bool    `json:"block_on_official_review_requests"` | ||||
| 	BlockOnOutdatedBranch         *bool    `json:"block_on_outdated_branch"` | ||||
| 	DismissStaleApprovals         *bool    `json:"dismiss_stale_approvals"` | ||||
| 	RequireSignedCommits          *bool    `json:"require_signed_commits"` | ||||
| 	ProtectedFilePatterns         *string  `json:"protected_file_patterns"` | ||||
| } | ||||
|  | ||||
| // ListBranchProtectionsOptions list branch protection options | ||||
|   | ||||
							
								
								
									
										16
									
								
								vendor/code.gitea.io/sdk/gitea/repo_commit.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										16
									
								
								vendor/code.gitea.io/sdk/gitea/repo_commit.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -42,11 +42,12 @@ type RepoCommit struct { | ||||
| // 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"` | ||||
| 	HTMLURL    string                 `json:"html_url"` | ||||
| 	RepoCommit *RepoCommit            `json:"commit"` | ||||
| 	Author     *User                  `json:"author"` | ||||
| 	Committer  *User                  `json:"committer"` | ||||
| 	Parents    []*CommitMeta          `json:"parents"` | ||||
| 	Files      []*CommitAffectedFiles `json:"files"` | ||||
| } | ||||
|  | ||||
| // CommitDateOptions store dates for GIT_AUTHOR_DATE and GIT_COMMITTER_DATE | ||||
| @@ -55,6 +56,11 @@ type CommitDateOptions struct { | ||||
| 	Committer time.Time `json:"committer"` | ||||
| } | ||||
|  | ||||
| // CommitAffectedFiles store information about files affected by the commit | ||||
| type CommitAffectedFiles struct { | ||||
| 	Filename string `json:"filename"` | ||||
| } | ||||
|  | ||||
| // GetSingleCommit returns a single commit | ||||
| func (c *Client) GetSingleCommit(user, repo, commitID string) (*Commit, *Response, error) { | ||||
| 	commit := new(Commit) | ||||
|   | ||||
							
								
								
									
										59
									
								
								vendor/code.gitea.io/sdk/gitea/repo_file.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										59
									
								
								vendor/code.gitea.io/sdk/gitea/repo_file.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -9,6 +9,8 @@ import ( | ||||
| 	"bytes" | ||||
| 	"encoding/json" | ||||
| 	"fmt" | ||||
| 	"net/url" | ||||
| 	"strings" | ||||
| ) | ||||
|  | ||||
| // FileOptions options for all file APIs | ||||
| @@ -23,6 +25,8 @@ type FileOptions struct { | ||||
| 	Author    Identity          `json:"author"` | ||||
| 	Committer Identity          `json:"committer"` | ||||
| 	Dates     CommitDateOptions `json:"dates"` | ||||
| 	// Add a Signed-off-by trailer by the committer at the end of the commit log message. | ||||
| 	Signoff bool `json:"signoff"` | ||||
| } | ||||
|  | ||||
| // CreateFileOptions options for creating files | ||||
| @@ -112,22 +116,63 @@ type FileDeleteResponse struct { | ||||
| 	Verification *PayloadCommitVerification `json:"verification"` | ||||
| } | ||||
|  | ||||
| // GetFile downloads a file of repository, ref can be branch/tag/commit. | ||||
| // e.g.: ref -> master, tree -> macaron.go(no leading slash) | ||||
| func (c *Client) GetFile(user, repo, ref, tree string) ([]byte, *Response, error) { | ||||
| 	return c.getResponse("GET", fmt.Sprintf("/repos/%s/%s/raw/%s/%s", user, repo, ref, tree), nil, nil) | ||||
| // pathEscapeSegments escapes segments of a path while not escaping forward slash | ||||
| func pathEscapeSegments(path string) string { | ||||
| 	slice := strings.Split(path, "/") | ||||
| 	for index := range slice { | ||||
| 		slice[index] = url.PathEscape(slice[index]) | ||||
| 	} | ||||
| 	escapedPath := strings.Join(slice, "/") | ||||
| 	return escapedPath | ||||
| } | ||||
|  | ||||
| // GetContents get the metadata and contents (if a file) of an entry in a repository, or a list of entries if a dir | ||||
| // GetFile downloads a file of repository, ref can be branch/tag/commit. | ||||
| // e.g.: ref -> master, filepath -> README.md (no leading slash) | ||||
| func (c *Client) GetFile(owner, repo, ref, filepath string) ([]byte, *Response, error) { | ||||
| 	filepath = pathEscapeSegments(filepath) | ||||
| 	if c.checkServerVersionGreaterThanOrEqual(version1_14_0) != nil { | ||||
| 		ref = pathEscapeSegments(ref) | ||||
| 		return c.getResponse("GET", fmt.Sprintf("/repos/%s/%s/raw/%s/%s", owner, repo, ref, filepath), nil, nil) | ||||
| 	} | ||||
| 	return c.getResponse("GET", fmt.Sprintf("/repos/%s/%s/raw/%s?ref=%s", owner, repo, filepath, url.QueryEscape(ref)), nil, nil) | ||||
| } | ||||
|  | ||||
| // GetContents get the metadata and contents of a file in a repository | ||||
| // ref is optional | ||||
| func (c *Client) GetContents(owner, repo, ref, filepath string) (*ContentsResponse, *Response, error) { | ||||
| 	data, resp, err := c.getDirOrFileContents(owner, repo, ref, filepath) | ||||
| 	if err != nil { | ||||
| 		return nil, resp, err | ||||
| 	} | ||||
| 	cr := new(ContentsResponse) | ||||
| 	resp, err := c.getParsedResponse("GET", fmt.Sprintf("/repos/%s/%s/contents/%s?ref=%s", owner, repo, filepath, ref), jsonHeader, nil, cr) | ||||
| 	if json.Unmarshal(data, &cr) != nil { | ||||
| 		return nil, resp, fmt.Errorf("expect file, got directory") | ||||
| 	} | ||||
| 	return cr, resp, err | ||||
| } | ||||
|  | ||||
| // ListContents gets a list of entries in a dir | ||||
| // ref is optional | ||||
| func (c *Client) ListContents(owner, repo, ref, filepath string) ([]*ContentsResponse, *Response, error) { | ||||
| 	data, resp, err := c.getDirOrFileContents(owner, repo, ref, filepath) | ||||
| 	if err != nil { | ||||
| 		return nil, resp, err | ||||
| 	} | ||||
| 	crl := make([]*ContentsResponse, 0) | ||||
| 	if json.Unmarshal(data, &crl) != nil { | ||||
| 		return nil, resp, fmt.Errorf("expect directory, got file") | ||||
| 	} | ||||
| 	return crl, resp, err | ||||
| } | ||||
|  | ||||
| func (c *Client) getDirOrFileContents(owner, repo, ref, filepath string) ([]byte, *Response, error) { | ||||
| 	filepath = pathEscapeSegments(strings.TrimPrefix(filepath, "/")) | ||||
| 	return c.getResponse("GET", fmt.Sprintf("/repos/%s/%s/contents/%s?ref=%s", owner, repo, filepath, url.QueryEscape(ref)), jsonHeader, nil) | ||||
| } | ||||
|  | ||||
| // CreateFile create a file in a repository | ||||
| func (c *Client) CreateFile(owner, repo, filepath string, opt CreateFileOptions) (*FileResponse, *Response, error) { | ||||
| 	filepath = pathEscapeSegments(filepath) | ||||
| 	var err error | ||||
| 	if opt.BranchName, err = c.setDefaultBranchForOldVersions(owner, repo, opt.BranchName); err != nil { | ||||
| 		return nil, nil, err | ||||
| @@ -144,6 +189,7 @@ func (c *Client) CreateFile(owner, repo, filepath string, opt CreateFileOptions) | ||||
|  | ||||
| // UpdateFile update a file in a repository | ||||
| func (c *Client) UpdateFile(owner, repo, filepath string, opt UpdateFileOptions) (*FileResponse, *Response, error) { | ||||
| 	filepath = pathEscapeSegments(filepath) | ||||
| 	var err error | ||||
| 	if opt.BranchName, err = c.setDefaultBranchForOldVersions(owner, repo, opt.BranchName); err != nil { | ||||
| 		return nil, nil, err | ||||
| @@ -160,6 +206,7 @@ func (c *Client) UpdateFile(owner, repo, filepath string, opt UpdateFileOptions) | ||||
|  | ||||
| // DeleteFile delete a file from repository | ||||
| func (c *Client) DeleteFile(owner, repo, filepath string, opt DeleteFileOptions) (*Response, error) { | ||||
| 	filepath = pathEscapeSegments(filepath) | ||||
| 	var err error | ||||
| 	if opt.BranchName, err = c.setDefaultBranchForOldVersions(owner, repo, opt.BranchName); err != nil { | ||||
| 		return nil, err | ||||
|   | ||||
							
								
								
									
										48
									
								
								vendor/code.gitea.io/sdk/gitea/repo_migrate.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										48
									
								
								vendor/code.gitea.io/sdk/gitea/repo_migrate.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -22,10 +22,8 @@ const ( | ||||
| 	GitServiceGitlab GitServiceType = "gitlab" | ||||
| 	// GitServiceGitea represents a gitea service | ||||
| 	GitServiceGitea GitServiceType = "gitea" | ||||
|  | ||||
| 	// Not supported jet | ||||
| 	// // GitServiceGogs represents a gogs service | ||||
| 	// GitServiceGogs GitServiceType = "gogs" | ||||
| 	// GitServiceGogs represents a gogs service | ||||
| 	GitServiceGogs GitServiceType = "gogs" | ||||
| ) | ||||
|  | ||||
| // MigrateRepoOption options for migrating a repository from an external service | ||||
| @@ -33,21 +31,22 @@ type MigrateRepoOption struct { | ||||
| 	RepoName  string `json:"repo_name"` | ||||
| 	RepoOwner string `json:"repo_owner"` | ||||
| 	// deprecated use RepoOwner | ||||
| 	RepoOwnerID  int64          `json:"uid"` | ||||
| 	CloneAddr    string         `json:"clone_addr"` | ||||
| 	Service      GitServiceType `json:"service"` | ||||
| 	AuthUsername string         `json:"auth_username"` | ||||
| 	AuthPassword string         `json:"auth_password"` | ||||
| 	AuthToken    string         `json:"auth_token"` | ||||
| 	Mirror       bool           `json:"mirror"` | ||||
| 	Private      bool           `json:"private"` | ||||
| 	Description  string         `json:"description"` | ||||
| 	Wiki         bool           `json:"wiki"` | ||||
| 	Milestones   bool           `json:"milestones"` | ||||
| 	Labels       bool           `json:"labels"` | ||||
| 	Issues       bool           `json:"issues"` | ||||
| 	PullRequests bool           `json:"pull_requests"` | ||||
| 	Releases     bool           `json:"releases"` | ||||
| 	RepoOwnerID    int64          `json:"uid"` | ||||
| 	CloneAddr      string         `json:"clone_addr"` | ||||
| 	Service        GitServiceType `json:"service"` | ||||
| 	AuthUsername   string         `json:"auth_username"` | ||||
| 	AuthPassword   string         `json:"auth_password"` | ||||
| 	AuthToken      string         `json:"auth_token"` | ||||
| 	Mirror         bool           `json:"mirror"` | ||||
| 	Private        bool           `json:"private"` | ||||
| 	Description    string         `json:"description"` | ||||
| 	Wiki           bool           `json:"wiki"` | ||||
| 	Milestones     bool           `json:"milestones"` | ||||
| 	Labels         bool           `json:"labels"` | ||||
| 	Issues         bool           `json:"issues"` | ||||
| 	PullRequests   bool           `json:"pull_requests"` | ||||
| 	Releases       bool           `json:"releases"` | ||||
| 	MirrorInterval string         `json:"mirror_interval"` | ||||
| } | ||||
|  | ||||
| // Validate the MigrateRepoOption struct | ||||
| @@ -67,17 +66,24 @@ func (opt *MigrateRepoOption) Validate(c *Client) error { | ||||
| 	switch opt.Service { | ||||
| 	case GitServiceGithub: | ||||
| 		if len(opt.AuthToken) == 0 { | ||||
| 			return fmt.Errorf("github require token authentication") | ||||
| 			return fmt.Errorf("github requires token authentication") | ||||
| 		} | ||||
| 	case GitServiceGitlab, GitServiceGitea: | ||||
| 		if len(opt.AuthToken) == 0 { | ||||
| 			return fmt.Errorf("%s require token authentication", opt.Service) | ||||
| 			return fmt.Errorf("%s requires token authentication", opt.Service) | ||||
| 		} | ||||
| 		// Gitlab is supported since 1.12.0 but api cant handle it until 1.13.0 | ||||
| 		// https://github.com/go-gitea/gitea/pull/12672 | ||||
| 		if c.checkServerVersionGreaterThanOrEqual(version1_13_0) != nil { | ||||
| 			return fmt.Errorf("migrate from service %s need gitea >= 1.13.0", opt.Service) | ||||
| 		} | ||||
| 	case GitServiceGogs: | ||||
| 		if len(opt.AuthToken) == 0 { | ||||
| 			return fmt.Errorf("gogs requires token authentication") | ||||
| 		} | ||||
| 		if c.checkServerVersionGreaterThanOrEqual(version1_14_0) != nil { | ||||
| 			return fmt.Errorf("migrate from service gogs need gitea >= 1.14.0") | ||||
| 		} | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
|   | ||||
							
								
								
									
										81
									
								
								vendor/code.gitea.io/sdk/gitea/repo_stars.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										81
									
								
								vendor/code.gitea.io/sdk/gitea/repo_stars.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,81 @@ | ||||
| // Copyright 2021 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" | ||||
| 	"net/http" | ||||
| ) | ||||
|  | ||||
| // ListStargazersOptions options for listing a repository's stargazers | ||||
| type ListStargazersOptions struct { | ||||
| 	ListOptions | ||||
| } | ||||
|  | ||||
| // ListRepoStargazers list a repository's stargazers | ||||
| func (c *Client) ListRepoStargazers(user, repo string, opt ListStargazersOptions) ([]*User, *Response, error) { | ||||
| 	opt.setDefaults() | ||||
| 	stargazers := make([]*User, 0, opt.PageSize) | ||||
| 	resp, err := c.getParsedResponse("GET", fmt.Sprintf("/repos/%s/%s/stargazers?%s", user, repo, opt.getURLQuery().Encode()), nil, nil, &stargazers) | ||||
| 	return stargazers, resp, err | ||||
| } | ||||
|  | ||||
| // GetStarredRepos returns the repos that the given user has starred | ||||
| func (c *Client) GetStarredRepos(user string) ([]*Repository, *Response, error) { | ||||
| 	repos := make([]*Repository, 0, 10) | ||||
| 	resp, err := c.getParsedResponse("GET", fmt.Sprintf("/users/%s/starred", user), jsonHeader, nil, &repos) | ||||
| 	return repos, resp, err | ||||
| } | ||||
|  | ||||
| // GetMyStarredRepos returns the repos that the authenticated user has starred | ||||
| func (c *Client) GetMyStarredRepos() ([]*Repository, *Response, error) { | ||||
| 	repos := make([]*Repository, 0, 10) | ||||
| 	resp, err := c.getParsedResponse("GET", "/user/starred", jsonHeader, nil, &repos) | ||||
| 	return repos, resp, err | ||||
| } | ||||
|  | ||||
| // IsRepoStarring returns whether the authenticated user has starred the repo or not | ||||
| func (c *Client) IsRepoStarring(user, repo string) (bool, *Response, error) { | ||||
| 	_, resp, err := c.getResponse("GET", fmt.Sprintf("/user/starred/%s/%s", user, repo), jsonHeader, nil) | ||||
| 	if resp != nil { | ||||
| 		switch resp.StatusCode { | ||||
| 		case http.StatusNotFound: | ||||
| 			return false, resp, nil | ||||
| 		case http.StatusNoContent: | ||||
| 			return true, resp, nil | ||||
| 		default: | ||||
| 			return false, resp, fmt.Errorf("unexpected status code '%d'", resp.StatusCode) | ||||
| 		} | ||||
| 	} | ||||
| 	return false, nil, err | ||||
| } | ||||
|  | ||||
| // StarRepo star specified repo as the authenticated user | ||||
| func (c *Client) StarRepo(user, repo string) (*Response, error) { | ||||
| 	_, resp, err := c.getResponse("PUT", fmt.Sprintf("/user/starred/%s/%s", user, repo), jsonHeader, nil) | ||||
| 	if resp != nil { | ||||
| 		switch resp.StatusCode { | ||||
| 		case http.StatusNoContent: | ||||
| 			return resp, nil | ||||
| 		default: | ||||
| 			return resp, fmt.Errorf("unexpected status code '%d'", resp.StatusCode) | ||||
| 		} | ||||
| 	} | ||||
| 	return nil, err | ||||
| } | ||||
|  | ||||
| // UnStarRepo remove star to specified repo as the authenticated user | ||||
| func (c *Client) UnStarRepo(user, repo string) (*Response, error) { | ||||
| 	_, resp, err := c.getResponse("DELETE", fmt.Sprintf("/user/starred/%s/%s", user, repo), jsonHeader, nil) | ||||
| 	if resp != nil { | ||||
| 		switch resp.StatusCode { | ||||
| 		case http.StatusNoContent: | ||||
| 			return resp, nil | ||||
| 		default: | ||||
| 			return resp, fmt.Errorf("unexpected status code '%d'", resp.StatusCode) | ||||
| 		} | ||||
| 	} | ||||
| 	return nil, err | ||||
| } | ||||
							
								
								
									
										11
									
								
								vendor/code.gitea.io/sdk/gitea/repo_tag.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										11
									
								
								vendor/code.gitea.io/sdk/gitea/repo_tag.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -29,3 +29,14 @@ func (c *Client) ListRepoTags(user, repo string, opt ListRepoTagsOptions) ([]*Ta | ||||
| 	resp, err := c.getParsedResponse("GET", fmt.Sprintf("/repos/%s/%s/tags?%s", user, repo, opt.getURLQuery().Encode()), nil, nil, &tags) | ||||
| 	return tags, resp, err | ||||
| } | ||||
|  | ||||
| // DeleteTag deletes a tag from a repository, if no release refers to it | ||||
| func (c *Client) DeleteTag(user, repo string, tag string) (*Response, error) { | ||||
| 	if err := c.checkServerVersionGreaterThanOrEqual(version1_14_0); err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	_, resp, err := c.getResponse("DELETE", | ||||
| 		fmt.Sprintf("/repos/%s/%s/tags/%s", user, repo, tag), | ||||
| 		nil, nil) | ||||
| 	return resp, err | ||||
| } | ||||
|   | ||||
							
								
								
									
										6
									
								
								vendor/code.gitea.io/sdk/gitea/settings.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								vendor/code.gitea.io/sdk/gitea/settings.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -6,13 +6,15 @@ package gitea | ||||
|  | ||||
| // GlobalUISettings represent the global ui settings of a gitea instance witch is exposed by API | ||||
| type GlobalUISettings struct { | ||||
| 	DefaultTheme     string   `json:"default_theme"` | ||||
| 	AllowedReactions []string `json:"allowed_reactions"` | ||||
| } | ||||
|  | ||||
| // GlobalRepoSettings represent the global repository settings of a gitea instance witch is exposed by API | ||||
| type GlobalRepoSettings struct { | ||||
| 	MirrorsDisabled bool `json:"mirrors_disabled"` | ||||
| 	HTTPGitDisabled bool `json:"http_git_disabled"` | ||||
| 	MirrorsDisabled    bool `json:"mirrors_disabled"` | ||||
| 	HTTPGitDisabled    bool `json:"http_git_disabled"` | ||||
| 	MigrationsDisabled bool `json:"migrations_disabled"` | ||||
| } | ||||
|  | ||||
| // GlobalAPISettings contains global api settings exposed by it | ||||
|   | ||||
							
								
								
									
										21
									
								
								vendor/code.gitea.io/sdk/gitea/user_app.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										21
									
								
								vendor/code.gitea.io/sdk/gitea/user_app.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -27,12 +27,15 @@ type ListAccessTokensOptions struct { | ||||
|  | ||||
| // ListAccessTokens lists all the access tokens of user | ||||
| func (c *Client) ListAccessTokens(opts ListAccessTokensOptions) ([]*AccessToken, *Response, error) { | ||||
| 	if len(c.username) == 0 { | ||||
| 	c.mutex.RLock() | ||||
| 	username := c.username | ||||
| 	c.mutex.RUnlock() | ||||
| 	if len(username) == 0 { | ||||
| 		return nil, nil, fmt.Errorf("\"username\" not set: only BasicAuth allowed") | ||||
| 	} | ||||
| 	opts.setDefaults() | ||||
| 	tokens := make([]*AccessToken, 0, opts.PageSize) | ||||
| 	resp, err := c.getParsedResponse("GET", fmt.Sprintf("/users/%s/tokens?%s", c.username, opts.getURLQuery().Encode()), jsonHeader, nil, &tokens) | ||||
| 	resp, err := c.getParsedResponse("GET", fmt.Sprintf("/users/%s/tokens?%s", username, opts.getURLQuery().Encode()), jsonHeader, nil, &tokens) | ||||
| 	return tokens, resp, err | ||||
| } | ||||
|  | ||||
| @@ -43,7 +46,10 @@ type CreateAccessTokenOption struct { | ||||
|  | ||||
| // CreateAccessToken create one access token with options | ||||
| func (c *Client) CreateAccessToken(opt CreateAccessTokenOption) (*AccessToken, *Response, error) { | ||||
| 	if len(c.username) == 0 { | ||||
| 	c.mutex.RLock() | ||||
| 	username := c.username | ||||
| 	c.mutex.RUnlock() | ||||
| 	if len(username) == 0 { | ||||
| 		return nil, nil, fmt.Errorf("\"username\" not set: only BasicAuth allowed") | ||||
| 	} | ||||
| 	body, err := json.Marshal(&opt) | ||||
| @@ -51,13 +57,16 @@ func (c *Client) CreateAccessToken(opt CreateAccessTokenOption) (*AccessToken, * | ||||
| 		return nil, nil, err | ||||
| 	} | ||||
| 	t := new(AccessToken) | ||||
| 	resp, err := c.getParsedResponse("POST", fmt.Sprintf("/users/%s/tokens", c.username), jsonHeader, bytes.NewReader(body), t) | ||||
| 	resp, err := c.getParsedResponse("POST", fmt.Sprintf("/users/%s/tokens", username), jsonHeader, bytes.NewReader(body), t) | ||||
| 	return t, resp, err | ||||
| } | ||||
|  | ||||
| // DeleteAccessToken delete token, identified by ID and if not available by name | ||||
| func (c *Client) DeleteAccessToken(value interface{}) (*Response, error) { | ||||
| 	if len(c.username) == 0 { | ||||
| 	c.mutex.RLock() | ||||
| 	username := c.username | ||||
| 	c.mutex.RUnlock() | ||||
| 	if len(username) == 0 { | ||||
| 		return nil, fmt.Errorf("\"username\" not set: only BasicAuth allowed") | ||||
| 	} | ||||
|  | ||||
| @@ -75,6 +84,6 @@ func (c *Client) DeleteAccessToken(value interface{}) (*Response, error) { | ||||
| 		return nil, fmt.Errorf("only string and int64 supported") | ||||
| 	} | ||||
|  | ||||
| 	_, resp, err := c.getResponse("DELETE", fmt.Sprintf("/users/%s/tokens/%s", c.username, token), jsonHeader, nil) | ||||
| 	_, resp, err := c.getResponse("DELETE", fmt.Sprintf("/users/%s/tokens/%s", username, token), jsonHeader, nil) | ||||
| 	return resp, err | ||||
| } | ||||
|   | ||||
							
								
								
									
										10
									
								
								vendor/code.gitea.io/sdk/gitea/version.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								vendor/code.gitea.io/sdk/gitea/version.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -31,7 +31,10 @@ func (c *Client) CheckServerVersionConstraint(constraint string) error { | ||||
| 		return err | ||||
| 	} | ||||
| 	if !check.Check(c.serverVersion) { | ||||
| 		return fmt.Errorf("gitea server at %s does not satisfy version constraint %s", c.url, constraint) | ||||
| 		c.mutex.RLock() | ||||
| 		url := c.url | ||||
| 		c.mutex.RUnlock() | ||||
| 		return fmt.Errorf("gitea server at %s does not satisfy version constraint %s", url, constraint) | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
| @@ -51,7 +54,10 @@ func (c *Client) checkServerVersionGreaterThanOrEqual(v *version.Version) error | ||||
| 	} | ||||
|  | ||||
| 	if !c.serverVersion.GreaterThanOrEqual(v) { | ||||
| 		return fmt.Errorf("gitea server at %s is older than %s", c.url, v.Original()) | ||||
| 		c.mutex.RLock() | ||||
| 		url := c.url | ||||
| 		c.mutex.RUnlock() | ||||
| 		return fmt.Errorf("gitea server at %s is older than %s", url, v.Original()) | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 6543
					6543