mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 16:40:24 +08:00 
			
		
		
		
	Added Parent property to the repo API (#1687)
Signed-off-by: Guyzmo <guyzmo+github+pub@m0g.net>
This commit is contained in:
		@@ -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,
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										1
									
								
								vendor/code.gitea.io/sdk/gitea/repo.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/code.gitea.io/sdk/gitea/repo.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -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
									
									
								
							
							
						
						
									
										6
									
								
								vendor/vendor.json
									
									
									
									
										vendored
									
									
								
							@@ -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=",
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user