aboutsummaryrefslogtreecommitdiff
path: root/models/repo.go
diff options
context:
space:
mode:
authorUnknwon <u@gogs.io>2017-06-02 14:26:34 -0400
committerUnknwon <u@gogs.io>2017-06-02 14:26:34 -0400
commitc69fa18434f9377557cb3e417d5469e0740e48d1 (patch)
tree7693be994269be151215d82703213c671cf30b67 /models/repo.go
parent4cb01fe3320a93b1cae5c8cd3e95d3dbd44c6f3a (diff)
repo: expose more fields to API format (#4484)
Diffstat (limited to 'models/repo.go')
-rw-r--r--models/repo.go9
1 files changed, 8 insertions, 1 deletions
diff --git a/models/repo.go b/models/repo.go
index 0aa6afda..87354641 100644
--- a/models/repo.go
+++ b/models/repo.go
@@ -285,7 +285,7 @@ func (repo *Repository) HTMLURL() string {
// Arguments that are allowed to be nil: permission
func (repo *Repository) APIFormat(permission *api.Permission) *api.Repository {
cloneLink := repo.CloneLink()
- return &api.Repository{
+ apiRepo := &api.Repository{
ID: repo.ID,
Owner: repo.Owner.APIFormat(),
Name: repo.Name,
@@ -293,7 +293,9 @@ func (repo *Repository) APIFormat(permission *api.Permission) *api.Repository {
Description: repo.Description,
Private: repo.IsPrivate,
Fork: repo.IsFork,
+ Empty: repo.IsBare,
Mirror: repo.IsMirror,
+ Size: repo.Size,
HTMLURL: repo.HTMLURL(),
SSHURL: cloneLink.SSH,
CloneURL: cloneLink.HTTPS,
@@ -307,6 +309,11 @@ func (repo *Repository) APIFormat(permission *api.Permission) *api.Repository {
Updated: repo.Updated,
Permissions: permission,
}
+ if repo.IsFork {
+ // FIXME: check precise permission for base repository
+ apiRepo.Parent = repo.BaseRepo.APIFormat(nil)
+ }
+ return apiRepo
}
func (repo *Repository) getOwner(e Engine) (err error) {