mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-28 14:43:52 +03:00
Replace convert.To with APIFormat calls
This commit is contained in:
parent
3f7f4852ef
commit
dccb0c15b9
21 changed files with 79 additions and 225 deletions
|
@ -18,8 +18,8 @@ github.com/go-xorm/core = commit:5bf745d
|
||||||
github.com/go-xorm/xorm = commit:c6c7056
|
github.com/go-xorm/xorm = commit:c6c7056
|
||||||
github.com/gogits/chardet = commit:2404f77
|
github.com/gogits/chardet = commit:2404f77
|
||||||
github.com/gogits/cron = commit:7f3990a
|
github.com/gogits/cron = commit:7f3990a
|
||||||
github.com/gogits/git-module = commit:efc90b5
|
github.com/gogits/git-module = commit:313ce90
|
||||||
github.com/gogits/go-gogs-client = commit:87e4334
|
github.com/gogits/go-gogs-client = commit:e363d3f
|
||||||
github.com/issue9/identicon = commit:d36b545
|
github.com/issue9/identicon = commit:d36b545
|
||||||
github.com/jaytaylor/html2text = commit:52d9b78
|
github.com/jaytaylor/html2text = commit:52d9b78
|
||||||
github.com/kardianos/minwinsvc = commit:cad6b2b
|
github.com/kardianos/minwinsvc = commit:cad6b2b
|
||||||
|
|
|
@ -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)
|
![](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 |
|
| Web | UI | Preview |
|
||||||
|:-------------:|:-------:|:-------:|
|
|:-------------:|:-------:|:-------:|
|
||||||
|
|
|
@ -15,6 +15,7 @@ import (
|
||||||
|
|
||||||
"github.com/Unknwon/com"
|
"github.com/Unknwon/com"
|
||||||
"github.com/codegangsta/cli"
|
"github.com/codegangsta/cli"
|
||||||
|
git "github.com/gogits/git-module"
|
||||||
gouuid "github.com/satori/go.uuid"
|
gouuid "github.com/satori/go.uuid"
|
||||||
|
|
||||||
"github.com/gogits/gogs/models"
|
"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.
|
// Ask for running deliver hook and test pull request tasks.
|
||||||
reqURL := setting.LocalURL + repoUser.Name + "/" + reponame + "/tasks/trigger?branch=" +
|
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)
|
log.GitLogger.Trace("Trigger task: %s", reqURL)
|
||||||
|
|
||||||
resp, err := httplib.Head(reqURL).SetTLSClientConfig(&tls.Config{
|
resp, err := httplib.Head(reqURL).SetTLSClientConfig(&tls.Config{
|
||||||
|
|
|
@ -89,7 +89,7 @@ func checkVersion() {
|
||||||
{"gopkg.in/ini.v1", ini.Version, "1.8.4"},
|
{"gopkg.in/ini.v1", ini.Version, "1.8.4"},
|
||||||
{"gopkg.in/macaron.v1", macaron.Version, "1.1.7"},
|
{"gopkg.in/macaron.v1", macaron.Version, "1.1.7"},
|
||||||
{"github.com/gogits/git-module", git.Version, "0.3.5"},
|
{"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 {
|
for _, c := range checkers {
|
||||||
if !version.Compare(c.Version(), c.Expected, ">=") {
|
if !version.Compare(c.Version(), c.Expected, ">=") {
|
||||||
|
|
4
glide.lock
generated
4
glide.lock
generated
|
@ -41,9 +41,9 @@ imports:
|
||||||
- name: github.com/gogits/cron
|
- name: github.com/gogits/cron
|
||||||
version: 7f3990acf1833faa5ebd0e86f0a4c72a4b5eba3c
|
version: 7f3990acf1833faa5ebd0e86f0a4c72a4b5eba3c
|
||||||
- name: github.com/gogits/git-module
|
- name: github.com/gogits/git-module
|
||||||
version: efc90b5ea1f7b7e404673dcc19674b2a6856e0d3
|
version: 313ce907cc5a5801126c7dfa3a74d21cc3104329
|
||||||
- name: github.com/gogits/go-gogs-client
|
- name: github.com/gogits/go-gogs-client
|
||||||
version: 87e433464c1f5e98e7208123c15b78119776fb83
|
version: e363d3ff8f70d0fe813324eedf228684af41c29c
|
||||||
- name: github.com/issue9/identicon
|
- name: github.com/issue9/identicon
|
||||||
version: d36b54562f4cf70c83653e13dc95c220c79ef521
|
version: d36b54562f4cf70c83653e13dc95c220c79ef521
|
||||||
- name: github.com/jaytaylor/html2text
|
- name: github.com/jaytaylor/html2text
|
||||||
|
|
2
gogs.go
2
gogs.go
|
@ -17,7 +17,7 @@ import (
|
||||||
"github.com/gogits/gogs/modules/setting"
|
"github.com/gogits/gogs/modules/setting"
|
||||||
)
|
)
|
||||||
|
|
||||||
const APP_VER = "0.9.76.0814"
|
const APP_VER = "0.9.77.0814"
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
runtime.GOMAXPROCS(runtime.NumCPU())
|
runtime.GOMAXPROCS(runtime.NumCPU())
|
||||||
|
|
|
@ -246,7 +246,7 @@ type PushCommit struct {
|
||||||
type PushCommits struct {
|
type PushCommits struct {
|
||||||
Len int
|
Len int
|
||||||
Commits []*PushCommit
|
Commits []*PushCommit
|
||||||
CompareUrl string
|
CompareURL string
|
||||||
|
|
||||||
avatars map[string]string
|
avatars map[string]string
|
||||||
}
|
}
|
||||||
|
@ -275,12 +275,12 @@ func (pc *PushCommits) ToApiPayloadCommits(repoLink string) []*api.PayloadCommit
|
||||||
ID: commit.Sha1,
|
ID: commit.Sha1,
|
||||||
Message: commit.Message,
|
Message: commit.Message,
|
||||||
URL: fmt.Sprintf("%s/commit/%s", repoLink, commit.Sha1),
|
URL: fmt.Sprintf("%s/commit/%s", repoLink, commit.Sha1),
|
||||||
Author: &api.PayloadAuthor{
|
Author: &api.PayloadUser{
|
||||||
Name: commit.AuthorName,
|
Name: commit.AuthorName,
|
||||||
Email: commit.AuthorEmail,
|
Email: commit.AuthorEmail,
|
||||||
UserName: authorUsername,
|
UserName: authorUsername,
|
||||||
},
|
},
|
||||||
Committer: &api.PayloadCommitter{
|
Committer: &api.PayloadUser{
|
||||||
Name: commit.CommitterName,
|
Name: commit.CommitterName,
|
||||||
Email: commit.CommitterEmail,
|
Email: commit.CommitterEmail,
|
||||||
UserName: committerUsername,
|
UserName: committerUsername,
|
||||||
|
@ -475,7 +475,7 @@ func CommitRepoAction(
|
||||||
} else {
|
} else {
|
||||||
// if not the first commit, set the compareUrl
|
// if not the first commit, set the compareUrl
|
||||||
if !strings.HasPrefix(oldCommitID, "0000000") {
|
if !strings.HasPrefix(oldCommitID, "0000000") {
|
||||||
commit.CompareUrl = repo.ComposeCompareURL(oldCommitID, newCommitID)
|
commit.CompareURL = repo.ComposeCompareURL(oldCommitID, newCommitID)
|
||||||
} else {
|
} else {
|
||||||
isNewBranch = true
|
isNewBranch = true
|
||||||
}
|
}
|
||||||
|
@ -495,7 +495,6 @@ func CommitRepoAction(
|
||||||
}
|
}
|
||||||
|
|
||||||
refName := git.RefEndName(refFullName)
|
refName := git.RefEndName(refFullName)
|
||||||
|
|
||||||
if err = NotifyWatchers(&Action{
|
if err = NotifyWatchers(&Action{
|
||||||
ActUserID: u.ID,
|
ActUserID: u.ID,
|
||||||
ActUserName: userName,
|
ActUserName: userName,
|
||||||
|
@ -511,35 +510,24 @@ func CommitRepoAction(
|
||||||
return fmt.Errorf("NotifyWatchers: %v", err)
|
return fmt.Errorf("NotifyWatchers: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
payloadRepo := repo.ComposePayload()
|
|
||||||
|
|
||||||
var pusherEmail, pusherName string
|
|
||||||
pusher, err := GetUserByName(userName)
|
pusher, err := GetUserByName(userName)
|
||||||
if err == nil {
|
if err != nil {
|
||||||
pusherEmail = pusher.Email
|
return fmt.Errorf("GetUserByName: %v", err)
|
||||||
pusherName = pusher.DisplayName()
|
|
||||||
}
|
|
||||||
payloadSender := &api.PayloadUser{
|
|
||||||
UserName: pusher.Name,
|
|
||||||
ID: pusher.ID,
|
|
||||||
AvatarUrl: pusher.AvatarLink(),
|
|
||||||
}
|
}
|
||||||
|
apiPusher := pusher.APIFormat()
|
||||||
|
|
||||||
|
apiRepo := repo.APIFormat(nil)
|
||||||
switch opType {
|
switch opType {
|
||||||
case ACTION_COMMIT_REPO: // Push
|
case ACTION_COMMIT_REPO: // Push
|
||||||
if err = PrepareWebhooks(repo, HOOK_EVENT_PUSH, &api.PushPayload{
|
if err = PrepareWebhooks(repo, HOOK_EVENT_PUSH, &api.PushPayload{
|
||||||
Ref: refFullName,
|
Ref: refFullName,
|
||||||
Before: oldCommitID,
|
Before: oldCommitID,
|
||||||
After: newCommitID,
|
After: newCommitID,
|
||||||
CompareUrl: setting.AppUrl + commit.CompareUrl,
|
CompareURL: setting.AppUrl + commit.CompareURL,
|
||||||
Commits: commit.ToApiPayloadCommits(repo.FullLink()),
|
Commits: commit.ToApiPayloadCommits(repo.FullLink()),
|
||||||
Repo: payloadRepo,
|
Repo: apiRepo,
|
||||||
Pusher: &api.PayloadAuthor{
|
Pusher: apiPusher,
|
||||||
Name: pusherName,
|
Sender: apiPusher,
|
||||||
Email: pusherEmail,
|
|
||||||
UserName: userName,
|
|
||||||
},
|
|
||||||
Sender: payloadSender,
|
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
return fmt.Errorf("PrepareWebhooks: %v", err)
|
return fmt.Errorf("PrepareWebhooks: %v", err)
|
||||||
}
|
}
|
||||||
|
@ -548,8 +536,8 @@ func CommitRepoAction(
|
||||||
return PrepareWebhooks(repo, HOOK_EVENT_CREATE, &api.CreatePayload{
|
return PrepareWebhooks(repo, HOOK_EVENT_CREATE, &api.CreatePayload{
|
||||||
Ref: refName,
|
Ref: refName,
|
||||||
RefType: "branch",
|
RefType: "branch",
|
||||||
Repo: payloadRepo,
|
Repo: apiRepo,
|
||||||
Sender: payloadSender,
|
Sender: apiPusher,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -557,8 +545,8 @@ func CommitRepoAction(
|
||||||
return PrepareWebhooks(repo, HOOK_EVENT_CREATE, &api.CreatePayload{
|
return PrepareWebhooks(repo, HOOK_EVENT_CREATE, &api.CreatePayload{
|
||||||
Ref: refName,
|
Ref: refName,
|
||||||
RefType: "tag",
|
RefType: "tag",
|
||||||
Repo: payloadRepo,
|
Repo: apiRepo,
|
||||||
Sender: payloadSender,
|
Sender: apiPusher,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -308,22 +308,14 @@ func (pr *PullRequest) Merge(doer *User, baseGitRepo *git.Repository) (err error
|
||||||
l.PushFront(mergeCommit)
|
l.PushFront(mergeCommit)
|
||||||
|
|
||||||
p := &api.PushPayload{
|
p := &api.PushPayload{
|
||||||
Ref: "refs/heads/" + pr.BaseBranch,
|
Ref: git.BRANCH_PREFIX + pr.BaseBranch,
|
||||||
Before: pr.MergeBase,
|
Before: pr.MergeBase,
|
||||||
After: pr.MergedCommitID,
|
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()),
|
Commits: ListToPushCommits(l).ToApiPayloadCommits(pr.BaseRepo.FullLink()),
|
||||||
Repo: pr.BaseRepo.ComposePayload(),
|
Repo: pr.BaseRepo.APIFormat(nil),
|
||||||
Pusher: &api.PayloadAuthor{
|
Pusher: pr.HeadRepo.MustOwner().APIFormat(),
|
||||||
Name: pr.HeadRepo.MustOwner().DisplayName(),
|
Sender: doer.APIFormat(),
|
||||||
Email: pr.HeadRepo.MustOwner().Email,
|
|
||||||
UserName: pr.HeadRepo.MustOwner().Name,
|
|
||||||
},
|
|
||||||
Sender: &api.PayloadUser{
|
|
||||||
UserName: doer.Name,
|
|
||||||
ID: doer.ID,
|
|
||||||
AvatarUrl: doer.AvatarLink(),
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
if err = PrepareWebhooks(pr.BaseRepo, HOOK_EVENT_PUSH, p); err != nil {
|
if err = PrepareWebhooks(pr.BaseRepo, HOOK_EVENT_PUSH, p); err != nil {
|
||||||
return fmt.Errorf("PrepareWebhooks: %v", err)
|
return fmt.Errorf("PrepareWebhooks: %v", err)
|
||||||
|
|
|
@ -482,28 +482,6 @@ func (repo *Repository) SavePatch(index int64, patch []byte) error {
|
||||||
return nil
|
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) {
|
func isRepositoryExist(e Engine, u *User, repoName string) (bool, error) {
|
||||||
has, err := e.Get(&Repository{
|
has, err := e.Get(&Repository{
|
||||||
OwnerID: u.ID,
|
OwnerID: u.ID,
|
||||||
|
|
|
@ -76,8 +76,8 @@ func getSlackCreatePayload(p *api.CreatePayload, slack *SlackMeta) (*SlackPayloa
|
||||||
// created tag/branch
|
// created tag/branch
|
||||||
refName := git.RefEndName(p.Ref)
|
refName := git.RefEndName(p.Ref)
|
||||||
|
|
||||||
repoLink := SlackLinkFormatter(p.Repo.URL, p.Repo.Name)
|
repoLink := SlackLinkFormatter(p.Repo.HTMLURL, p.Repo.Name)
|
||||||
refLink := SlackLinkFormatter(p.Repo.URL+"/src/"+refName, refName)
|
refLink := SlackLinkFormatter(p.Repo.HTMLURL+"/src/"+refName, refName)
|
||||||
text := fmt.Sprintf("[%s:%s] %s created by %s", repoLink, refLink, p.RefType, p.Sender.UserName)
|
text := fmt.Sprintf("[%s:%s] %s created by %s", repoLink, refLink, p.RefType, p.Sender.UserName)
|
||||||
|
|
||||||
return &SlackPayload{
|
return &SlackPayload{
|
||||||
|
@ -101,15 +101,15 @@ func getSlackPushPayload(p *api.PushPayload, slack *SlackMeta) (*SlackPayload, e
|
||||||
} else {
|
} else {
|
||||||
commitDesc = fmt.Sprintf("%d new commits", len(p.Commits))
|
commitDesc = fmt.Sprintf("%d new commits", len(p.Commits))
|
||||||
}
|
}
|
||||||
if len(p.CompareUrl) > 0 {
|
if len(p.CompareURL) > 0 {
|
||||||
commitString = SlackLinkFormatter(p.CompareUrl, commitDesc)
|
commitString = SlackLinkFormatter(p.CompareURL, commitDesc)
|
||||||
} else {
|
} else {
|
||||||
commitString = commitDesc
|
commitString = commitDesc
|
||||||
}
|
}
|
||||||
|
|
||||||
repoLink := SlackLinkFormatter(p.Repo.URL, p.Repo.Name)
|
repoLink := SlackLinkFormatter(p.Repo.HTMLURL, p.Repo.Name)
|
||||||
branchLink := SlackLinkFormatter(p.Repo.URL+"/src/"+branchName, branchName)
|
branchLink := SlackLinkFormatter(p.Repo.HTMLURL+"/src/"+branchName, branchName)
|
||||||
text := fmt.Sprintf("[%s:%s] %s pushed by %s", repoLink, branchLink, commitString, p.Pusher.Name)
|
text := fmt.Sprintf("[%s:%s] %s pushed by %s", repoLink, branchLink, commitString, p.Pusher.UserName)
|
||||||
|
|
||||||
var attachmentText string
|
var attachmentText string
|
||||||
// for each commit, generate attachment text
|
// 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) {
|
func getSlackPullRequestPayload(p *api.PullRequestPayload, slack *SlackMeta) (*SlackPayload, error) {
|
||||||
senderLink := SlackLinkFormatter(setting.AppUrl+p.Sender.UserName, p.Sender.UserName)
|
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))
|
fmt.Sprintf("#%d %s", p.Index, p.PullRequest.Title))
|
||||||
var text, title, attachmentText string
|
var text, title, attachmentText string
|
||||||
switch p.Action {
|
switch p.Action {
|
||||||
|
|
|
@ -11,7 +11,6 @@ import (
|
||||||
"github.com/gogits/gogs/modules/context"
|
"github.com/gogits/gogs/modules/context"
|
||||||
"github.com/gogits/gogs/modules/log"
|
"github.com/gogits/gogs/modules/log"
|
||||||
"github.com/gogits/gogs/modules/setting"
|
"github.com/gogits/gogs/modules/setting"
|
||||||
"github.com/gogits/gogs/routers/api/v1/convert"
|
|
||||||
"github.com/gogits/gogs/routers/api/v1/user"
|
"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)
|
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
|
// 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)
|
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
|
// https://github.com/gogits/go-gogs-client/wiki/Administration-Users#delete-a-user
|
||||||
|
|
|
@ -13,23 +13,8 @@ import (
|
||||||
api "github.com/gogits/go-gogs-client"
|
api "github.com/gogits/go-gogs-client"
|
||||||
|
|
||||||
"github.com/gogits/gogs/models"
|
"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 {
|
func ToEmail(email *models.EmailAddress) *api.Email {
|
||||||
return &api.Email{
|
return &api.Email{
|
||||||
Email: email.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 {
|
func ToBranch(b *models.Branch, c *git.Commit) *api.Branch {
|
||||||
return &api.Branch{
|
return &api.Branch{
|
||||||
Name: b.Name,
|
Name: b.Name,
|
||||||
|
@ -82,12 +45,12 @@ func ToCommit(c *git.Commit) *api.PayloadCommit {
|
||||||
ID: c.ID.String(),
|
ID: c.ID.String(),
|
||||||
Message: c.Message(),
|
Message: c.Message(),
|
||||||
URL: "Not implemented",
|
URL: "Not implemented",
|
||||||
Author: &api.PayloadAuthor{
|
Author: &api.PayloadUser{
|
||||||
Name: c.Author.Name,
|
Name: c.Author.Name,
|
||||||
Email: c.Author.Email,
|
Email: c.Author.Email,
|
||||||
UserName: authorUsername,
|
UserName: authorUsername,
|
||||||
},
|
},
|
||||||
Committer: &api.PayloadCommitter{
|
Committer: &api.PayloadUser{
|
||||||
Name: c.Committer.Name,
|
Name: c.Committer.Name,
|
||||||
Email: c.Committer.Email,
|
Email: c.Committer.Email,
|
||||||
UserName: committerUsername,
|
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 {
|
func ToOrganization(org *models.User) *api.Organization {
|
||||||
return &api.Organization{
|
return &api.Organization{
|
||||||
ID: org.ID,
|
ID: org.ID,
|
||||||
|
|
|
@ -13,7 +13,6 @@ import (
|
||||||
"github.com/gogits/gogs/models"
|
"github.com/gogits/gogs/models"
|
||||||
"github.com/gogits/gogs/modules/context"
|
"github.com/gogits/gogs/modules/context"
|
||||||
"github.com/gogits/gogs/modules/setting"
|
"github.com/gogits/gogs/modules/setting"
|
||||||
"github.com/gogits/gogs/routers/api/v1/convert"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func ListIssues(ctx *context.APIContext) {
|
func ListIssues(ctx *context.APIContext) {
|
||||||
|
@ -28,7 +27,12 @@ func ListIssues(ctx *context.APIContext) {
|
||||||
|
|
||||||
apiIssues := make([]*api.Issue, len(issues))
|
apiIssues := make([]*api.Issue, len(issues))
|
||||||
for i := range 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)
|
ctx.SetLinkHeader(ctx.Repo.Repository.NumIssues, setting.UI.IssuePagingNum)
|
||||||
|
@ -46,13 +50,13 @@ func GetIssue(ctx *context.APIContext) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
ctx.JSON(200, convert.ToIssue(issue))
|
ctx.JSON(200, issue.APIFormat())
|
||||||
}
|
}
|
||||||
|
|
||||||
func CreateIssue(ctx *context.APIContext, form api.CreateIssueOption) {
|
func CreateIssue(ctx *context.APIContext, form api.CreateIssueOption) {
|
||||||
issue := &models.Issue{
|
issue := &models.Issue{
|
||||||
RepoID: ctx.Repo.Repository.ID,
|
RepoID: ctx.Repo.Repository.ID,
|
||||||
Title: form.Title,
|
Title: form.Title,
|
||||||
PosterID: ctx.User.ID,
|
PosterID: ctx.User.ID,
|
||||||
Poster: ctx.User,
|
Poster: ctx.User,
|
||||||
Content: form.Body,
|
Content: form.Body,
|
||||||
|
@ -83,7 +87,7 @@ func CreateIssue(ctx *context.APIContext, form api.CreateIssueOption) {
|
||||||
|
|
||||||
if form.Closed {
|
if form.Closed {
|
||||||
if err := issue.ChangeStatus(ctx.User, ctx.Repo.Repository, true); err != nil {
|
if err := issue.ChangeStatus(ctx.User, ctx.Repo.Repository, true); err != nil {
|
||||||
ctx.Error(500, "issue.ChangeStatus", err)
|
ctx.Error(500, "ChangeStatus", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -95,7 +99,7 @@ func CreateIssue(ctx *context.APIContext, form api.CreateIssueOption) {
|
||||||
ctx.Error(500, "GetIssueByID", err)
|
ctx.Error(500, "GetIssueByID", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
ctx.JSON(201, convert.ToIssue(issue))
|
ctx.JSON(201, issue.APIFormat())
|
||||||
}
|
}
|
||||||
|
|
||||||
func EditIssue(ctx *context.APIContext, form api.EditIssueOption) {
|
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)
|
ctx.Error(500, "GetIssueByID", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
ctx.JSON(201, convert.ToIssue(issue))
|
ctx.JSON(201, issue.APIFormat())
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,6 @@ import (
|
||||||
|
|
||||||
"github.com/gogits/gogs/models"
|
"github.com/gogits/gogs/models"
|
||||||
"github.com/gogits/gogs/modules/context"
|
"github.com/gogits/gogs/modules/context"
|
||||||
"github.com/gogits/gogs/routers/api/v1/convert"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func ListIssueLabels(ctx *context.APIContext) {
|
func ListIssueLabels(ctx *context.APIContext) {
|
||||||
|
@ -25,7 +24,7 @@ func ListIssueLabels(ctx *context.APIContext) {
|
||||||
|
|
||||||
apiLabels := make([]*api.Label, len(issue.Labels))
|
apiLabels := make([]*api.Label, len(issue.Labels))
|
||||||
for i := range issue.Labels {
|
for i := range issue.Labels {
|
||||||
apiLabels[i] = convert.ToLabel(issue.Labels[i])
|
apiLabels[i] = issue.Labels[i].APIFormat()
|
||||||
}
|
}
|
||||||
ctx.JSON(200, &apiLabels)
|
ctx.JSON(200, &apiLabels)
|
||||||
}
|
}
|
||||||
|
@ -65,7 +64,7 @@ func AddIssueLabels(ctx *context.APIContext, form api.IssueLabelsOption) {
|
||||||
|
|
||||||
apiLabels := make([]*api.Label, len(labels))
|
apiLabels := make([]*api.Label, len(labels))
|
||||||
for i := range labels {
|
for i := range labels {
|
||||||
apiLabels[i] = convert.ToLabel(labels[i])
|
apiLabels[i] = issue.Labels[i].APIFormat()
|
||||||
}
|
}
|
||||||
ctx.JSON(200, &apiLabels)
|
ctx.JSON(200, &apiLabels)
|
||||||
}
|
}
|
||||||
|
@ -139,7 +138,7 @@ func ReplaceIssueLabels(ctx *context.APIContext, form api.IssueLabelsOption) {
|
||||||
|
|
||||||
apiLabels := make([]*api.Label, len(labels))
|
apiLabels := make([]*api.Label, len(labels))
|
||||||
for i := range labels {
|
for i := range labels {
|
||||||
apiLabels[i] = convert.ToLabel(labels[i])
|
apiLabels[i] = issue.Labels[i].APIFormat()
|
||||||
}
|
}
|
||||||
ctx.JSON(200, &apiLabels)
|
ctx.JSON(200, &apiLabels)
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,6 @@ import (
|
||||||
|
|
||||||
"github.com/gogits/gogs/models"
|
"github.com/gogits/gogs/models"
|
||||||
"github.com/gogits/gogs/modules/context"
|
"github.com/gogits/gogs/modules/context"
|
||||||
"github.com/gogits/gogs/routers/api/v1/convert"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func ListLabels(ctx *context.APIContext) {
|
func ListLabels(ctx *context.APIContext) {
|
||||||
|
@ -21,7 +20,7 @@ func ListLabels(ctx *context.APIContext) {
|
||||||
|
|
||||||
apiLabels := make([]*api.Label, len(labels))
|
apiLabels := make([]*api.Label, len(labels))
|
||||||
for i := range labels {
|
for i := range labels {
|
||||||
apiLabels[i] = convert.ToLabel(labels[i])
|
apiLabels[i] = labels[i].APIFormat()
|
||||||
}
|
}
|
||||||
ctx.JSON(200, &apiLabels)
|
ctx.JSON(200, &apiLabels)
|
||||||
}
|
}
|
||||||
|
@ -37,7 +36,7 @@ func GetLabel(ctx *context.APIContext) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
ctx.JSON(200, convert.ToLabel(label))
|
ctx.JSON(200, label.APIFormat())
|
||||||
}
|
}
|
||||||
|
|
||||||
func CreateLabel(ctx *context.APIContext, form api.CreateLabelOption) {
|
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)
|
ctx.Error(500, "NewLabel", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
ctx.JSON(201, convert.ToLabel(label))
|
ctx.JSON(201, label.APIFormat())
|
||||||
}
|
}
|
||||||
|
|
||||||
func EditLabel(ctx *context.APIContext, form api.EditLabelOption) {
|
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)
|
ctx.Handle(500, "UpdateLabel", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
ctx.JSON(200, convert.ToLabel(label))
|
ctx.JSON(200, label.APIFormat())
|
||||||
}
|
}
|
||||||
|
|
||||||
func DeleteLabel(ctx *context.APIContext) {
|
func DeleteLabel(ctx *context.APIContext) {
|
||||||
|
|
|
@ -93,12 +93,12 @@ func ListMyRepos(ctx *context.APIContext) {
|
||||||
|
|
||||||
repos := make([]*api.Repository, numOwnRepos+len(accessibleRepos))
|
repos := make([]*api.Repository, numOwnRepos+len(accessibleRepos))
|
||||||
for i := range ownRepos {
|
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
|
i := numOwnRepos
|
||||||
|
|
||||||
for repo, access := range accessibleRepos {
|
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,
|
Admin: access >= models.ACCESS_MODE_ADMIN,
|
||||||
Push: access >= models.ACCESS_MODE_WRITE,
|
Push: access >= models.ACCESS_MODE_WRITE,
|
||||||
Pull: true,
|
Pull: true,
|
||||||
|
@ -135,7 +135,7 @@ func CreateUserRepo(ctx *context.APIContext, owner *models.User, opt api.CreateR
|
||||||
return
|
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
|
// 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)
|
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) {
|
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
|
// https://github.com/gogits/go-gogs-client/wiki/Repositories#get
|
||||||
func Get(ctx *context.APIContext) {
|
func Get(ctx *context.APIContext) {
|
||||||
owner, repo := parseOwnerAndRepo(ctx)
|
_, repo := parseOwnerAndRepo(ctx)
|
||||||
if ctx.Written() {
|
if ctx.Written() {
|
||||||
return
|
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
|
// https://github.com/gogits/go-gogs-client/wiki/Repositories#delete
|
||||||
|
|
|
@ -9,13 +9,12 @@ import (
|
||||||
|
|
||||||
"github.com/gogits/gogs/models"
|
"github.com/gogits/gogs/models"
|
||||||
"github.com/gogits/gogs/modules/context"
|
"github.com/gogits/gogs/modules/context"
|
||||||
"github.com/gogits/gogs/routers/api/v1/convert"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func responseApiUsers(ctx *context.APIContext, users []*models.User) {
|
func responseApiUsers(ctx *context.APIContext, users []*models.User) {
|
||||||
apiUsers := make([]*api.User, len(users))
|
apiUsers := make([]*api.User, len(users))
|
||||||
for i := range users {
|
for i := range users {
|
||||||
apiUsers[i] = convert.ToUser(users[i])
|
apiUsers[i] = users[i].APIFormat()
|
||||||
}
|
}
|
||||||
ctx.JSON(200, &apiUsers)
|
ctx.JSON(200, &apiUsers)
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,6 @@ import (
|
||||||
|
|
||||||
"github.com/gogits/gogs/models"
|
"github.com/gogits/gogs/models"
|
||||||
"github.com/gogits/gogs/modules/context"
|
"github.com/gogits/gogs/modules/context"
|
||||||
"github.com/gogits/gogs/routers/api/v1/convert"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func Search(ctx *context.APIContext) {
|
func Search(ctx *context.APIContext) {
|
||||||
|
@ -67,9 +66,9 @@ func GetInfo(ctx *context.APIContext) {
|
||||||
if !ctx.IsSigned {
|
if !ctx.IsSigned {
|
||||||
u.Email = ""
|
u.Email = ""
|
||||||
}
|
}
|
||||||
ctx.JSON(200, convert.ToUser(u))
|
ctx.JSON(200, u.APIFormat())
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetAuthenticatedUser(ctx *context.APIContext) {
|
func GetAuthenticatedUser(ctx *context.APIContext) {
|
||||||
ctx.JSON(200, convert.ToUser(ctx.User))
|
ctx.JSON(200, ctx.User.APIFormat())
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,6 +20,8 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
git "github.com/gogits/git-module"
|
||||||
|
|
||||||
"github.com/gogits/gogs/models"
|
"github.com/gogits/gogs/models"
|
||||||
"github.com/gogits/gogs/modules/base"
|
"github.com/gogits/gogs/modules/base"
|
||||||
"github.com/gogits/gogs/modules/context"
|
"github.com/gogits/gogs/modules/context"
|
||||||
|
@ -206,7 +208,7 @@ func HTTP(ctx *context.Context) {
|
||||||
RepoName: reponame,
|
RepoName: reponame,
|
||||||
}); err == nil {
|
}); err == nil {
|
||||||
go models.HookQueue.Add(repo.ID)
|
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)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -347,6 +347,7 @@ func SlackHooksEditPost(ctx *context.Context, form auth.NewSlackHookForm) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestWebhook(ctx *context.Context) {
|
func TestWebhook(ctx *context.Context) {
|
||||||
|
apiUser := ctx.User.APIFormat()
|
||||||
p := &api.PushPayload{
|
p := &api.PushPayload{
|
||||||
Ref: git.BRANCH_PREFIX + ctx.Repo.Repository.DefaultBranch,
|
Ref: git.BRANCH_PREFIX + ctx.Repo.Repository.DefaultBranch,
|
||||||
Before: ctx.Repo.CommitID,
|
Before: ctx.Repo.CommitID,
|
||||||
|
@ -356,27 +357,19 @@ func TestWebhook(ctx *context.Context) {
|
||||||
ID: ctx.Repo.CommitID,
|
ID: ctx.Repo.CommitID,
|
||||||
Message: ctx.Repo.Commit.Message(),
|
Message: ctx.Repo.Commit.Message(),
|
||||||
URL: ctx.Repo.Repository.FullLink() + "/commit/" + ctx.Repo.CommitID,
|
URL: ctx.Repo.Repository.FullLink() + "/commit/" + ctx.Repo.CommitID,
|
||||||
Author: &api.PayloadAuthor{
|
Author: &api.PayloadUser{
|
||||||
Name: ctx.Repo.Commit.Author.Name,
|
Name: ctx.Repo.Commit.Author.Name,
|
||||||
Email: ctx.Repo.Commit.Author.Email,
|
Email: ctx.Repo.Commit.Author.Email,
|
||||||
},
|
},
|
||||||
Committer: &api.PayloadCommitter{
|
Committer: &api.PayloadUser{
|
||||||
Name: ctx.Repo.Commit.Committer.Name,
|
Name: ctx.Repo.Commit.Committer.Name,
|
||||||
Email: ctx.Repo.Commit.Committer.Email,
|
Email: ctx.Repo.Commit.Committer.Email,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Repo: ctx.Repo.Repository.ComposePayload(),
|
Repo: ctx.Repo.Repository.APIFormat(nil),
|
||||||
Pusher: &api.PayloadAuthor{
|
Pusher: apiUser,
|
||||||
Name: ctx.User.Name,
|
Sender: apiUser,
|
||||||
Email: ctx.User.Email,
|
|
||||||
UserName: ctx.User.Name,
|
|
||||||
},
|
|
||||||
Sender: &api.PayloadUser{
|
|
||||||
UserName: ctx.User.Name,
|
|
||||||
ID: ctx.User.ID,
|
|
||||||
AvatarUrl: ctx.User.AvatarLink(),
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
if err := models.PrepareWebhooks(ctx.Repo.Repository, models.HOOK_EVENT_PUSH, p); err != nil {
|
if err := models.PrepareWebhooks(ctx.Repo.Repository, models.HOOK_EVENT_PUSH, p); err != nil {
|
||||||
ctx.Flash.Error("PrepareWebhooks: " + err.Error())
|
ctx.Flash.Error("PrepareWebhooks: " + err.Error())
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
0.9.76.0814
|
0.9.77.0814
|
Loading…
Reference in a new issue