diff options
author | 6543 <6543@obermui.de> | 2020-12-02 22:38:30 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-02 16:38:30 -0500 |
commit | 7ac8a770e1086a50d1fc0a194fe0d7060036fb30 (patch) | |
tree | f3c9e4e92bd158c8ef506ea46163c2dd95a57cfa /models/repo.go | |
parent | 2b4a08e9621e052845062ecd71ebfd37453c0383 (diff) | |
download | gitea-7ac8a770e1086a50d1fc0a194fe0d7060036fb30.tar.gz gitea-7ac8a770e1086a50d1fc0a194fe0d7060036fb30.zip |
Move Repo APIFormat to convert package (#13787)
* Move Repo APIFormat to convert package
* tweek
Diffstat (limited to 'models/repo.go')
-rw-r--r-- | models/repo.go | 134 |
1 files changed, 0 insertions, 134 deletions
diff --git a/models/repo.go b/models/repo.go index 7e38bbcdb7..3df850a3ba 100644 --- a/models/repo.go +++ b/models/repo.go @@ -322,11 +322,6 @@ func (repo *Repository) APIURL() string { return setting.AppURL + path.Join("api/v1/repos", repo.FullName()) } -// APIFormat converts a Repository to api.Repository -func (repo *Repository) APIFormat(mode AccessMode) *api.Repository { - return repo.innerAPIFormat(x, mode, false) -} - // GetCommitsCountCacheKey returns cache key used for commits count caching. func (repo *Repository) GetCommitsCountCacheKey(contextName string, isRef bool) string { var prefix string @@ -338,135 +333,6 @@ func (repo *Repository) GetCommitsCountCacheKey(contextName string, isRef bool) return fmt.Sprintf("commits-count-%d-%s-%s", repo.ID, prefix, contextName) } -func (repo *Repository) innerAPIFormat(e Engine, mode AccessMode, isParent bool) *api.Repository { - var parent *api.Repository - - cloneLink := repo.cloneLink(false) - permission := &api.Permission{ - Admin: mode >= AccessModeAdmin, - Push: mode >= AccessModeWrite, - Pull: mode >= AccessModeRead, - } - if !isParent { - err := repo.getBaseRepo(e) - if err != nil { - log.Error("APIFormat: %v", err) - } - if repo.BaseRepo != nil { - parent = repo.BaseRepo.innerAPIFormat(e, mode, true) - } - } - - //check enabled/disabled units - hasIssues := false - var externalTracker *api.ExternalTracker - var internalTracker *api.InternalTracker - if unit, err := repo.getUnit(e, UnitTypeIssues); err == nil { - config := unit.IssuesConfig() - hasIssues = true - internalTracker = &api.InternalTracker{ - EnableTimeTracker: config.EnableTimetracker, - AllowOnlyContributorsToTrackTime: config.AllowOnlyContributorsToTrackTime, - EnableIssueDependencies: config.EnableDependencies, - } - } else if unit, err := repo.getUnit(e, UnitTypeExternalTracker); err == nil { - config := unit.ExternalTrackerConfig() - hasIssues = true - externalTracker = &api.ExternalTracker{ - ExternalTrackerURL: config.ExternalTrackerURL, - ExternalTrackerFormat: config.ExternalTrackerFormat, - ExternalTrackerStyle: config.ExternalTrackerStyle, - } - } - hasWiki := false - var externalWiki *api.ExternalWiki - if _, err := repo.getUnit(e, UnitTypeWiki); err == nil { - hasWiki = true - } else if unit, err := repo.getUnit(e, UnitTypeExternalWiki); err == nil { - hasWiki = true - config := unit.ExternalWikiConfig() - externalWiki = &api.ExternalWiki{ - ExternalWikiURL: config.ExternalWikiURL, - } - } - hasPullRequests := false - ignoreWhitespaceConflicts := false - allowMerge := false - allowRebase := false - allowRebaseMerge := false - allowSquash := false - if unit, err := repo.getUnit(e, UnitTypePullRequests); err == nil { - config := unit.PullRequestsConfig() - hasPullRequests = true - ignoreWhitespaceConflicts = config.IgnoreWhitespaceConflicts - allowMerge = config.AllowMerge - allowRebase = config.AllowRebase - allowRebaseMerge = config.AllowRebaseMerge - allowSquash = config.AllowSquash - } - hasProjects := false - if _, err := repo.getUnit(e, UnitTypeProjects); err == nil { - hasProjects = true - } - - repo.mustOwner(e) - - numReleases, _ := GetReleaseCountByRepoID(repo.ID, FindReleasesOptions{IncludeDrafts: false, IncludeTags: true}) - - return &api.Repository{ - ID: repo.ID, - // TODO use convert.ToUser(repo.Owner) - Owner: &api.User{ - ID: repo.Owner.ID, - UserName: repo.Owner.Name, - FullName: repo.Owner.FullName, - Email: repo.Owner.GetEmail(), - AvatarURL: repo.Owner.AvatarLink(), - LastLogin: repo.Owner.LastLoginUnix.AsTime(), - Created: repo.Owner.CreatedUnix.AsTime(), - }, - Name: repo.Name, - FullName: repo.FullName(), - Description: repo.Description, - Private: repo.IsPrivate, - Template: repo.IsTemplate, - Empty: repo.IsEmpty, - Archived: repo.IsArchived, - Size: int(repo.Size / 1024), - Fork: repo.IsFork, - Parent: parent, - Mirror: repo.IsMirror, - HTMLURL: repo.HTMLURL(), - SSHURL: cloneLink.SSH, - CloneURL: cloneLink.HTTPS, - Website: repo.Website, - Stars: repo.NumStars, - Forks: repo.NumForks, - Watchers: repo.NumWatches, - OpenIssues: repo.NumOpenIssues, - OpenPulls: repo.NumOpenPulls, - Releases: int(numReleases), - DefaultBranch: repo.DefaultBranch, - Created: repo.CreatedUnix.AsTime(), - Updated: repo.UpdatedUnix.AsTime(), - Permissions: permission, - HasIssues: hasIssues, - ExternalTracker: externalTracker, - InternalTracker: internalTracker, - HasWiki: hasWiki, - HasProjects: hasProjects, - ExternalWiki: externalWiki, - HasPullRequests: hasPullRequests, - IgnoreWhitespaceConflicts: ignoreWhitespaceConflicts, - AllowMerge: allowMerge, - AllowRebase: allowRebase, - AllowRebaseMerge: allowRebaseMerge, - AllowSquash: allowSquash, - AvatarURL: repo.avatarLink(e), - Internal: !repo.IsPrivate && repo.Owner.Visibility == api.VisibleTypePrivate, - } -} - func (repo *Repository) getUnits(e Engine) (err error) { if repo.Units != nil { return nil |