Move Repo APIFormat to convert package (#13787)
* Move Repo APIFormat to convert package * tweek
This commit is contained in:
parent
2b4a08e962
commit
7ac8a770e1
18 changed files with 201 additions and 193 deletions
134
models/repo.go
134
models/repo.go
|
@ -322,11 +322,6 @@ func (repo *Repository) APIURL() string {
|
||||||
return setting.AppURL + path.Join("api/v1/repos", repo.FullName())
|
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.
|
// GetCommitsCountCacheKey returns cache key used for commits count caching.
|
||||||
func (repo *Repository) GetCommitsCountCacheKey(contextName string, isRef bool) string {
|
func (repo *Repository) GetCommitsCountCacheKey(contextName string, isRef bool) string {
|
||||||
var prefix 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)
|
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) {
|
func (repo *Repository) getUnits(e Engine) (err error) {
|
||||||
if repo.Units != nil {
|
if repo.Units != nil {
|
||||||
return nil
|
return nil
|
||||||
|
|
|
@ -21,7 +21,7 @@ func ToNotificationThread(n *models.Notification) *api.NotificationThread {
|
||||||
|
|
||||||
//since user only get notifications when he has access to use minimal access mode
|
//since user only get notifications when he has access to use minimal access mode
|
||||||
if n.Repository != nil {
|
if n.Repository != nil {
|
||||||
result.Repository = n.Repository.APIFormat(models.AccessModeRead)
|
result.Repository = ToRepo(n.Repository, models.AccessModeRead)
|
||||||
}
|
}
|
||||||
|
|
||||||
//handle Subject
|
//handle Subject
|
||||||
|
|
|
@ -68,7 +68,7 @@ func ToAPIPullRequest(pr *models.PullRequest) *api.PullRequest {
|
||||||
Name: pr.BaseBranch,
|
Name: pr.BaseBranch,
|
||||||
Ref: pr.BaseBranch,
|
Ref: pr.BaseBranch,
|
||||||
RepoID: pr.BaseRepoID,
|
RepoID: pr.BaseRepoID,
|
||||||
Repository: pr.BaseRepo.APIFormat(models.AccessModeNone),
|
Repository: ToRepo(pr.BaseRepo, models.AccessModeNone),
|
||||||
},
|
},
|
||||||
Head: &api.PRBranchInfo{
|
Head: &api.PRBranchInfo{
|
||||||
Name: pr.HeadBranch,
|
Name: pr.HeadBranch,
|
||||||
|
@ -97,7 +97,7 @@ func ToAPIPullRequest(pr *models.PullRequest) *api.PullRequest {
|
||||||
|
|
||||||
if pr.HeadRepo != nil {
|
if pr.HeadRepo != nil {
|
||||||
apiPullRequest.Head.RepoID = pr.HeadRepo.ID
|
apiPullRequest.Head.RepoID = pr.HeadRepo.ID
|
||||||
apiPullRequest.Head.Repository = pr.HeadRepo.APIFormat(models.AccessModeNone)
|
apiPullRequest.Head.Repository = ToRepo(pr.HeadRepo, models.AccessModeNone)
|
||||||
|
|
||||||
headGitRepo, err := git.OpenRepository(pr.HeadRepo.RepoPath())
|
headGitRepo, err := git.OpenRepository(pr.HeadRepo.RepoPath())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
@ -27,7 +27,7 @@ func TestPullRequest_APIFormat(t *testing.T) {
|
||||||
Ref: "refs/pull/2/head",
|
Ref: "refs/pull/2/head",
|
||||||
Sha: "4a357436d925b5c974181ff12a994538ddc5a269",
|
Sha: "4a357436d925b5c974181ff12a994538ddc5a269",
|
||||||
RepoID: 1,
|
RepoID: 1,
|
||||||
Repository: headRepo.APIFormat(models.AccessModeNone),
|
Repository: ToRepo(headRepo, models.AccessModeNone),
|
||||||
}, apiPullRequest.Head)
|
}, apiPullRequest.Head)
|
||||||
|
|
||||||
//withOut HeadRepo
|
//withOut HeadRepo
|
||||||
|
|
137
modules/convert/repository.go
Normal file
137
modules/convert/repository.go
Normal file
|
@ -0,0 +1,137 @@
|
||||||
|
// Copyright 2020 The Gitea Authors. All rights reserved.
|
||||||
|
// Use of this source code is governed by a MIT-style
|
||||||
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
package convert
|
||||||
|
|
||||||
|
import (
|
||||||
|
"code.gitea.io/gitea/models"
|
||||||
|
api "code.gitea.io/gitea/modules/structs"
|
||||||
|
)
|
||||||
|
|
||||||
|
// ToRepo converts a Repository to api.Repository
|
||||||
|
func ToRepo(repo *models.Repository, mode models.AccessMode) *api.Repository {
|
||||||
|
return innerToRepo(repo, mode, false)
|
||||||
|
}
|
||||||
|
|
||||||
|
func innerToRepo(repo *models.Repository, mode models.AccessMode, isParent bool) *api.Repository {
|
||||||
|
var parent *api.Repository
|
||||||
|
|
||||||
|
cloneLink := repo.CloneLink()
|
||||||
|
permission := &api.Permission{
|
||||||
|
Admin: mode >= models.AccessModeAdmin,
|
||||||
|
Push: mode >= models.AccessModeWrite,
|
||||||
|
Pull: mode >= models.AccessModeRead,
|
||||||
|
}
|
||||||
|
if !isParent {
|
||||||
|
err := repo.GetBaseRepo()
|
||||||
|
if err != nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
if repo.BaseRepo != nil {
|
||||||
|
parent = innerToRepo(repo.BaseRepo, mode, true)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//check enabled/disabled units
|
||||||
|
hasIssues := false
|
||||||
|
var externalTracker *api.ExternalTracker
|
||||||
|
var internalTracker *api.InternalTracker
|
||||||
|
if unit, err := repo.GetUnit(models.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(models.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(models.UnitTypeWiki); err == nil {
|
||||||
|
hasWiki = true
|
||||||
|
} else if unit, err := repo.GetUnit(models.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(models.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(models.UnitTypeProjects); err == nil {
|
||||||
|
hasProjects = true
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := repo.GetOwner(); err != nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
numReleases, _ := models.GetReleaseCountByRepoID(repo.ID, models.FindReleasesOptions{IncludeDrafts: false, IncludeTags: true})
|
||||||
|
|
||||||
|
return &api.Repository{
|
||||||
|
ID: repo.ID,
|
||||||
|
Owner: ToUser(repo.Owner, mode != models.AccessModeNone, mode >= models.AccessModeAdmin),
|
||||||
|
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(),
|
||||||
|
Internal: !repo.IsPrivate && repo.Owner.Visibility == api.VisibleTypePrivate,
|
||||||
|
}
|
||||||
|
}
|
|
@ -52,7 +52,7 @@ func (m *webhookNotifier) NotifyIssueClearLabels(doer *models.User, issue *model
|
||||||
Action: api.HookIssueLabelCleared,
|
Action: api.HookIssueLabelCleared,
|
||||||
Index: issue.Index,
|
Index: issue.Index,
|
||||||
PullRequest: convert.ToAPIPullRequest(issue.PullRequest),
|
PullRequest: convert.ToAPIPullRequest(issue.PullRequest),
|
||||||
Repository: issue.Repo.APIFormat(mode),
|
Repository: convert.ToRepo(issue.Repo, mode),
|
||||||
Sender: convert.ToUser(doer, false, false),
|
Sender: convert.ToUser(doer, false, false),
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
|
@ -60,7 +60,7 @@ func (m *webhookNotifier) NotifyIssueClearLabels(doer *models.User, issue *model
|
||||||
Action: api.HookIssueLabelCleared,
|
Action: api.HookIssueLabelCleared,
|
||||||
Index: issue.Index,
|
Index: issue.Index,
|
||||||
Issue: convert.ToAPIIssue(issue),
|
Issue: convert.ToAPIIssue(issue),
|
||||||
Repository: issue.Repo.APIFormat(mode),
|
Repository: convert.ToRepo(issue.Repo, mode),
|
||||||
Sender: convert.ToUser(doer, false, false),
|
Sender: convert.ToUser(doer, false, false),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -75,8 +75,8 @@ func (m *webhookNotifier) NotifyForkRepository(doer *models.User, oldRepo, repo
|
||||||
|
|
||||||
// forked webhook
|
// forked webhook
|
||||||
if err := webhook_module.PrepareWebhooks(oldRepo, models.HookEventFork, &api.ForkPayload{
|
if err := webhook_module.PrepareWebhooks(oldRepo, models.HookEventFork, &api.ForkPayload{
|
||||||
Forkee: oldRepo.APIFormat(oldMode),
|
Forkee: convert.ToRepo(oldRepo, oldMode),
|
||||||
Repo: repo.APIFormat(mode),
|
Repo: convert.ToRepo(repo, mode),
|
||||||
Sender: convert.ToUser(doer, false, false),
|
Sender: convert.ToUser(doer, false, false),
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
log.Error("PrepareWebhooks [repo_id: %d]: %v", oldRepo.ID, err)
|
log.Error("PrepareWebhooks [repo_id: %d]: %v", oldRepo.ID, err)
|
||||||
|
@ -88,7 +88,7 @@ func (m *webhookNotifier) NotifyForkRepository(doer *models.User, oldRepo, repo
|
||||||
if u.IsOrganization() {
|
if u.IsOrganization() {
|
||||||
if err := webhook_module.PrepareWebhooks(repo, models.HookEventRepository, &api.RepositoryPayload{
|
if err := webhook_module.PrepareWebhooks(repo, models.HookEventRepository, &api.RepositoryPayload{
|
||||||
Action: api.HookRepoCreated,
|
Action: api.HookRepoCreated,
|
||||||
Repository: repo.APIFormat(models.AccessModeOwner),
|
Repository: convert.ToRepo(repo, models.AccessModeOwner),
|
||||||
Organization: convert.ToUser(u, false, false),
|
Organization: convert.ToUser(u, false, false),
|
||||||
Sender: convert.ToUser(doer, false, false),
|
Sender: convert.ToUser(doer, false, false),
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
|
@ -101,7 +101,7 @@ func (m *webhookNotifier) NotifyCreateRepository(doer *models.User, u *models.Us
|
||||||
// Add to hook queue for created repo after session commit.
|
// Add to hook queue for created repo after session commit.
|
||||||
if err := webhook_module.PrepareWebhooks(repo, models.HookEventRepository, &api.RepositoryPayload{
|
if err := webhook_module.PrepareWebhooks(repo, models.HookEventRepository, &api.RepositoryPayload{
|
||||||
Action: api.HookRepoCreated,
|
Action: api.HookRepoCreated,
|
||||||
Repository: repo.APIFormat(models.AccessModeOwner),
|
Repository: convert.ToRepo(repo, models.AccessModeOwner),
|
||||||
Organization: convert.ToUser(u, false, false),
|
Organization: convert.ToUser(u, false, false),
|
||||||
Sender: convert.ToUser(doer, false, false),
|
Sender: convert.ToUser(doer, false, false),
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
|
@ -114,7 +114,7 @@ func (m *webhookNotifier) NotifyDeleteRepository(doer *models.User, repo *models
|
||||||
|
|
||||||
if err := webhook_module.PrepareWebhooks(repo, models.HookEventRepository, &api.RepositoryPayload{
|
if err := webhook_module.PrepareWebhooks(repo, models.HookEventRepository, &api.RepositoryPayload{
|
||||||
Action: api.HookRepoDeleted,
|
Action: api.HookRepoDeleted,
|
||||||
Repository: repo.APIFormat(models.AccessModeOwner),
|
Repository: convert.ToRepo(repo, models.AccessModeOwner),
|
||||||
Organization: convert.ToUser(u, false, false),
|
Organization: convert.ToUser(u, false, false),
|
||||||
Sender: convert.ToUser(doer, false, false),
|
Sender: convert.ToUser(doer, false, false),
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
|
@ -134,7 +134,7 @@ func (m *webhookNotifier) NotifyIssueChangeAssignee(doer *models.User, issue *mo
|
||||||
apiPullRequest := &api.PullRequestPayload{
|
apiPullRequest := &api.PullRequestPayload{
|
||||||
Index: issue.Index,
|
Index: issue.Index,
|
||||||
PullRequest: convert.ToAPIPullRequest(issue.PullRequest),
|
PullRequest: convert.ToAPIPullRequest(issue.PullRequest),
|
||||||
Repository: issue.Repo.APIFormat(mode),
|
Repository: convert.ToRepo(issue.Repo, mode),
|
||||||
Sender: convert.ToUser(doer, false, false),
|
Sender: convert.ToUser(doer, false, false),
|
||||||
}
|
}
|
||||||
if removed {
|
if removed {
|
||||||
|
@ -152,7 +152,7 @@ func (m *webhookNotifier) NotifyIssueChangeAssignee(doer *models.User, issue *mo
|
||||||
apiIssue := &api.IssuePayload{
|
apiIssue := &api.IssuePayload{
|
||||||
Index: issue.Index,
|
Index: issue.Index,
|
||||||
Issue: convert.ToAPIIssue(issue),
|
Issue: convert.ToAPIIssue(issue),
|
||||||
Repository: issue.Repo.APIFormat(mode),
|
Repository: convert.ToRepo(issue.Repo, mode),
|
||||||
Sender: convert.ToUser(doer, false, false),
|
Sender: convert.ToUser(doer, false, false),
|
||||||
}
|
}
|
||||||
if removed {
|
if removed {
|
||||||
|
@ -186,7 +186,7 @@ func (m *webhookNotifier) NotifyIssueChangeTitle(doer *models.User, issue *model
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
PullRequest: convert.ToAPIPullRequest(issue.PullRequest),
|
PullRequest: convert.ToAPIPullRequest(issue.PullRequest),
|
||||||
Repository: issue.Repo.APIFormat(mode),
|
Repository: convert.ToRepo(issue.Repo, mode),
|
||||||
Sender: convert.ToUser(doer, false, false),
|
Sender: convert.ToUser(doer, false, false),
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
|
@ -199,7 +199,7 @@ func (m *webhookNotifier) NotifyIssueChangeTitle(doer *models.User, issue *model
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Issue: convert.ToAPIIssue(issue),
|
Issue: convert.ToAPIIssue(issue),
|
||||||
Repository: issue.Repo.APIFormat(mode),
|
Repository: convert.ToRepo(issue.Repo, mode),
|
||||||
Sender: convert.ToUser(issue.Poster, false, false),
|
Sender: convert.ToUser(issue.Poster, false, false),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -221,7 +221,7 @@ func (m *webhookNotifier) NotifyIssueChangeStatus(doer *models.User, issue *mode
|
||||||
apiPullRequest := &api.PullRequestPayload{
|
apiPullRequest := &api.PullRequestPayload{
|
||||||
Index: issue.Index,
|
Index: issue.Index,
|
||||||
PullRequest: convert.ToAPIPullRequest(issue.PullRequest),
|
PullRequest: convert.ToAPIPullRequest(issue.PullRequest),
|
||||||
Repository: issue.Repo.APIFormat(mode),
|
Repository: convert.ToRepo(issue.Repo, mode),
|
||||||
Sender: convert.ToUser(doer, false, false),
|
Sender: convert.ToUser(doer, false, false),
|
||||||
}
|
}
|
||||||
if isClosed {
|
if isClosed {
|
||||||
|
@ -234,7 +234,7 @@ func (m *webhookNotifier) NotifyIssueChangeStatus(doer *models.User, issue *mode
|
||||||
apiIssue := &api.IssuePayload{
|
apiIssue := &api.IssuePayload{
|
||||||
Index: issue.Index,
|
Index: issue.Index,
|
||||||
Issue: convert.ToAPIIssue(issue),
|
Issue: convert.ToAPIIssue(issue),
|
||||||
Repository: issue.Repo.APIFormat(mode),
|
Repository: convert.ToRepo(issue.Repo, mode),
|
||||||
Sender: convert.ToUser(doer, false, false),
|
Sender: convert.ToUser(doer, false, false),
|
||||||
}
|
}
|
||||||
if isClosed {
|
if isClosed {
|
||||||
|
@ -264,7 +264,7 @@ func (m *webhookNotifier) NotifyNewIssue(issue *models.Issue) {
|
||||||
Action: api.HookIssueOpened,
|
Action: api.HookIssueOpened,
|
||||||
Index: issue.Index,
|
Index: issue.Index,
|
||||||
Issue: convert.ToAPIIssue(issue),
|
Issue: convert.ToAPIIssue(issue),
|
||||||
Repository: issue.Repo.APIFormat(mode),
|
Repository: convert.ToRepo(issue.Repo, mode),
|
||||||
Sender: convert.ToUser(issue.Poster, false, false),
|
Sender: convert.ToUser(issue.Poster, false, false),
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
log.Error("PrepareWebhooks: %v", err)
|
log.Error("PrepareWebhooks: %v", err)
|
||||||
|
@ -290,7 +290,7 @@ func (m *webhookNotifier) NotifyNewPullRequest(pull *models.PullRequest) {
|
||||||
Action: api.HookIssueOpened,
|
Action: api.HookIssueOpened,
|
||||||
Index: pull.Issue.Index,
|
Index: pull.Issue.Index,
|
||||||
PullRequest: convert.ToAPIPullRequest(pull),
|
PullRequest: convert.ToAPIPullRequest(pull),
|
||||||
Repository: pull.Issue.Repo.APIFormat(mode),
|
Repository: convert.ToRepo(pull.Issue.Repo, mode),
|
||||||
Sender: convert.ToUser(pull.Issue.Poster, false, false),
|
Sender: convert.ToUser(pull.Issue.Poster, false, false),
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
log.Error("PrepareWebhooks: %v", err)
|
log.Error("PrepareWebhooks: %v", err)
|
||||||
|
@ -311,7 +311,7 @@ func (m *webhookNotifier) NotifyIssueChangeContent(doer *models.User, issue *mod
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
PullRequest: convert.ToAPIPullRequest(issue.PullRequest),
|
PullRequest: convert.ToAPIPullRequest(issue.PullRequest),
|
||||||
Repository: issue.Repo.APIFormat(mode),
|
Repository: convert.ToRepo(issue.Repo, mode),
|
||||||
Sender: convert.ToUser(doer, false, false),
|
Sender: convert.ToUser(doer, false, false),
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
|
@ -324,7 +324,7 @@ func (m *webhookNotifier) NotifyIssueChangeContent(doer *models.User, issue *mod
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Issue: convert.ToAPIIssue(issue),
|
Issue: convert.ToAPIIssue(issue),
|
||||||
Repository: issue.Repo.APIFormat(mode),
|
Repository: convert.ToRepo(issue.Repo, mode),
|
||||||
Sender: convert.ToUser(doer, false, false),
|
Sender: convert.ToUser(doer, false, false),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -361,7 +361,7 @@ func (m *webhookNotifier) NotifyUpdateComment(doer *models.User, c *models.Comme
|
||||||
From: oldContent,
|
From: oldContent,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Repository: c.Issue.Repo.APIFormat(mode),
|
Repository: convert.ToRepo(c.Issue.Repo, mode),
|
||||||
Sender: convert.ToUser(doer, false, false),
|
Sender: convert.ToUser(doer, false, false),
|
||||||
IsPull: true,
|
IsPull: true,
|
||||||
})
|
})
|
||||||
|
@ -375,7 +375,7 @@ func (m *webhookNotifier) NotifyUpdateComment(doer *models.User, c *models.Comme
|
||||||
From: oldContent,
|
From: oldContent,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Repository: c.Issue.Repo.APIFormat(mode),
|
Repository: convert.ToRepo(c.Issue.Repo, mode),
|
||||||
Sender: convert.ToUser(doer, false, false),
|
Sender: convert.ToUser(doer, false, false),
|
||||||
IsPull: false,
|
IsPull: false,
|
||||||
})
|
})
|
||||||
|
@ -396,7 +396,7 @@ func (m *webhookNotifier) NotifyCreateIssueComment(doer *models.User, repo *mode
|
||||||
Action: api.HookIssueCommentCreated,
|
Action: api.HookIssueCommentCreated,
|
||||||
Issue: convert.ToAPIIssue(issue),
|
Issue: convert.ToAPIIssue(issue),
|
||||||
Comment: convert.ToComment(comment),
|
Comment: convert.ToComment(comment),
|
||||||
Repository: repo.APIFormat(mode),
|
Repository: convert.ToRepo(repo, mode),
|
||||||
Sender: convert.ToUser(doer, false, false),
|
Sender: convert.ToUser(doer, false, false),
|
||||||
IsPull: true,
|
IsPull: true,
|
||||||
})
|
})
|
||||||
|
@ -405,7 +405,7 @@ func (m *webhookNotifier) NotifyCreateIssueComment(doer *models.User, repo *mode
|
||||||
Action: api.HookIssueCommentCreated,
|
Action: api.HookIssueCommentCreated,
|
||||||
Issue: convert.ToAPIIssue(issue),
|
Issue: convert.ToAPIIssue(issue),
|
||||||
Comment: convert.ToComment(comment),
|
Comment: convert.ToComment(comment),
|
||||||
Repository: repo.APIFormat(mode),
|
Repository: convert.ToRepo(repo, mode),
|
||||||
Sender: convert.ToUser(doer, false, false),
|
Sender: convert.ToUser(doer, false, false),
|
||||||
IsPull: false,
|
IsPull: false,
|
||||||
})
|
})
|
||||||
|
@ -440,7 +440,7 @@ func (m *webhookNotifier) NotifyDeleteComment(doer *models.User, comment *models
|
||||||
Action: api.HookIssueCommentDeleted,
|
Action: api.HookIssueCommentDeleted,
|
||||||
Issue: convert.ToAPIIssue(comment.Issue),
|
Issue: convert.ToAPIIssue(comment.Issue),
|
||||||
Comment: convert.ToComment(comment),
|
Comment: convert.ToComment(comment),
|
||||||
Repository: comment.Issue.Repo.APIFormat(mode),
|
Repository: convert.ToRepo(comment.Issue.Repo, mode),
|
||||||
Sender: convert.ToUser(doer, false, false),
|
Sender: convert.ToUser(doer, false, false),
|
||||||
IsPull: true,
|
IsPull: true,
|
||||||
})
|
})
|
||||||
|
@ -449,7 +449,7 @@ func (m *webhookNotifier) NotifyDeleteComment(doer *models.User, comment *models
|
||||||
Action: api.HookIssueCommentDeleted,
|
Action: api.HookIssueCommentDeleted,
|
||||||
Issue: convert.ToAPIIssue(comment.Issue),
|
Issue: convert.ToAPIIssue(comment.Issue),
|
||||||
Comment: convert.ToComment(comment),
|
Comment: convert.ToComment(comment),
|
||||||
Repository: comment.Issue.Repo.APIFormat(mode),
|
Repository: convert.ToRepo(comment.Issue.Repo, mode),
|
||||||
Sender: convert.ToUser(doer, false, false),
|
Sender: convert.ToUser(doer, false, false),
|
||||||
IsPull: false,
|
IsPull: false,
|
||||||
})
|
})
|
||||||
|
@ -489,7 +489,7 @@ func (m *webhookNotifier) NotifyIssueChangeLabels(doer *models.User, issue *mode
|
||||||
Action: api.HookIssueLabelUpdated,
|
Action: api.HookIssueLabelUpdated,
|
||||||
Index: issue.Index,
|
Index: issue.Index,
|
||||||
PullRequest: convert.ToAPIPullRequest(issue.PullRequest),
|
PullRequest: convert.ToAPIPullRequest(issue.PullRequest),
|
||||||
Repository: issue.Repo.APIFormat(models.AccessModeNone),
|
Repository: convert.ToRepo(issue.Repo, models.AccessModeNone),
|
||||||
Sender: convert.ToUser(doer, false, false),
|
Sender: convert.ToUser(doer, false, false),
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
|
@ -497,7 +497,7 @@ func (m *webhookNotifier) NotifyIssueChangeLabels(doer *models.User, issue *mode
|
||||||
Action: api.HookIssueLabelUpdated,
|
Action: api.HookIssueLabelUpdated,
|
||||||
Index: issue.Index,
|
Index: issue.Index,
|
||||||
Issue: convert.ToAPIIssue(issue),
|
Issue: convert.ToAPIIssue(issue),
|
||||||
Repository: issue.Repo.APIFormat(mode),
|
Repository: convert.ToRepo(issue.Repo, mode),
|
||||||
Sender: convert.ToUser(doer, false, false),
|
Sender: convert.ToUser(doer, false, false),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -531,7 +531,7 @@ func (m *webhookNotifier) NotifyIssueChangeMilestone(doer *models.User, issue *m
|
||||||
Action: hookAction,
|
Action: hookAction,
|
||||||
Index: issue.Index,
|
Index: issue.Index,
|
||||||
PullRequest: convert.ToAPIPullRequest(issue.PullRequest),
|
PullRequest: convert.ToAPIPullRequest(issue.PullRequest),
|
||||||
Repository: issue.Repo.APIFormat(mode),
|
Repository: convert.ToRepo(issue.Repo, mode),
|
||||||
Sender: convert.ToUser(doer, false, false),
|
Sender: convert.ToUser(doer, false, false),
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
|
@ -539,7 +539,7 @@ func (m *webhookNotifier) NotifyIssueChangeMilestone(doer *models.User, issue *m
|
||||||
Action: hookAction,
|
Action: hookAction,
|
||||||
Index: issue.Index,
|
Index: issue.Index,
|
||||||
Issue: convert.ToAPIIssue(issue),
|
Issue: convert.ToAPIIssue(issue),
|
||||||
Repository: issue.Repo.APIFormat(mode),
|
Repository: convert.ToRepo(issue.Repo, mode),
|
||||||
Sender: convert.ToUser(doer, false, false),
|
Sender: convert.ToUser(doer, false, false),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -562,7 +562,7 @@ func (m *webhookNotifier) NotifyPushCommits(pusher *models.User, repo *models.Re
|
||||||
After: opts.NewCommitID,
|
After: opts.NewCommitID,
|
||||||
CompareURL: setting.AppURL + commits.CompareURL,
|
CompareURL: setting.AppURL + commits.CompareURL,
|
||||||
Commits: apiCommits,
|
Commits: apiCommits,
|
||||||
Repo: repo.APIFormat(models.AccessModeOwner),
|
Repo: convert.ToRepo(repo, models.AccessModeOwner),
|
||||||
Pusher: apiPusher,
|
Pusher: apiPusher,
|
||||||
Sender: apiPusher,
|
Sender: apiPusher,
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
|
@ -597,7 +597,7 @@ func (*webhookNotifier) NotifyMergePullRequest(pr *models.PullRequest, doer *mod
|
||||||
apiPullRequest := &api.PullRequestPayload{
|
apiPullRequest := &api.PullRequestPayload{
|
||||||
Index: pr.Issue.Index,
|
Index: pr.Issue.Index,
|
||||||
PullRequest: convert.ToAPIPullRequest(pr),
|
PullRequest: convert.ToAPIPullRequest(pr),
|
||||||
Repository: pr.Issue.Repo.APIFormat(mode),
|
Repository: convert.ToRepo(pr.Issue.Repo, mode),
|
||||||
Sender: convert.ToUser(doer, false, false),
|
Sender: convert.ToUser(doer, false, false),
|
||||||
Action: api.HookIssueClosed,
|
Action: api.HookIssueClosed,
|
||||||
}
|
}
|
||||||
|
@ -630,7 +630,7 @@ func (m *webhookNotifier) NotifyPullRequestChangeTargetBranch(doer *models.User,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
PullRequest: convert.ToAPIPullRequest(issue.PullRequest),
|
PullRequest: convert.ToAPIPullRequest(issue.PullRequest),
|
||||||
Repository: issue.Repo.APIFormat(mode),
|
Repository: convert.ToRepo(issue.Repo, mode),
|
||||||
Sender: convert.ToUser(doer, false, false),
|
Sender: convert.ToUser(doer, false, false),
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -669,7 +669,7 @@ func (m *webhookNotifier) NotifyPullRequestReview(pr *models.PullRequest, review
|
||||||
Action: api.HookIssueReviewed,
|
Action: api.HookIssueReviewed,
|
||||||
Index: review.Issue.Index,
|
Index: review.Issue.Index,
|
||||||
PullRequest: convert.ToAPIPullRequest(pr),
|
PullRequest: convert.ToAPIPullRequest(pr),
|
||||||
Repository: review.Issue.Repo.APIFormat(mode),
|
Repository: convert.ToRepo(review.Issue.Repo, mode),
|
||||||
Sender: convert.ToUser(review.Reviewer, false, false),
|
Sender: convert.ToUser(review.Reviewer, false, false),
|
||||||
Review: &api.ReviewPayload{
|
Review: &api.ReviewPayload{
|
||||||
Type: string(reviewHookType),
|
Type: string(reviewHookType),
|
||||||
|
@ -682,7 +682,7 @@ func (m *webhookNotifier) NotifyPullRequestReview(pr *models.PullRequest, review
|
||||||
|
|
||||||
func (m *webhookNotifier) NotifyCreateRef(pusher *models.User, repo *models.Repository, refType, refFullName string) {
|
func (m *webhookNotifier) NotifyCreateRef(pusher *models.User, repo *models.Repository, refType, refFullName string) {
|
||||||
apiPusher := convert.ToUser(pusher, false, false)
|
apiPusher := convert.ToUser(pusher, false, false)
|
||||||
apiRepo := repo.APIFormat(models.AccessModeNone)
|
apiRepo := convert.ToRepo(repo, models.AccessModeNone)
|
||||||
refName := git.RefEndName(refFullName)
|
refName := git.RefEndName(refFullName)
|
||||||
|
|
||||||
gitRepo, err := git.OpenRepository(repo.RepoPath())
|
gitRepo, err := git.OpenRepository(repo.RepoPath())
|
||||||
|
@ -724,7 +724,7 @@ func (m *webhookNotifier) NotifyPullRequestSynchronized(doer *models.User, pr *m
|
||||||
Action: api.HookIssueSynchronized,
|
Action: api.HookIssueSynchronized,
|
||||||
Index: pr.Issue.Index,
|
Index: pr.Issue.Index,
|
||||||
PullRequest: convert.ToAPIPullRequest(pr),
|
PullRequest: convert.ToAPIPullRequest(pr),
|
||||||
Repository: pr.Issue.Repo.APIFormat(models.AccessModeNone),
|
Repository: convert.ToRepo(pr.Issue.Repo, models.AccessModeNone),
|
||||||
Sender: convert.ToUser(doer, false, false),
|
Sender: convert.ToUser(doer, false, false),
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
log.Error("PrepareWebhooks [pull_id: %v]: %v", pr.ID, err)
|
log.Error("PrepareWebhooks [pull_id: %v]: %v", pr.ID, err)
|
||||||
|
@ -733,7 +733,7 @@ func (m *webhookNotifier) NotifyPullRequestSynchronized(doer *models.User, pr *m
|
||||||
|
|
||||||
func (m *webhookNotifier) NotifyDeleteRef(pusher *models.User, repo *models.Repository, refType, refFullName string) {
|
func (m *webhookNotifier) NotifyDeleteRef(pusher *models.User, repo *models.Repository, refType, refFullName string) {
|
||||||
apiPusher := convert.ToUser(pusher, false, false)
|
apiPusher := convert.ToUser(pusher, false, false)
|
||||||
apiRepo := repo.APIFormat(models.AccessModeNone)
|
apiRepo := convert.ToRepo(repo, models.AccessModeNone)
|
||||||
refName := git.RefEndName(refFullName)
|
refName := git.RefEndName(refFullName)
|
||||||
|
|
||||||
if err := webhook_module.PrepareWebhooks(repo, models.HookEventDelete, &api.DeletePayload{
|
if err := webhook_module.PrepareWebhooks(repo, models.HookEventDelete, &api.DeletePayload{
|
||||||
|
@ -757,7 +757,7 @@ func sendReleaseHook(doer *models.User, rel *models.Release, action api.HookRele
|
||||||
if err := webhook_module.PrepareWebhooks(rel.Repo, models.HookEventRelease, &api.ReleasePayload{
|
if err := webhook_module.PrepareWebhooks(rel.Repo, models.HookEventRelease, &api.ReleasePayload{
|
||||||
Action: action,
|
Action: action,
|
||||||
Release: convert.ToRelease(rel),
|
Release: convert.ToRelease(rel),
|
||||||
Repository: rel.Repo.APIFormat(mode),
|
Repository: convert.ToRepo(rel.Repo, mode),
|
||||||
Sender: convert.ToUser(rel.Publisher, false, false),
|
Sender: convert.ToUser(rel.Publisher, false, false),
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
log.Error("PrepareWebhooks: %v", err)
|
log.Error("PrepareWebhooks: %v", err)
|
||||||
|
@ -790,7 +790,7 @@ func (m *webhookNotifier) NotifySyncPushCommits(pusher *models.User, repo *model
|
||||||
After: opts.NewCommitID,
|
After: opts.NewCommitID,
|
||||||
CompareURL: setting.AppURL + commits.CompareURL,
|
CompareURL: setting.AppURL + commits.CompareURL,
|
||||||
Commits: apiCommits,
|
Commits: apiCommits,
|
||||||
Repo: repo.APIFormat(models.AccessModeOwner),
|
Repo: convert.ToRepo(repo, models.AccessModeOwner),
|
||||||
Pusher: apiPusher,
|
Pusher: apiPusher,
|
||||||
Sender: apiPusher,
|
Sender: apiPusher,
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
|
|
|
@ -492,7 +492,7 @@ func GetTeamRepos(ctx *context.APIContext) {
|
||||||
ctx.Error(http.StatusInternalServerError, "GetTeamRepos", err)
|
ctx.Error(http.StatusInternalServerError, "GetTeamRepos", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
repos[i] = repo.APIFormat(access)
|
repos[i] = convert.ToRepo(repo, access)
|
||||||
}
|
}
|
||||||
ctx.JSON(http.StatusOK, repos)
|
ctx.JSON(http.StatusOK, repos)
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,6 +11,7 @@ import (
|
||||||
|
|
||||||
"code.gitea.io/gitea/models"
|
"code.gitea.io/gitea/models"
|
||||||
"code.gitea.io/gitea/modules/context"
|
"code.gitea.io/gitea/modules/context"
|
||||||
|
"code.gitea.io/gitea/modules/convert"
|
||||||
api "code.gitea.io/gitea/modules/structs"
|
api "code.gitea.io/gitea/modules/structs"
|
||||||
"code.gitea.io/gitea/routers/api/v1/utils"
|
"code.gitea.io/gitea/routers/api/v1/utils"
|
||||||
repo_service "code.gitea.io/gitea/services/repository"
|
repo_service "code.gitea.io/gitea/services/repository"
|
||||||
|
@ -58,7 +59,7 @@ func ListForks(ctx *context.APIContext) {
|
||||||
ctx.Error(http.StatusInternalServerError, "AccessLevel", err)
|
ctx.Error(http.StatusInternalServerError, "AccessLevel", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
apiForks[i] = fork.APIFormat(access)
|
apiForks[i] = convert.ToRepo(fork, access)
|
||||||
}
|
}
|
||||||
ctx.JSON(http.StatusOK, apiForks)
|
ctx.JSON(http.StatusOK, apiForks)
|
||||||
}
|
}
|
||||||
|
@ -125,5 +126,5 @@ func CreateFork(ctx *context.APIContext, form api.CreateForkOption) {
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO change back to 201
|
//TODO change back to 201
|
||||||
ctx.JSON(http.StatusAccepted, fork.APIFormat(models.AccessModeOwner))
|
ctx.JSON(http.StatusAccepted, convert.ToRepo(fork, models.AccessModeOwner))
|
||||||
}
|
}
|
||||||
|
|
|
@ -146,7 +146,7 @@ func TestHook(ctx *context.APIContext) {
|
||||||
Commits: []*api.PayloadCommit{
|
Commits: []*api.PayloadCommit{
|
||||||
convert.ToPayloadCommit(ctx.Repo.Repository, ctx.Repo.Commit),
|
convert.ToPayloadCommit(ctx.Repo.Repository, ctx.Repo.Commit),
|
||||||
},
|
},
|
||||||
Repo: ctx.Repo.Repository.APIFormat(models.AccessModeNone),
|
Repo: convert.ToRepo(ctx.Repo.Repository, models.AccessModeNone),
|
||||||
Pusher: convert.ToUser(ctx.User, ctx.IsSigned, false),
|
Pusher: convert.ToUser(ctx.User, ctx.IsSigned, false),
|
||||||
Sender: convert.ToUser(ctx.User, ctx.IsSigned, false),
|
Sender: convert.ToUser(ctx.User, ctx.IsSigned, false),
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
|
|
|
@ -21,13 +21,13 @@ import (
|
||||||
func appendPrivateInformation(apiKey *api.DeployKey, key *models.DeployKey, repository *models.Repository) (*api.DeployKey, error) {
|
func appendPrivateInformation(apiKey *api.DeployKey, key *models.DeployKey, repository *models.Repository) (*api.DeployKey, error) {
|
||||||
apiKey.ReadOnly = key.Mode == models.AccessModeRead
|
apiKey.ReadOnly = key.Mode == models.AccessModeRead
|
||||||
if repository.ID == key.RepoID {
|
if repository.ID == key.RepoID {
|
||||||
apiKey.Repository = repository.APIFormat(key.Mode)
|
apiKey.Repository = convert.ToRepo(repository, key.Mode)
|
||||||
} else {
|
} else {
|
||||||
repo, err := models.GetRepositoryByID(key.RepoID)
|
repo, err := models.GetRepositoryByID(key.RepoID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return apiKey, err
|
return apiKey, err
|
||||||
}
|
}
|
||||||
apiKey.Repository = repo.APIFormat(key.Mode)
|
apiKey.Repository = convert.ToRepo(repo, key.Mode)
|
||||||
}
|
}
|
||||||
return apiKey, nil
|
return apiKey, nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -191,7 +191,7 @@ func Migrate(ctx *context.APIContext, form api.MigrateRepoOptions) {
|
||||||
}
|
}
|
||||||
|
|
||||||
log.Trace("Repository migrated: %s/%s", repoOwner.Name, form.RepoName)
|
log.Trace("Repository migrated: %s/%s", repoOwner.Name, form.RepoName)
|
||||||
ctx.JSON(http.StatusCreated, repo.APIFormat(models.AccessModeAdmin))
|
ctx.JSON(http.StatusCreated, convert.ToRepo(repo, models.AccessModeAdmin))
|
||||||
}
|
}
|
||||||
|
|
||||||
func handleMigrateError(ctx *context.APIContext, repoOwner *models.User, remoteAddr string, err error) {
|
func handleMigrateError(ctx *context.APIContext, repoOwner *models.User, remoteAddr string, err error) {
|
||||||
|
|
|
@ -12,6 +12,7 @@ import (
|
||||||
|
|
||||||
"code.gitea.io/gitea/models"
|
"code.gitea.io/gitea/models"
|
||||||
"code.gitea.io/gitea/modules/context"
|
"code.gitea.io/gitea/modules/context"
|
||||||
|
"code.gitea.io/gitea/modules/convert"
|
||||||
"code.gitea.io/gitea/modules/git"
|
"code.gitea.io/gitea/modules/git"
|
||||||
"code.gitea.io/gitea/modules/log"
|
"code.gitea.io/gitea/modules/log"
|
||||||
"code.gitea.io/gitea/modules/setting"
|
"code.gitea.io/gitea/modules/setting"
|
||||||
|
@ -217,7 +218,7 @@ func Search(ctx *context.APIContext) {
|
||||||
Error: err.Error(),
|
Error: err.Error(),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
results[i] = repo.APIFormat(accessMode)
|
results[i] = convert.ToRepo(repo, accessMode)
|
||||||
}
|
}
|
||||||
|
|
||||||
ctx.SetLinkHeader(int(count), opts.PageSize)
|
ctx.SetLinkHeader(int(count), opts.PageSize)
|
||||||
|
@ -265,7 +266,7 @@ func CreateUserRepo(ctx *context.APIContext, owner *models.User, opt api.CreateR
|
||||||
ctx.Error(http.StatusInternalServerError, "GetRepositoryByID", err)
|
ctx.Error(http.StatusInternalServerError, "GetRepositoryByID", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
ctx.JSON(http.StatusCreated, repo.APIFormat(models.AccessModeOwner))
|
ctx.JSON(http.StatusCreated, convert.ToRepo(repo, models.AccessModeOwner))
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create one repository of mine
|
// Create one repository of mine
|
||||||
|
@ -406,7 +407,7 @@ func Get(ctx *context.APIContext) {
|
||||||
// "200":
|
// "200":
|
||||||
// "$ref": "#/responses/Repository"
|
// "$ref": "#/responses/Repository"
|
||||||
|
|
||||||
ctx.JSON(http.StatusOK, ctx.Repo.Repository.APIFormat(ctx.Repo.AccessMode))
|
ctx.JSON(http.StatusOK, convert.ToRepo(ctx.Repo.Repository, ctx.Repo.AccessMode))
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetByID returns a single Repository
|
// GetByID returns a single Repository
|
||||||
|
@ -445,7 +446,7 @@ func GetByID(ctx *context.APIContext) {
|
||||||
ctx.NotFound()
|
ctx.NotFound()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
ctx.JSON(http.StatusOK, repo.APIFormat(perm.AccessMode))
|
ctx.JSON(http.StatusOK, convert.ToRepo(repo, perm.AccessMode))
|
||||||
}
|
}
|
||||||
|
|
||||||
// Edit edit repository properties
|
// Edit edit repository properties
|
||||||
|
@ -494,7 +495,7 @@ func Edit(ctx *context.APIContext, opts api.EditRepoOption) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ctx.JSON(http.StatusOK, ctx.Repo.Repository.APIFormat(ctx.Repo.AccessMode))
|
ctx.JSON(http.StatusOK, convert.ToRepo(ctx.Repo.Repository, ctx.Repo.AccessMode))
|
||||||
}
|
}
|
||||||
|
|
||||||
// updateBasicProperties updates the basic properties of a repo: Name, Description, Website and Visibility
|
// updateBasicProperties updates the basic properties of a repo: Name, Description, Website and Visibility
|
||||||
|
|
|
@ -300,7 +300,7 @@ func GetCombinedCommitStatusByRef(ctx *context.APIContext) {
|
||||||
retStatus := &combinedCommitStatus{
|
retStatus := &combinedCommitStatus{
|
||||||
SHA: sha,
|
SHA: sha,
|
||||||
TotalCount: len(statuses),
|
TotalCount: len(statuses),
|
||||||
Repo: repo.APIFormat(ctx.Repo.AccessMode),
|
Repo: convert.ToRepo(repo, ctx.Repo.AccessMode),
|
||||||
URL: "",
|
URL: "",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -105,5 +105,5 @@ func Transfer(ctx *context.APIContext, opts api.TransferRepoOption) {
|
||||||
}
|
}
|
||||||
|
|
||||||
log.Trace("Repository transferred: %s -> %s", ctx.Repo.Repository.FullName(), newOwner.Name)
|
log.Trace("Repository transferred: %s -> %s", ctx.Repo.Repository.FullName(), newOwner.Name)
|
||||||
ctx.JSON(http.StatusAccepted, newRepo.APIFormat(models.AccessModeAdmin))
|
ctx.JSON(http.StatusAccepted, convert.ToRepo(newRepo, models.AccessModeAdmin))
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,6 +10,7 @@ import (
|
||||||
|
|
||||||
"code.gitea.io/gitea/models"
|
"code.gitea.io/gitea/models"
|
||||||
"code.gitea.io/gitea/modules/context"
|
"code.gitea.io/gitea/modules/context"
|
||||||
|
"code.gitea.io/gitea/modules/convert"
|
||||||
api "code.gitea.io/gitea/modules/structs"
|
api "code.gitea.io/gitea/modules/structs"
|
||||||
"code.gitea.io/gitea/routers/api/v1/utils"
|
"code.gitea.io/gitea/routers/api/v1/utils"
|
||||||
)
|
)
|
||||||
|
@ -37,7 +38,7 @@ func listUserRepos(ctx *context.APIContext, u *models.User, private bool) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if ctx.IsSigned && ctx.User.IsAdmin || access >= models.AccessModeRead {
|
if ctx.IsSigned && ctx.User.IsAdmin || access >= models.AccessModeRead {
|
||||||
apiRepos = append(apiRepos, repos[i].APIFormat(access))
|
apiRepos = append(apiRepos, convert.ToRepo(repos[i], access))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -125,7 +126,7 @@ func ListMyRepos(ctx *context.APIContext) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
ctx.Error(http.StatusInternalServerError, "AccessLevel", err)
|
ctx.Error(http.StatusInternalServerError, "AccessLevel", err)
|
||||||
}
|
}
|
||||||
results[i] = repo.APIFormat(accessMode)
|
results[i] = convert.ToRepo(repo, accessMode)
|
||||||
}
|
}
|
||||||
|
|
||||||
ctx.SetLinkHeader(int(count), opts.ListOptions.PageSize)
|
ctx.SetLinkHeader(int(count), opts.ListOptions.PageSize)
|
||||||
|
|
|
@ -10,6 +10,7 @@ import (
|
||||||
|
|
||||||
"code.gitea.io/gitea/models"
|
"code.gitea.io/gitea/models"
|
||||||
"code.gitea.io/gitea/modules/context"
|
"code.gitea.io/gitea/modules/context"
|
||||||
|
"code.gitea.io/gitea/modules/convert"
|
||||||
api "code.gitea.io/gitea/modules/structs"
|
api "code.gitea.io/gitea/modules/structs"
|
||||||
"code.gitea.io/gitea/routers/api/v1/utils"
|
"code.gitea.io/gitea/routers/api/v1/utils"
|
||||||
)
|
)
|
||||||
|
@ -28,7 +29,7 @@ func getStarredRepos(user *models.User, private bool, listOptions models.ListOpt
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
repos[i] = starred.APIFormat(access)
|
repos[i] = convert.ToRepo(starred, access)
|
||||||
}
|
}
|
||||||
return repos, nil
|
return repos, nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,6 +9,7 @@ import (
|
||||||
|
|
||||||
"code.gitea.io/gitea/models"
|
"code.gitea.io/gitea/models"
|
||||||
"code.gitea.io/gitea/modules/context"
|
"code.gitea.io/gitea/modules/context"
|
||||||
|
"code.gitea.io/gitea/modules/convert"
|
||||||
api "code.gitea.io/gitea/modules/structs"
|
api "code.gitea.io/gitea/modules/structs"
|
||||||
"code.gitea.io/gitea/routers/api/v1/utils"
|
"code.gitea.io/gitea/routers/api/v1/utils"
|
||||||
)
|
)
|
||||||
|
@ -27,7 +28,7 @@ func getWatchedRepos(user *models.User, private bool, listOptions models.ListOpt
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
repos[i] = watched.APIFormat(access)
|
repos[i] = convert.ToRepo(watched, access)
|
||||||
}
|
}
|
||||||
return repos, nil
|
return repos, nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -1073,7 +1073,7 @@ func TestWebhook(ctx *context.Context) {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Repo: ctx.Repo.Repository.APIFormat(models.AccessModeNone),
|
Repo: convert.ToRepo(ctx.Repo.Repository, models.AccessModeNone),
|
||||||
Pusher: apiUser,
|
Pusher: apiUser,
|
||||||
Sender: apiUser,
|
Sender: apiUser,
|
||||||
}
|
}
|
||||||
|
|
Reference in a new issue