Added Parent property to the repo API (#1687)
Signed-off-by: Guyzmo <guyzmo+github+pub@m0g.net>release/v1.15
parent
251fb935ff
commit
397474ecb1
|
@ -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,
|
||||||
|
|
|
@ -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"`
|
||||||
|
|
|
@ -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=",
|
||||||
|
|
Loading…
Reference in New Issue