summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUnknwon <u@gogs.io>2016-08-14 04:17:26 -0700
committerUnknwon <u@gogs.io>2016-08-14 04:17:26 -0700
commitdccb0c15b996ac4dc0307cbfed140ce1558d7e3c (patch)
tree97593eae3a1023296c2c03258e6bc4ae4c02b6bf
parent3f7f4852efaaa56a0dada832dc652a1fc8869ae7 (diff)
downloadgitea-dccb0c15b996ac4dc0307cbfed140ce1558d7e3c.tar.gz
gitea-dccb0c15b996ac4dc0307cbfed140ce1558d7e3c.zip
Replace convert.To with APIFormat calls
-rw-r--r--.gopmfile4
-rw-r--r--README.md2
-rw-r--r--cmd/serve.go3
-rw-r--r--cmd/web.go2
-rw-r--r--glide.lock4
-rw-r--r--gogs.go2
-rw-r--r--models/action.go44
-rw-r--r--models/pull.go18
-rw-r--r--models/repo.go22
-rw-r--r--models/webhook_slack.go16
-rw-r--r--routers/api/v1/admin/user.go5
-rw-r--r--routers/api/v1/convert/convert.go103
-rw-r--r--routers/api/v1/repo/issue.go18
-rw-r--r--routers/api/v1/repo/issue_label.go7
-rw-r--r--routers/api/v1/repo/label.go9
-rw-r--r--routers/api/v1/repo/repo.go12
-rw-r--r--routers/api/v1/user/follower.go3
-rw-r--r--routers/api/v1/user/user.go5
-rw-r--r--routers/repo/http.go4
-rw-r--r--routers/repo/webhook.go19
-rw-r--r--templates/.VERSION2
21 files changed, 79 insertions, 225 deletions
diff --git a/.gopmfile b/.gopmfile
index e8ffef1e36..9d80bca4bb 100644
--- a/.gopmfile
+++ b/.gopmfile
@@ -18,8 +18,8 @@ github.com/go-xorm/core = commit:5bf745d
github.com/go-xorm/xorm = commit:c6c7056
github.com/gogits/chardet = commit:2404f77
github.com/gogits/cron = commit:7f3990a
-github.com/gogits/git-module = commit:efc90b5
-github.com/gogits/go-gogs-client = commit:87e4334
+github.com/gogits/git-module = commit:313ce90
+github.com/gogits/go-gogs-client = commit:e363d3f
github.com/issue9/identicon = commit:d36b545
github.com/jaytaylor/html2text = commit:52d9b78
github.com/kardianos/minwinsvc = commit:cad6b2b
diff --git a/README.md b/README.md
index 7b4b310b60..2a36e8a958 100644
--- a/README.md
+++ b/README.md
@@ -3,7 +3,7 @@ Gogs - Go Git Service [![Build Status](https://travis-ci.org/gogits/gogs.svg?bra
![](https://github.com/gogits/gogs/blob/master/public/img/gogs-large-resize.png?raw=true)
-##### Current tip version: 0.9.76 (see [Releases](https://github.com/gogits/gogs/releases) for binary versions)
+##### Current tip version: 0.9.77 (see [Releases](https://github.com/gogits/gogs/releases) for binary versions)
| Web | UI | Preview |
|:-------------:|:-------:|:-------:|
diff --git a/cmd/serve.go b/cmd/serve.go
index a7503ca9b6..e55da77441 100644
--- a/cmd/serve.go
+++ b/cmd/serve.go
@@ -15,6 +15,7 @@ import (
"github.com/Unknwon/com"
"github.com/codegangsta/cli"
+ git "github.com/gogits/git-module"
gouuid "github.com/satori/go.uuid"
"github.com/gogits/gogs/models"
@@ -113,7 +114,7 @@ func handleUpdateTask(uuid string, user, repoUser *models.User, reponame string,
// Ask for running deliver hook and test pull request tasks.
reqURL := setting.LocalURL + repoUser.Name + "/" + reponame + "/tasks/trigger?branch=" +
- strings.TrimPrefix(task.RefName, "refs/heads/") + "&secret=" + base.EncodeMD5(repoUser.Salt) + "&pusher=" + com.ToStr(user.ID)
+ strings.TrimPrefix(task.RefName, git.BRANCH_PREFIX) + "&secret=" + base.EncodeMD5(repoUser.Salt) + "&pusher=" + com.ToStr(user.ID)
log.GitLogger.Trace("Trigger task: %s", reqURL)
resp, err := httplib.Head(reqURL).SetTLSClientConfig(&tls.Config{
diff --git a/cmd/web.go b/cmd/web.go
index ed45bdc060..bf027958b7 100644
--- a/cmd/web.go
+++ b/cmd/web.go
@@ -89,7 +89,7 @@ func checkVersion() {
{"gopkg.in/ini.v1", ini.Version, "1.8.4"},
{"gopkg.in/macaron.v1", macaron.Version, "1.1.7"},
{"github.com/gogits/git-module", git.Version, "0.3.5"},
- {"github.com/gogits/go-gogs-client", gogs.Version, "0.10.4"},
+ {"github.com/gogits/go-gogs-client", gogs.Version, "0.12.0"},
}
for _, c := range checkers {
if !version.Compare(c.Version(), c.Expected, ">=") {
diff --git a/glide.lock b/glide.lock
index fa728e0f8c..520f8dad1c 100644
--- a/glide.lock
+++ b/glide.lock
@@ -41,9 +41,9 @@ imports:
- name: github.com/gogits/cron
version: 7f3990acf1833faa5ebd0e86f0a4c72a4b5eba3c
- name: github.com/gogits/git-module
- version: efc90b5ea1f7b7e404673dcc19674b2a6856e0d3
+ version: 313ce907cc5a5801126c7dfa3a74d21cc3104329
- name: github.com/gogits/go-gogs-client
- version: 87e433464c1f5e98e7208123c15b78119776fb83
+ version: e363d3ff8f70d0fe813324eedf228684af41c29c
- name: github.com/issue9/identicon
version: d36b54562f4cf70c83653e13dc95c220c79ef521
- name: github.com/jaytaylor/html2text
diff --git a/gogs.go b/gogs.go
index 9a86c5cb67..032c37f934 100644
--- a/gogs.go
+++ b/gogs.go
@@ -17,7 +17,7 @@ import (
"github.com/gogits/gogs/modules/setting"
)
-const APP_VER = "0.9.76.0814"
+const APP_VER = "0.9.77.0814"
func init() {
runtime.GOMAXPROCS(runtime.NumCPU())
diff --git a/models/action.go b/models/action.go
index 584543d9c1..c727c05992 100644
--- a/models/action.go
+++ b/models/action.go
@@ -246,7 +246,7 @@ type PushCommit struct {
type PushCommits struct {
Len int
Commits []*PushCommit
- CompareUrl string
+ CompareURL string
avatars map[string]string
}
@@ -275,12 +275,12 @@ func (pc *PushCommits) ToApiPayloadCommits(repoLink string) []*api.PayloadCommit
ID: commit.Sha1,
Message: commit.Message,
URL: fmt.Sprintf("%s/commit/%s", repoLink, commit.Sha1),
- Author: &api.PayloadAuthor{
+ Author: &api.PayloadUser{
Name: commit.AuthorName,
Email: commit.AuthorEmail,
UserName: authorUsername,
},
- Committer: &api.PayloadCommitter{
+ Committer: &api.PayloadUser{
Name: commit.CommitterName,
Email: commit.CommitterEmail,
UserName: committerUsername,
@@ -475,7 +475,7 @@ func CommitRepoAction(
} else {
// if not the first commit, set the compareUrl
if !strings.HasPrefix(oldCommitID, "0000000") {
- commit.CompareUrl = repo.ComposeCompareURL(oldCommitID, newCommitID)
+ commit.CompareURL = repo.ComposeCompareURL(oldCommitID, newCommitID)
} else {
isNewBranch = true
}
@@ -495,7 +495,6 @@ func CommitRepoAction(
}
refName := git.RefEndName(refFullName)
-
if err = NotifyWatchers(&Action{
ActUserID: u.ID,
ActUserName: userName,
@@ -511,35 +510,24 @@ func CommitRepoAction(
return fmt.Errorf("NotifyWatchers: %v", err)
}
- payloadRepo := repo.ComposePayload()
-
- var pusherEmail, pusherName string
pusher, err := GetUserByName(userName)
- if err == nil {
- pusherEmail = pusher.Email
- pusherName = pusher.DisplayName()
- }
- payloadSender := &api.PayloadUser{
- UserName: pusher.Name,
- ID: pusher.ID,
- AvatarUrl: pusher.AvatarLink(),
+ if err != nil {
+ return fmt.Errorf("GetUserByName: %v", err)
}
+ apiPusher := pusher.APIFormat()
+ apiRepo := repo.APIFormat(nil)
switch opType {
case ACTION_COMMIT_REPO: // Push
if err = PrepareWebhooks(repo, HOOK_EVENT_PUSH, &api.PushPayload{
Ref: refFullName,
Before: oldCommitID,
After: newCommitID,
- CompareUrl: setting.AppUrl + commit.CompareUrl,
+ CompareURL: setting.AppUrl + commit.CompareURL,
Commits: commit.ToApiPayloadCommits(repo.FullLink()),
- Repo: payloadRepo,
- Pusher: &api.PayloadAuthor{
- Name: pusherName,
- Email: pusherEmail,
- UserName: userName,
- },
- Sender: payloadSender,
+ Repo: apiRepo,
+ Pusher: apiPusher,
+ Sender: apiPusher,
}); err != nil {
return fmt.Errorf("PrepareWebhooks: %v", err)
}
@@ -548,8 +536,8 @@ func CommitRepoAction(
return PrepareWebhooks(repo, HOOK_EVENT_CREATE, &api.CreatePayload{
Ref: refName,
RefType: "branch",
- Repo: payloadRepo,
- Sender: payloadSender,
+ Repo: apiRepo,
+ Sender: apiPusher,
})
}
@@ -557,8 +545,8 @@ func CommitRepoAction(
return PrepareWebhooks(repo, HOOK_EVENT_CREATE, &api.CreatePayload{
Ref: refName,
RefType: "tag",
- Repo: payloadRepo,
- Sender: payloadSender,
+ Repo: apiRepo,
+ Sender: apiPusher,
})
}
diff --git a/models/pull.go b/models/pull.go
index 4a2a376704..d6df00dc7f 100644
--- a/models/pull.go
+++ b/models/pull.go
@@ -308,22 +308,14 @@ func (pr *PullRequest) Merge(doer *User, baseGitRepo *git.Repository) (err error
l.PushFront(mergeCommit)
p := &api.PushPayload{
- Ref: "refs/heads/" + pr.BaseBranch,
+ Ref: git.BRANCH_PREFIX + pr.BaseBranch,
Before: pr.MergeBase,
After: pr.MergedCommitID,
- CompareUrl: setting.AppUrl + pr.BaseRepo.ComposeCompareURL(pr.MergeBase, pr.MergedCommitID),
+ CompareURL: setting.AppUrl + pr.BaseRepo.ComposeCompareURL(pr.MergeBase, pr.MergedCommitID),
Commits: ListToPushCommits(l).ToApiPayloadCommits(pr.BaseRepo.FullLink()),
- Repo: pr.BaseRepo.ComposePayload(),
- Pusher: &api.PayloadAuthor{
- Name: pr.HeadRepo.MustOwner().DisplayName(),
- Email: pr.HeadRepo.MustOwner().Email,
- UserName: pr.HeadRepo.MustOwner().Name,
- },
- Sender: &api.PayloadUser{
- UserName: doer.Name,
- ID: doer.ID,
- AvatarUrl: doer.AvatarLink(),
- },
+ Repo: pr.BaseRepo.APIFormat(nil),
+ Pusher: pr.HeadRepo.MustOwner().APIFormat(),
+ Sender: doer.APIFormat(),
}
if err = PrepareWebhooks(pr.BaseRepo, HOOK_EVENT_PUSH, p); err != nil {
return fmt.Errorf("PrepareWebhooks: %v", err)
diff --git a/models/repo.go b/models/repo.go
index ef8cd34375..f3eb439cac 100644
--- a/models/repo.go
+++ b/models/repo.go
@@ -482,28 +482,6 @@ func (repo *Repository) SavePatch(index int64, patch []byte) error {
return nil
}
-// ComposePayload composes and returns *api.PayloadRepo corresponding to the repository.
-func (repo *Repository) ComposePayload() *api.PayloadRepo {
- cl := repo.CloneLink()
- return &api.PayloadRepo{
- ID: repo.ID,
- Name: repo.Name,
- URL: repo.FullLink(),
- SSHURL: cl.SSH,
- CloneURL: cl.HTTPS,
- Description: repo.Description,
- Website: repo.Website,
- Watchers: repo.NumWatches,
- Owner: &api.PayloadAuthor{
- Name: repo.MustOwner().DisplayName(),
- Email: repo.MustOwner().Email,
- UserName: repo.MustOwner().Name,
- },
- Private: repo.IsPrivate,
- DefaultBranch: repo.DefaultBranch,
- }
-}
-
func isRepositoryExist(e Engine, u *User, repoName string) (bool, error) {
has, err := e.Get(&Repository{
OwnerID: u.ID,
diff --git a/models/webhook_slack.go b/models/webhook_slack.go
index 5578c816a5..edc26a78f3 100644
--- a/models/webhook_slack.go
+++ b/models/webhook_slack.go
@@ -76,8 +76,8 @@ func getSlackCreatePayload(p *api.CreatePayload, slack *SlackMeta) (*SlackPayloa
// created tag/branch
refName := git.RefEndName(p.Ref)
- repoLink := SlackLinkFormatter(p.Repo.URL, p.Repo.Name)
- refLink := SlackLinkFormatter(p.Repo.URL+"/src/"+refName, refName)
+ repoLink := SlackLinkFormatter(p.Repo.HTMLURL, p.Repo.Name)
+ refLink := SlackLinkFormatter(p.Repo.HTMLURL+"/src/"+refName, refName)
text := fmt.Sprintf("[%s:%s] %s created by %s", repoLink, refLink, p.RefType, p.Sender.UserName)
return &SlackPayload{
@@ -101,15 +101,15 @@ func getSlackPushPayload(p *api.PushPayload, slack *SlackMeta) (*SlackPayload, e
} else {
commitDesc = fmt.Sprintf("%d new commits", len(p.Commits))
}
- if len(p.CompareUrl) > 0 {
- commitString = SlackLinkFormatter(p.CompareUrl, commitDesc)
+ if len(p.CompareURL) > 0 {
+ commitString = SlackLinkFormatter(p.CompareURL, commitDesc)
} else {
commitString = commitDesc
}
- repoLink := SlackLinkFormatter(p.Repo.URL, p.Repo.Name)
- branchLink := SlackLinkFormatter(p.Repo.URL+"/src/"+branchName, branchName)
- text := fmt.Sprintf("[%s:%s] %s pushed by %s", repoLink, branchLink, commitString, p.Pusher.Name)
+ repoLink := SlackLinkFormatter(p.Repo.HTMLURL, p.Repo.Name)
+ branchLink := SlackLinkFormatter(p.Repo.HTMLURL+"/src/"+branchName, branchName)
+ text := fmt.Sprintf("[%s:%s] %s pushed by %s", repoLink, branchLink, commitString, p.Pusher.UserName)
var attachmentText string
// for each commit, generate attachment text
@@ -135,7 +135,7 @@ func getSlackPushPayload(p *api.PushPayload, slack *SlackMeta) (*SlackPayload, e
func getSlackPullRequestPayload(p *api.PullRequestPayload, slack *SlackMeta) (*SlackPayload, error) {
senderLink := SlackLinkFormatter(setting.AppUrl+p.Sender.UserName, p.Sender.UserName)
- titleLink := SlackLinkFormatter(fmt.Sprintf("%s/%d", setting.AppUrl+p.Repository.FullName+"/pulls", p.Index),
+ titleLink := SlackLinkFormatter(fmt.Sprintf("%s/pulls/%d", p.Repository.HTMLURL, p.Index),
fmt.Sprintf("#%d %s", p.Index, p.PullRequest.Title))
var text, title, attachmentText string
switch p.Action {
diff --git a/routers/api/v1/admin/user.go b/routers/api/v1/admin/user.go
index bbf069108c..ca3d67adbf 100644
--- a/routers/api/v1/admin/user.go
+++ b/routers/api/v1/admin/user.go
@@ -11,7 +11,6 @@ import (
"github.com/gogits/gogs/modules/context"
"github.com/gogits/gogs/modules/log"
"github.com/gogits/gogs/modules/setting"
- "github.com/gogits/gogs/routers/api/v1/convert"
"github.com/gogits/gogs/routers/api/v1/user"
)
@@ -69,7 +68,7 @@ func CreateUser(ctx *context.APIContext, form api.CreateUserOption) {
models.SendRegisterNotifyMail(ctx.Context.Context, u)
}
- ctx.JSON(201, convert.ToUser(u))
+ ctx.JSON(201, u.APIFormat())
}
// https://github.com/gogits/go-gogs-client/wiki/Administration-Users#edit-an-existing-user
@@ -121,7 +120,7 @@ func EditUser(ctx *context.APIContext, form api.EditUserOption) {
}
log.Trace("Account profile updated by admin (%s): %s", ctx.User.Name, u.Name)
- ctx.JSON(200, convert.ToUser(u))
+ ctx.JSON(200, u.APIFormat())
}
// https://github.com/gogits/go-gogs-client/wiki/Administration-Users#delete-a-user
diff --git a/routers/api/v1/convert/convert.go b/routers/api/v1/convert/convert.go
index c3ca9fd5d1..fcadb51fd4 100644
--- a/routers/api/v1/convert/convert.go
+++ b/routers/api/v1/convert/convert.go
@@ -13,23 +13,8 @@ import (
api "github.com/gogits/go-gogs-client"
"github.com/gogits/gogs/models"
- "github.com/gogits/gogs/modules/setting"
)
-func ToUser(u *models.User) *api.User {
- if u == nil {
- return nil
- }
-
- return &api.User{
- ID: u.ID,
- UserName: u.Name,
- FullName: u.FullName,
- Email: u.Email,
- AvatarUrl: u.AvatarLink(),
- }
-}
-
func ToEmail(email *models.EmailAddress) *api.Email {
return &api.Email{
Email: email.Email,
@@ -38,28 +23,6 @@ func ToEmail(email *models.EmailAddress) *api.Email {
}
}
-func ToRepository(owner *models.User, repo *models.Repository, permission api.Permission) *api.Repository {
- cl := repo.CloneLink()
- return &api.Repository{
- ID: repo.ID,
- Owner: ToUser(owner),
- FullName: owner.Name + "/" + repo.Name,
- Description: repo.Description,
- Private: repo.IsPrivate,
- Fork: repo.IsFork,
- HTMLURL: setting.AppUrl + owner.Name + "/" + repo.Name,
- CloneURL: cl.HTTPS,
- SSHURL: cl.SSH,
- OpenIssues: repo.NumOpenIssues,
- Stars: repo.NumStars,
- Forks: repo.NumForks,
- Watchers: repo.NumWatches,
- Created: repo.Created,
- Updated: repo.Updated,
- Permissions: &permission,
- }
-}
-
func ToBranch(b *models.Branch, c *git.Commit) *api.Branch {
return &api.Branch{
Name: b.Name,
@@ -82,12 +45,12 @@ func ToCommit(c *git.Commit) *api.PayloadCommit {
ID: c.ID.String(),
Message: c.Message(),
URL: "Not implemented",
- Author: &api.PayloadAuthor{
+ Author: &api.PayloadUser{
Name: c.Author.Name,
Email: c.Author.Email,
UserName: authorUsername,
},
- Committer: &api.PayloadCommitter{
+ Committer: &api.PayloadUser{
Name: c.Committer.Name,
Email: c.Committer.Email,
UserName: committerUsername,
@@ -142,68 +105,6 @@ func ToDeployKey(apiLink string, key *models.DeployKey) *api.DeployKey {
}
}
-func ToLabel(label *models.Label) *api.Label {
- return &api.Label{
- ID: label.ID,
- Name: label.Name,
- Color: label.Color,
- }
-}
-
-func ToMilestone(milestone *models.Milestone) *api.Milestone {
- if milestone == nil {
- return nil
- }
-
- apiMilestone := &api.Milestone{
- ID: milestone.ID,
- State: milestone.State(),
- Title: milestone.Name,
- Description: milestone.Content,
- OpenIssues: milestone.NumOpenIssues,
- ClosedIssues: milestone.NumClosedIssues,
- }
- if milestone.IsClosed {
- apiMilestone.Closed = &milestone.ClosedDate
- }
- if milestone.Deadline.Year() < 9999 {
- apiMilestone.Deadline = &milestone.Deadline
- }
- return apiMilestone
-}
-
-func ToIssue(issue *models.Issue) *api.Issue {
- apiLabels := make([]*api.Label, len(issue.Labels))
- for i := range issue.Labels {
- apiLabels[i] = ToLabel(issue.Labels[i])
- }
-
- apiIssue := &api.Issue{
- ID: issue.ID,
- Index: issue.Index,
- State: issue.State(),
- Title: issue.Title,
- Body: issue.Content,
- User: ToUser(issue.Poster),
- Labels: apiLabels,
- Assignee: ToUser(issue.Assignee),
- Milestone: ToMilestone(issue.Milestone),
- Comments: issue.NumComments,
- Created: issue.Created,
- Updated: issue.Updated,
- }
- if issue.IsPull {
- apiIssue.PullRequest = &api.PullRequestMeta{
- HasMerged: issue.PullRequest.HasMerged,
- }
- if issue.PullRequest.HasMerged {
- apiIssue.PullRequest.Merged = &issue.PullRequest.Merged
- }
- }
-
- return apiIssue
-}
-
func ToOrganization(org *models.User) *api.Organization {
return &api.Organization{
ID: org.ID,
diff --git a/routers/api/v1/repo/issue.go b/routers/api/v1/repo/issue.go
index 90dc6e78e3..1440a17cdc 100644
--- a/routers/api/v1/repo/issue.go
+++ b/routers/api/v1/repo/issue.go
@@ -13,7 +13,6 @@ import (
"github.com/gogits/gogs/models"
"github.com/gogits/gogs/modules/context"
"github.com/gogits/gogs/modules/setting"
- "github.com/gogits/gogs/routers/api/v1/convert"
)
func ListIssues(ctx *context.APIContext) {
@@ -28,7 +27,12 @@ func ListIssues(ctx *context.APIContext) {
apiIssues := make([]*api.Issue, len(issues))
for i := range issues {
- apiIssues[i] = convert.ToIssue(issues[i])
+ // FIXME: use IssueList to improve performance.
+ if err = issues[i].LoadAttributes(); err != nil {
+ ctx.Error(500, "LoadAttributes", err)
+ return
+ }
+ apiIssues[i] = issues[i].APIFormat()
}
ctx.SetLinkHeader(ctx.Repo.Repository.NumIssues, setting.UI.IssuePagingNum)
@@ -46,13 +50,13 @@ func GetIssue(ctx *context.APIContext) {
return
}
- ctx.JSON(200, convert.ToIssue(issue))
+ ctx.JSON(200, issue.APIFormat())
}
func CreateIssue(ctx *context.APIContext, form api.CreateIssueOption) {
issue := &models.Issue{
RepoID: ctx.Repo.Repository.ID,
- Title: form.Title,
+ Title: form.Title,
PosterID: ctx.User.ID,
Poster: ctx.User,
Content: form.Body,
@@ -83,7 +87,7 @@ func CreateIssue(ctx *context.APIContext, form api.CreateIssueOption) {
if form.Closed {
if err := issue.ChangeStatus(ctx.User, ctx.Repo.Repository, true); err != nil {
- ctx.Error(500, "issue.ChangeStatus", err)
+ ctx.Error(500, "ChangeStatus", err)
return
}
}
@@ -95,7 +99,7 @@ func CreateIssue(ctx *context.APIContext, form api.CreateIssueOption) {
ctx.Error(500, "GetIssueByID", err)
return
}
- ctx.JSON(201, convert.ToIssue(issue))
+ ctx.JSON(201, issue.APIFormat())
}
func EditIssue(ctx *context.APIContext, form api.EditIssueOption) {
@@ -164,5 +168,5 @@ func EditIssue(ctx *context.APIContext, form api.EditIssueOption) {
ctx.Error(500, "GetIssueByID", err)
return
}
- ctx.JSON(201, convert.ToIssue(issue))
+ ctx.JSON(201, issue.APIFormat())
}
diff --git a/routers/api/v1/repo/issue_label.go b/routers/api/v1/repo/issue_label.go
index b471d4a08d..f1eed2112a 100644
--- a/routers/api/v1/repo/issue_label.go
+++ b/routers/api/v1/repo/issue_label.go
@@ -9,7 +9,6 @@ import (
"github.com/gogits/gogs/models"
"github.com/gogits/gogs/modules/context"
- "github.com/gogits/gogs/routers/api/v1/convert"
)
func ListIssueLabels(ctx *context.APIContext) {
@@ -25,7 +24,7 @@ func ListIssueLabels(ctx *context.APIContext) {
apiLabels := make([]*api.Label, len(issue.Labels))
for i := range issue.Labels {
- apiLabels[i] = convert.ToLabel(issue.Labels[i])
+ apiLabels[i] = issue.Labels[i].APIFormat()
}
ctx.JSON(200, &apiLabels)
}
@@ -65,7 +64,7 @@ func AddIssueLabels(ctx *context.APIContext, form api.IssueLabelsOption) {
apiLabels := make([]*api.Label, len(labels))
for i := range labels {
- apiLabels[i] = convert.ToLabel(labels[i])
+ apiLabels[i] = issue.Labels[i].APIFormat()
}
ctx.JSON(200, &apiLabels)
}
@@ -139,7 +138,7 @@ func ReplaceIssueLabels(ctx *context.APIContext, form api.IssueLabelsOption) {
apiLabels := make([]*api.Label, len(labels))
for i := range labels {
- apiLabels[i] = convert.ToLabel(labels[i])
+ apiLabels[i] = issue.Labels[i].APIFormat()
}
ctx.JSON(200, &apiLabels)
}
diff --git a/routers/api/v1/repo/label.go b/routers/api/v1/repo/label.go
index dfd0b1ddda..5c34849385 100644
--- a/routers/api/v1/repo/label.go
+++ b/routers/api/v1/repo/label.go
@@ -9,7 +9,6 @@ import (
"github.com/gogits/gogs/models"
"github.com/gogits/gogs/modules/context"
- "github.com/gogits/gogs/routers/api/v1/convert"
)
func ListLabels(ctx *context.APIContext) {
@@ -21,7 +20,7 @@ func ListLabels(ctx *context.APIContext) {
apiLabels := make([]*api.Label, len(labels))
for i := range labels {
- apiLabels[i] = convert.ToLabel(labels[i])
+ apiLabels[i] = labels[i].APIFormat()
}
ctx.JSON(200, &apiLabels)
}
@@ -37,7 +36,7 @@ func GetLabel(ctx *context.APIContext) {
return
}
- ctx.JSON(200, convert.ToLabel(label))
+ ctx.JSON(200, label.APIFormat())
}
func CreateLabel(ctx *context.APIContext, form api.CreateLabelOption) {
@@ -55,7 +54,7 @@ func CreateLabel(ctx *context.APIContext, form api.CreateLabelOption) {
ctx.Error(500, "NewLabel", err)
return
}
- ctx.JSON(201, convert.ToLabel(label))
+ ctx.JSON(201, label.APIFormat())
}
func EditLabel(ctx *context.APIContext, form api.EditLabelOption) {
@@ -84,7 +83,7 @@ func EditLabel(ctx *context.APIContext, form api.EditLabelOption) {
ctx.Handle(500, "UpdateLabel", err)
return
}
- ctx.JSON(200, convert.ToLabel(label))
+ ctx.JSON(200, label.APIFormat())
}
func DeleteLabel(ctx *context.APIContext) {
diff --git a/routers/api/v1/repo/repo.go b/routers/api/v1/repo/repo.go
index e1c1b5760d..cc75f5bf4e 100644
--- a/routers/api/v1/repo/repo.go
+++ b/routers/api/v1/repo/repo.go
@@ -93,12 +93,12 @@ func ListMyRepos(ctx *context.APIContext) {
repos := make([]*api.Repository, numOwnRepos+len(accessibleRepos))
for i := range ownRepos {
- repos[i] = convert.ToRepository(ctx.User, ownRepos[i], api.Permission{true, true, true})
+ repos[i] = ownRepos[i].APIFormat(&api.Permission{true, true, true})
}
i := numOwnRepos
for repo, access := range accessibleRepos {
- repos[i] = convert.ToRepository(repo.Owner, repo, api.Permission{
+ repos[i] = repo.APIFormat(&api.Permission{
Admin: access >= models.ACCESS_MODE_ADMIN,
Push: access >= models.ACCESS_MODE_WRITE,
Pull: true,
@@ -135,7 +135,7 @@ func CreateUserRepo(ctx *context.APIContext, owner *models.User, opt api.CreateR
return
}
- ctx.JSON(201, convert.ToRepository(owner, repo, api.Permission{true, true, true}))
+ ctx.JSON(201, repo.APIFormat(&api.Permission{true, true, true}))
}
// https://github.com/gogits/go-gogs-client/wiki/Repositories#create
@@ -235,7 +235,7 @@ func Migrate(ctx *context.APIContext, form auth.MigrateRepoForm) {
}
log.Trace("Repository migrated: %s/%s", ctxUser.Name, form.RepoName)
- ctx.JSON(201, convert.ToRepository(ctxUser, repo, api.Permission{true, true, true}))
+ ctx.JSON(201, repo.APIFormat(&api.Permission{true, true, true}))
}
func parseOwnerAndRepo(ctx *context.APIContext) (*models.User, *models.Repository) {
@@ -264,12 +264,12 @@ func parseOwnerAndRepo(ctx *context.APIContext) (*models.User, *models.Repositor
// https://github.com/gogits/go-gogs-client/wiki/Repositories#get
func Get(ctx *context.APIContext) {
- owner, repo := parseOwnerAndRepo(ctx)
+ _, repo := parseOwnerAndRepo(ctx)
if ctx.Written() {
return
}
- ctx.JSON(200, convert.ToRepository(owner, repo, api.Permission{true, true, true}))
+ ctx.JSON(200, repo.APIFormat(&api.Permission{true, true, true}))
}
// https://github.com/gogits/go-gogs-client/wiki/Repositories#delete
diff --git a/routers/api/v1/user/follower.go b/routers/api/v1/user/follower.go
index 8d103c9e14..58a162444b 100644
--- a/routers/api/v1/user/follower.go
+++ b/routers/api/v1/user/follower.go
@@ -9,13 +9,12 @@ import (
"github.com/gogits/gogs/models"
"github.com/gogits/gogs/modules/context"
- "github.com/gogits/gogs/routers/api/v1/convert"
)
func responseApiUsers(ctx *context.APIContext, users []*models.User) {
apiUsers := make([]*api.User, len(users))
for i := range users {
- apiUsers[i] = convert.ToUser(users[i])
+ apiUsers[i] = users[i].APIFormat()
}
ctx.JSON(200, &apiUsers)
}
diff --git a/routers/api/v1/user/user.go b/routers/api/v1/user/user.go
index 87a9c08623..b526af5da7 100644
--- a/routers/api/v1/user/user.go
+++ b/routers/api/v1/user/user.go
@@ -11,7 +11,6 @@ import (
"github.com/gogits/gogs/models"
"github.com/gogits/gogs/modules/context"
- "github.com/gogits/gogs/routers/api/v1/convert"
)
func Search(ctx *context.APIContext) {
@@ -67,9 +66,9 @@ func GetInfo(ctx *context.APIContext) {
if !ctx.IsSigned {
u.Email = ""
}
- ctx.JSON(200, convert.ToUser(u))
+ ctx.JSON(200, u.APIFormat())
}
func GetAuthenticatedUser(ctx *context.APIContext) {
- ctx.JSON(200, convert.ToUser(ctx.User))
+ ctx.JSON(200, ctx.User.APIFormat())
}
diff --git a/routers/repo/http.go b/routers/repo/http.go
index 0615143e38..89a9b1b9ee 100644
--- a/routers/repo/http.go
+++ b/routers/repo/http.go
@@ -20,6 +20,8 @@ import (
"strings"
"time"
+ git "github.com/gogits/git-module"
+
"github.com/gogits/gogs/models"
"github.com/gogits/gogs/modules/base"
"github.com/gogits/gogs/modules/context"
@@ -206,7 +208,7 @@ func HTTP(ctx *context.Context) {
RepoName: reponame,
}); err == nil {
go models.HookQueue.Add(repo.ID)
- go models.AddTestPullRequestTask(authUser, repo.ID, strings.TrimPrefix(refName, "refs/heads/"), true)
+ go models.AddTestPullRequestTask(authUser, repo.ID, strings.TrimPrefix(refName, git.BRANCH_PREFIX), true)
}
}
diff --git a/routers/repo/webhook.go b/routers/repo/webhook.go
index 9b4c33e4b6..8f6ee3f06c 100644
--- a/routers/repo/webhook.go
+++ b/routers/repo/webhook.go
@@ -347,6 +347,7 @@ func SlackHooksEditPost(ctx *context.Context, form auth.NewSlackHookForm) {
}
func TestWebhook(ctx *context.Context) {
+ apiUser := ctx.User.APIFormat()
p := &api.PushPayload{
Ref: git.BRANCH_PREFIX + ctx.Repo.Repository.DefaultBranch,
Before: ctx.Repo.CommitID,
@@ -356,27 +357,19 @@ func TestWebhook(ctx *context.Context) {
ID: ctx.Repo.CommitID,
Message: ctx.Repo.Commit.Message(),
URL: ctx.Repo.Repository.FullLink() + "/commit/" + ctx.Repo.CommitID,
- Author: &api.PayloadAuthor{
+ Author: &api.PayloadUser{
Name: ctx.Repo.Commit.Author.Name,
Email: ctx.Repo.Commit.Author.Email,
},
- Committer: &api.PayloadCommitter{
+ Committer: &api.PayloadUser{
Name: ctx.Repo.Commit.Committer.Name,
Email: ctx.Repo.Commit.Committer.Email,
},
},
},
- Repo: ctx.Repo.Repository.ComposePayload(),
- Pusher: &api.PayloadAuthor{
- Name: ctx.User.Name,
- Email: ctx.User.Email,
- UserName: ctx.User.Name,
- },
- Sender: &api.PayloadUser{
- UserName: ctx.User.Name,
- ID: ctx.User.ID,
- AvatarUrl: ctx.User.AvatarLink(),
- },
+ Repo: ctx.Repo.Repository.APIFormat(nil),
+ Pusher: apiUser,
+ Sender: apiUser,
}
if err := models.PrepareWebhooks(ctx.Repo.Repository, models.HOOK_EVENT_PUSH, p); err != nil {
ctx.Flash.Error("PrepareWebhooks: " + err.Error())
diff --git a/templates/.VERSION b/templates/.VERSION
index 5e537303e3..cfaf5e6915 100644
--- a/templates/.VERSION
+++ b/templates/.VERSION
@@ -1 +1 @@
-0.9.76.0814 \ No newline at end of file
+0.9.77.0814 \ No newline at end of file