]> source.dussan.org Git - gitea.git/commitdiff
Added Parent property to the repo API (#1687)
authorguyzmo <guyzmo+github+pub@m0g.net>
Fri, 12 May 2017 03:09:26 +0000 (05:09 +0200)
committerBo-Yi Wu <appleboy.tw@gmail.com>
Fri, 12 May 2017 03:09:26 +0000 (11:09 +0800)
Signed-off-by: Guyzmo <guyzmo+github+pub@m0g.net>
models/repo.go
vendor/code.gitea.io/sdk/gitea/repo.go
vendor/vendor.json

index d29df1b24e822b414acb426d5a6aae5f0a83646e..c8f7d949a760a989166cf4e84b87c5b14b4a8d62 100644 (file)
@@ -272,12 +272,27 @@ func (repo *Repository) APIURL() string {
 
 // APIFormat converts a Repository to 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()
        permission := &api.Permission{
                Admin: mode >= AccessModeAdmin,
                Push:  mode >= AccessModeWrite,
                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{
                ID:            repo.ID,
                Owner:         repo.Owner.APIFormat(),
@@ -288,6 +303,7 @@ func (repo *Repository) APIFormat(mode AccessMode) *api.Repository {
                Empty:         repo.IsBare,
                Size:          int(repo.Size/1024),
                Fork:          repo.IsFork,
+               Parent:        parent,
                Mirror:        repo.IsMirror,
                HTMLURL:       repo.HTMLURL(),
                SSHURL:        cloneLink.SSH,
index b2447618f6376458dc138288e79db7dbfcc3bdbb..7e997cd5d7f508a28bb1d9572d5fc4b32efc7229 100644 (file)
@@ -29,6 +29,7 @@ type Repository struct {
        Empty         bool        `json:"empty"`
        Private       bool        `json:"private"`
        Fork          bool        `json:"fork"`
+       Parent        *Repository `json:"parent"`
        Mirror        bool        `json:"mirror"`
        Size          int         `json:"size"`
        HTMLURL       string      `json:"html_url"`
index a28e71f3d316de6ab7760024752f2cc048a68f02..93e8fa9d8b777bb164b89d9d46fe9ae3db2555ec 100644 (file)
@@ -9,10 +9,10 @@
                        "revisionTime": "2017-05-04T06:58:26Z"
                },
                {
-                       "checksumSHA1": "L58DGmGw5eZThPkaHEaY9vuz42g=",
+                       "checksumSHA1": "nLhT+bLMj8uLICP+EZbrdoQe6mM=",
                        "path": "code.gitea.io/sdk/gitea",
-                       "revision": "1350cdb0d049083453c93dcabfcac2e7ba553951",
-                       "revisionTime": "2017-05-04T17:35:58Z"
+                       "revision": "8cff72208aa458f4efa8fdfbad29b03aee485b8c",
+                       "revisionTime": "2017-05-06T01:37:21Z"
                },
                {
                        "checksumSHA1": "bOODD4Gbw3GfcuQPU2dI40crxxk=",