summaryrefslogtreecommitdiffstats
path: root/models/repo.go
diff options
context:
space:
mode:
authorUnknwon <u@gogs.io>2015-12-05 13:24:13 -0500
committerUnknwon <u@gogs.io>2015-12-05 13:24:13 -0500
commit404867f206f97ec4ea2e6032fea47bc0499d3497 (patch)
treeb37be9387d2a00cd2447e65a1367bb292c6c0a09 /models/repo.go
parentf0ee33267c453cc7f77a87a2b4b784febbb604dd (diff)
downloadgitea-404867f206f97ec4ea2e6032fea47bc0499d3497.tar.gz
gitea-404867f206f97ec4ea2e6032fea47bc0499d3497.zip
fix #2105 and fix #1857
Diffstat (limited to 'models/repo.go')
-rw-r--r--models/repo.go22
1 files changed, 22 insertions, 0 deletions
diff --git a/models/repo.go b/models/repo.go
index a3417ef308..5b66d2c0be 100644
--- a/models/repo.go
+++ b/models/repo.go
@@ -28,6 +28,7 @@ import (
"gopkg.in/ini.v1"
"github.com/gogits/git-shell"
+ api "github.com/gogits/go-gogs-client"
"github.com/gogits/gogs/modules/base"
"github.com/gogits/gogs/modules/bindata"
@@ -380,6 +381,27 @@ func (repo *Repository) SavePatch(index int64, patch []byte) error {
return nil
}
+// ComposePayload composes and returns *api.PayloadRepo corresponding to the repository.
+func (repo *Repository) ComposePayload() *api.PayloadRepo {
+ cl := repo.CloneLink()
+ return &api.PayloadRepo{
+ ID: repo.ID,
+ Name: repo.LowerName,
+ URL: repo.RepoLink(),
+ SSHURL: cl.SSH,
+ CloneURL: cl.HTTPS,
+ Description: repo.Description,
+ Website: repo.Website,
+ Watchers: repo.NumWatches,
+ Owner: &api.PayloadAuthor{
+ Name: repo.MustOwner().DisplayName(),
+ Email: repo.MustOwner().Email,
+ UserName: repo.MustOwner().Name,
+ },
+ Private: repo.IsPrivate,
+ }
+}
+
func isRepositoryExist(e Engine, u *User, repoName string) (bool, error) {
has, err := e.Get(&Repository{
OwnerID: u.Id,