mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	Replace convert.To with APIFormat calls
This commit is contained in:
		@@ -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 [
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
##### 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
 | 
				
			||||||
		Reference in New Issue
	
	Block a user