0
0
Fork 0
mirror of https://github.com/go-gitea/gitea synced 2024-11-28 14:32:57 +01:00

Added Parent property to the repo API (#1687)

Signed-off-by: Guyzmo <guyzmo+github+pub@m0g.net>
This commit is contained in:
guyzmo 2017-05-12 05:09:26 +02:00 committed by Bo-Yi Wu
parent 251fb935ff
commit 397474ecb1
3 changed files with 20 additions and 3 deletions

View file

@ -272,12 +272,27 @@ func (repo *Repository) APIURL() string {
// APIFormat converts a Repository to api.Repository // APIFormat converts a Repository to api.Repository
func (repo *Repository) APIFormat(mode AccessMode) *api.Repository { func (repo *Repository) APIFormat(mode AccessMode) *api.Repository {
return repo.innerAPIFormat(mode, false)
}
func (repo *Repository) innerAPIFormat(mode AccessMode, isParent bool) *api.Repository {
var parent *api.Repository
cloneLink := repo.CloneLink() cloneLink := repo.CloneLink()
permission := &api.Permission{ permission := &api.Permission{
Admin: mode >= AccessModeAdmin, Admin: mode >= AccessModeAdmin,
Push: mode >= AccessModeWrite, Push: mode >= AccessModeWrite,
Pull: mode >= AccessModeRead, Pull: mode >= AccessModeRead,
} }
if !isParent {
err := repo.GetBaseRepo()
if err != nil {
log.Error(4, "APIFormat: %v", err)
}
if repo.BaseRepo != nil {
parent = repo.BaseRepo.innerAPIFormat(mode, true)
}
}
return &api.Repository{ return &api.Repository{
ID: repo.ID, ID: repo.ID,
Owner: repo.Owner.APIFormat(), Owner: repo.Owner.APIFormat(),
@ -288,6 +303,7 @@ func (repo *Repository) APIFormat(mode AccessMode) *api.Repository {
Empty: repo.IsBare, Empty: repo.IsBare,
Size: int(repo.Size/1024), Size: int(repo.Size/1024),
Fork: repo.IsFork, Fork: repo.IsFork,
Parent: parent,
Mirror: repo.IsMirror, Mirror: repo.IsMirror,
HTMLURL: repo.HTMLURL(), HTMLURL: repo.HTMLURL(),
SSHURL: cloneLink.SSH, SSHURL: cloneLink.SSH,

View file

@ -29,6 +29,7 @@ type Repository struct {
Empty bool `json:"empty"` Empty bool `json:"empty"`
Private bool `json:"private"` Private bool `json:"private"`
Fork bool `json:"fork"` Fork bool `json:"fork"`
Parent *Repository `json:"parent"`
Mirror bool `json:"mirror"` Mirror bool `json:"mirror"`
Size int `json:"size"` Size int `json:"size"`
HTMLURL string `json:"html_url"` HTMLURL string `json:"html_url"`

6
vendor/vendor.json vendored
View file

@ -9,10 +9,10 @@
"revisionTime": "2017-05-04T06:58:26Z" "revisionTime": "2017-05-04T06:58:26Z"
}, },
{ {
"checksumSHA1": "L58DGmGw5eZThPkaHEaY9vuz42g=", "checksumSHA1": "nLhT+bLMj8uLICP+EZbrdoQe6mM=",
"path": "code.gitea.io/sdk/gitea", "path": "code.gitea.io/sdk/gitea",
"revision": "1350cdb0d049083453c93dcabfcac2e7ba553951", "revision": "8cff72208aa458f4efa8fdfbad29b03aee485b8c",
"revisionTime": "2017-05-04T17:35:58Z" "revisionTime": "2017-05-06T01:37:21Z"
}, },
{ {
"checksumSHA1": "bOODD4Gbw3GfcuQPU2dI40crxxk=", "checksumSHA1": "bOODD4Gbw3GfcuQPU2dI40crxxk=",