diff options
author | Ethan Koenig <etk39@cornell.edu> | 2016-12-30 20:15:45 -0500 |
---|---|---|
committer | Lunny Xiao <xiaolunwen@gmail.com> | 2016-12-31 09:15:45 +0800 |
commit | b75450ad361bd7c468af5a01f42d203010206f62 (patch) | |
tree | 41dd186977e6d4cedc8935aaa152563d07df6e06 /vendor/code.gitea.io/sdk | |
parent | 527c2dd6651bc7beed12acd48b22ac69c0bf337e (diff) | |
download | gitea-b75450ad361bd7c468af5a01f42d203010206f62.tar.gz gitea-b75450ad361bd7c468af5a01f42d203010206f62.zip |
API endpoints for forks (#509)
Diffstat (limited to 'vendor/code.gitea.io/sdk')
-rw-r--r-- | vendor/code.gitea.io/sdk/gitea/fork.go | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/vendor/code.gitea.io/sdk/gitea/fork.go b/vendor/code.gitea.io/sdk/gitea/fork.go new file mode 100644 index 0000000000..e2158e1a16 --- /dev/null +++ b/vendor/code.gitea.io/sdk/gitea/fork.go @@ -0,0 +1,38 @@ +// Copyright 2016 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" +) + +// ListForks list a repository's forks +func (c *Client) ListForks(user, repo string) ([]*Repository, error) { + forks := make([]*Repository, 10) + err := c.getParsedResponse("GET", + fmt.Sprintf("/repos/%s/%s/forks", user, repo), + nil, nil, &forks) + return forks, err +} + +// CreateForkOption options for creating a fork +type CreateForkOption struct { + Organization *string `json:"organization"` +} + +// CreateFork create a fork of a repository +func (c *Client) CreateFork(user, repo string, form CreateForkOption) (*Repository, error) { + body, err := json.Marshal(form) + if err != nil { + return nil, err + } + fork := new(Repository) + err = c.getParsedResponse("POST", + fmt.Sprintf("/repos/%s/%s/forks", user, repo), + jsonHeader, bytes.NewReader(body), &fork) + return fork, err +} |