diff --git a/routers/api/v1/admin/org.go b/routers/api/v1/admin/org.go index 1162c96c5f..706e2cedeb 100644 --- a/routers/api/v1/admin/org.go +++ b/routers/api/v1/admin/org.go @@ -13,7 +13,8 @@ import ( "code.gitea.io/gitea/routers/api/v1/user" ) -// https://github.com/gogits/go-gogs-client/wiki/Administration-Organizations#create-a-new-organization +// CreateOrg api for create organization +// see https://github.com/gogits/go-gogs-client/wiki/Administration-Organizations#create-a-new-organization func CreateOrg(ctx *context.APIContext, form api.CreateOrgOption) { u := user.GetUserByParams(ctx) if ctx.Written() { diff --git a/routers/api/v1/admin/org_repo.go b/routers/api/v1/admin/org_repo.go index c7014dd7c0..8230c0acc4 100644 --- a/routers/api/v1/admin/org_repo.go +++ b/routers/api/v1/admin/org_repo.go @@ -9,6 +9,7 @@ import ( "code.gitea.io/gitea/modules/context" ) +// GetRepositoryByParams api for getting repository by orgnizition ID and repo name func GetRepositoryByParams(ctx *context.APIContext) *models.Repository { repo, err := models.GetRepositoryByName(ctx.Org.Team.OrgID, ctx.Params(":reponame")) if err != nil { @@ -22,6 +23,7 @@ func GetRepositoryByParams(ctx *context.APIContext) *models.Repository { return repo } +// AddTeamRepository api for adding a repository to a team func AddTeamRepository(ctx *context.APIContext) { repo := GetRepositoryByParams(ctx) if ctx.Written() { @@ -35,6 +37,7 @@ func AddTeamRepository(ctx *context.APIContext) { ctx.Status(204) } +// RemoveTeamRepository api for removing a repository from a team func RemoveTeamRepository(ctx *context.APIContext) { repo := GetRepositoryByParams(ctx) if ctx.Written() { diff --git a/routers/api/v1/admin/org_team.go b/routers/api/v1/admin/org_team.go index b1964ff728..93af1ec427 100644 --- a/routers/api/v1/admin/org_team.go +++ b/routers/api/v1/admin/org_team.go @@ -13,6 +13,7 @@ import ( "code.gitea.io/gitea/routers/api/v1/user" ) +// CreateTeam api for create a team func CreateTeam(ctx *context.APIContext, form api.CreateTeamOption) { team := &models.Team{ OrgID: ctx.Org.Organization.ID, @@ -32,6 +33,7 @@ func CreateTeam(ctx *context.APIContext, form api.CreateTeamOption) { ctx.JSON(201, convert.ToTeam(team)) } +// AddTeamMember api for add a member to a team func AddTeamMember(ctx *context.APIContext) { u := user.GetUserByParams(ctx) if ctx.Written() { @@ -45,6 +47,7 @@ func AddTeamMember(ctx *context.APIContext) { ctx.Status(204) } +// RemoveTeamMember api for remove one member from a team func RemoveTeamMember(ctx *context.APIContext) { u := user.GetUserByParams(ctx) if ctx.Written() { diff --git a/routers/api/v1/admin/repo.go b/routers/api/v1/admin/repo.go index 69187dc367..a52d462137 100644 --- a/routers/api/v1/admin/repo.go +++ b/routers/api/v1/admin/repo.go @@ -12,7 +12,8 @@ import ( "code.gitea.io/gitea/routers/api/v1/user" ) -// https://github.com/gogits/go-gogs-client/wiki/Administration-Repositories#create-a-new-repository +// CreateRepo api for creating a repository +// see https://github.com/gogits/go-gogs-client/wiki/Administration-Repositories#create-a-new-repository func CreateRepo(ctx *context.APIContext, form api.CreateRepoOption) { owner := user.GetUserByParams(ctx) if ctx.Written() { diff --git a/routers/api/v1/admin/user.go b/routers/api/v1/admin/user.go index c868c62104..0a6dc5d456 100644 --- a/routers/api/v1/admin/user.go +++ b/routers/api/v1/admin/user.go @@ -34,7 +34,8 @@ func parseLoginSource(ctx *context.APIContext, u *models.User, sourceID int64, l u.LoginName = loginName } -// https://github.com/gogits/go-gogs-client/wiki/Administration-Users#create-a-new-user +// CreateUser api for creating a user +// see https://github.com/gogits/go-gogs-client/wiki/Administration-Users#create-a-new-user func CreateUser(ctx *context.APIContext, form api.CreateUserOption) { u := &models.User{ Name: form.Username, @@ -71,7 +72,8 @@ func CreateUser(ctx *context.APIContext, form api.CreateUserOption) { ctx.JSON(201, u.APIFormat()) } -// https://github.com/gogits/go-gogs-client/wiki/Administration-Users#edit-an-existing-user +// EditUser api for modifying a user's information +// see https://github.com/gogits/go-gogs-client/wiki/Administration-Users#edit-an-existing-user func EditUser(ctx *context.APIContext, form api.EditUserOption) { u := user.GetUserByParams(ctx) if ctx.Written() { @@ -123,6 +125,7 @@ func EditUser(ctx *context.APIContext, form api.EditUserOption) { ctx.JSON(200, u.APIFormat()) } +// DeleteUser api for deleting a user // https://github.com/gogits/go-gogs-client/wiki/Administration-Users#delete-a-user func DeleteUser(ctx *context.APIContext) { u := user.GetUserByParams(ctx) @@ -144,7 +147,8 @@ func DeleteUser(ctx *context.APIContext) { ctx.Status(204) } -// https://github.com/gogits/go-gogs-client/wiki/Administration-Users#create-a-public-key-for-user +// CreatePublicKey api for creating a public key to a user +// see https://github.com/gogits/go-gogs-client/wiki/Administration-Users#create-a-public-key-for-user func CreatePublicKey(ctx *context.APIContext, form api.CreateKeyOption) { u := user.GetUserByParams(ctx) if ctx.Written() { diff --git a/routers/api/v1/convert/convert.go b/routers/api/v1/convert/convert.go index a736b827af..8608d17d99 100644 --- a/routers/api/v1/convert/convert.go +++ b/routers/api/v1/convert/convert.go @@ -9,12 +9,13 @@ import ( "github.com/Unknwon/com" - "code.gitea.io/git" api "code.gitea.io/sdk/gitea" + "code.gitea.io/git" "code.gitea.io/gitea/models" ) +// ToEmail convert models.EmailAddress to api.Email func ToEmail(email *models.EmailAddress) *api.Email { return &api.Email{ Email: email.Email, @@ -23,6 +24,7 @@ func ToEmail(email *models.EmailAddress) *api.Email { } } +// ToBranch convert a commit and branch to an api.Branch func ToBranch(b *models.Branch, c *git.Commit) *api.Branch { return &api.Branch{ Name: b.Name, @@ -30,6 +32,7 @@ func ToBranch(b *models.Branch, c *git.Commit) *api.Branch { } } +// ToCommit convert a commit to api.PayloadCommit func ToCommit(c *git.Commit) *api.PayloadCommit { authorUsername := "" author, err := models.GetUserByEmail(c.Author.Email) @@ -59,6 +62,7 @@ func ToCommit(c *git.Commit) *api.PayloadCommit { } } +// ToPublicKey convert models.PublicKey to api.PublicKey func ToPublicKey(apiLink string, key *models.PublicKey) *api.PublicKey { return &api.PublicKey{ ID: key.ID, @@ -69,6 +73,7 @@ func ToPublicKey(apiLink string, key *models.PublicKey) *api.PublicKey { } } +// ToHook convert models.Webhook to api.Hook func ToHook(repoLink string, w *models.Webhook) *api.Hook { config := map[string]string{ "url": w.URL, @@ -94,6 +99,7 @@ func ToHook(repoLink string, w *models.Webhook) *api.Hook { } } +// ToDeployKey convert models.DeployKey to api.DeployKey func ToDeployKey(apiLink string, key *models.DeployKey) *api.DeployKey { return &api.DeployKey{ ID: key.ID, @@ -105,6 +111,7 @@ func ToDeployKey(apiLink string, key *models.DeployKey) *api.DeployKey { } } +// ToOrganization convert models.User to api.Organization func ToOrganization(org *models.User) *api.Organization { return &api.Organization{ ID: org.ID, @@ -117,6 +124,7 @@ func ToOrganization(org *models.User) *api.Organization { } } +// ToTeam convert models.Team to api.Team func ToTeam(team *models.Team) *api.Team { return &api.Team{ ID: team.ID, diff --git a/routers/api/v1/misc/markdown.go b/routers/api/v1/misc/markdown.go index b4974ce466..23b5b269aa 100644 --- a/routers/api/v1/misc/markdown.go +++ b/routers/api/v1/misc/markdown.go @@ -11,7 +11,8 @@ import ( "code.gitea.io/gitea/modules/markdown" ) -// https://github.com/gogits/go-gogs-client/wiki/Miscellaneous#render-an-arbitrary-markdown-document +// Markdown render markdown document to HTML +// see https://github.com/gogits/go-gogs-client/wiki/Miscellaneous#render-an-arbitrary-markdown-document func Markdown(ctx *context.APIContext, form api.MarkdownOption) { if ctx.HasApiError() { ctx.Error(422, "", ctx.GetErrMsg()) @@ -31,7 +32,8 @@ func Markdown(ctx *context.APIContext, form api.MarkdownOption) { } } -// https://github.com/gogits/go-gogs-client/wiki/Miscellaneous#render-a-markdown-document-in-raw-mode +// MarkdownRaw render raw markdown HTML +// see https://github.com/gogits/go-gogs-client/wiki/Miscellaneous#render-a-markdown-document-in-raw-mode func MarkdownRaw(ctx *context.APIContext) { body, err := ctx.Req.Body().Bytes() if err != nil { diff --git a/routers/api/v1/org/org.go b/routers/api/v1/org/org.go index cc847af8db..328b97a223 100644 --- a/routers/api/v1/org/org.go +++ b/routers/api/v1/org/org.go @@ -26,12 +26,14 @@ func listUserOrgs(ctx *context.APIContext, u *models.User, all bool) { ctx.JSON(200, &apiOrgs) } -// https://github.com/gogits/go-gogs-client/wiki/Organizations#list-your-organizations +// ListMyOrgs list all my orgs +// see https://github.com/gogits/go-gogs-client/wiki/Organizations#list-your-organizations func ListMyOrgs(ctx *context.APIContext) { listUserOrgs(ctx, ctx.User, true) } -// https://github.com/gogits/go-gogs-client/wiki/Organizations#list-user-organizations +// ListUserOrgs list user's orgs +// see https://github.com/gogits/go-gogs-client/wiki/Organizations#list-user-organizations func ListUserOrgs(ctx *context.APIContext) { u := user.GetUserByParams(ctx) if ctx.Written() { @@ -40,12 +42,14 @@ func ListUserOrgs(ctx *context.APIContext) { listUserOrgs(ctx, u, false) } -// https://github.com/gogits/go-gogs-client/wiki/Organizations#get-an-organization +// Get get an organization +// see https://github.com/gogits/go-gogs-client/wiki/Organizations#get-an-organization func Get(ctx *context.APIContext) { ctx.JSON(200, convert.ToOrganization(ctx.Org.Organization)) } -// https://github.com/gogits/go-gogs-client/wiki/Organizations#edit-an-organization +// Edit change an organization's information +// see https://github.com/gogits/go-gogs-client/wiki/Organizations#edit-an-organization func Edit(ctx *context.APIContext, form api.EditOrgOption) { org := ctx.Org.Organization if !org.IsOwnedBy(ctx.User.ID) { diff --git a/routers/api/v1/org/team.go b/routers/api/v1/org/team.go index ae67461bee..f5b2e9dc55 100644 --- a/routers/api/v1/org/team.go +++ b/routers/api/v1/org/team.go @@ -11,6 +11,7 @@ import ( "code.gitea.io/gitea/routers/api/v1/convert" ) +// ListTeams list all the teams of an organization func ListTeams(ctx *context.APIContext) { org := ctx.Org.Organization if err := org.GetTeams(); err != nil { diff --git a/routers/api/v1/repo/branch.go b/routers/api/v1/repo/branch.go index 39215ed462..3c73ae62c2 100644 --- a/routers/api/v1/repo/branch.go +++ b/routers/api/v1/repo/branch.go @@ -11,7 +11,8 @@ import ( "code.gitea.io/gitea/routers/api/v1/convert" ) -// https://github.com/gogits/go-gogs-client/wiki/Repositories#get-branch +// GetBranch get a branch of a repository +// see https://github.com/gogits/go-gogs-client/wiki/Repositories#get-branch func GetBranch(ctx *context.APIContext) { branch, err := ctx.Repo.Repository.GetBranch(ctx.Params(":branchname")) if err != nil { @@ -28,7 +29,8 @@ func GetBranch(ctx *context.APIContext) { ctx.JSON(200, convert.ToBranch(branch, c)) } -// https://github.com/gogits/go-gogs-client/wiki/Repositories#list-branches +// ListBranches list all the branches of a repository +// see https://github.com/gogits/go-gogs-client/wiki/Repositories#list-branches func ListBranches(ctx *context.APIContext) { branches, err := ctx.Repo.Repository.GetBranches() if err != nil { diff --git a/routers/api/v1/repo/collaborators.go b/routers/api/v1/repo/collaborators.go index 4cad20b60c..a1e8ec6535 100644 --- a/routers/api/v1/repo/collaborators.go +++ b/routers/api/v1/repo/collaborators.go @@ -11,6 +11,7 @@ import ( "code.gitea.io/gitea/modules/context" ) +// AddCollaborator add a collaborator of a repository func AddCollaborator(ctx *context.APIContext, form api.AddCollaboratorOption) { collaborator, err := models.GetUserByName(ctx.Params(":collaborator")) if err != nil { diff --git a/routers/api/v1/repo/file.go b/routers/api/v1/repo/file.go index 96948ea459..16a31f96c7 100644 --- a/routers/api/v1/repo/file.go +++ b/routers/api/v1/repo/file.go @@ -12,7 +12,8 @@ import ( "code.gitea.io/gitea/routers/repo" ) -// https://github.com/gogits/go-gogs-client/wiki/Repositories-Contents#download-raw-content +// GetRawFile get a file by path on a repository +// see https://github.com/gogits/go-gogs-client/wiki/Repositories-Contents#download-raw-content func GetRawFile(ctx *context.APIContext) { if !ctx.Repo.HasAccess() { ctx.Status(404) @@ -33,7 +34,8 @@ func GetRawFile(ctx *context.APIContext) { } } -// https://github.com/gogits/go-gogs-client/wiki/Repositories-Contents#download-archive +// GetArchive get archive of a repository +// see https://github.com/gogits/go-gogs-client/wiki/Repositories-Contents#download-archive func GetArchive(ctx *context.APIContext) { repoPath := models.RepoPath(ctx.Params(":username"), ctx.Params(":reponame")) gitRepo, err := git.OpenRepository(repoPath) @@ -46,6 +48,7 @@ func GetArchive(ctx *context.APIContext) { repo.Download(ctx.Context) } +// GetEditorconfig get editor config of a repository func GetEditorconfig(ctx *context.APIContext) { ec, err := ctx.Repo.GetEditorconfig() if err != nil { diff --git a/routers/api/v1/repo/hook.go b/routers/api/v1/repo/hook.go index 226b50db9f..30e1fad363 100644 --- a/routers/api/v1/repo/hook.go +++ b/routers/api/v1/repo/hook.go @@ -16,7 +16,8 @@ import ( "code.gitea.io/gitea/routers/api/v1/convert" ) -// https://github.com/gogits/go-gogs-client/wiki/Repositories#list-hooks +// ListHooks list all hooks of a repository +// see https://github.com/gogits/go-gogs-client/wiki/Repositories#list-hooks func ListHooks(ctx *context.APIContext) { hooks, err := models.GetWebhooksByRepoID(ctx.Repo.Repository.ID) if err != nil { @@ -31,7 +32,8 @@ func ListHooks(ctx *context.APIContext) { ctx.JSON(200, &apiHooks) } -// https://github.com/gogits/go-gogs-client/wiki/Repositories#create-a-hook +// CreateHook create a hook for a repository +// see https://github.com/gogits/go-gogs-client/wiki/Repositories#create-a-hook func CreateHook(ctx *context.APIContext, form api.CreateHookOption) { if !models.IsValidHookTaskType(form.Type) { ctx.Error(422, "", "Invalid hook type") @@ -97,7 +99,8 @@ func CreateHook(ctx *context.APIContext, form api.CreateHookOption) { ctx.JSON(201, convert.ToHook(ctx.Repo.RepoLink, w)) } -// https://github.com/gogits/go-gogs-client/wiki/Repositories#edit-a-hook +// EditHook modify a hook of a repository +// see https://github.com/gogits/go-gogs-client/wiki/Repositories#edit-a-hook func EditHook(ctx *context.APIContext, form api.EditHookOption) { w, err := models.GetWebhookByRepoID(ctx.Repo.Repository.ID, ctx.ParamsInt64(":id")) if err != nil { @@ -165,6 +168,7 @@ func EditHook(ctx *context.APIContext, form api.EditHookOption) { ctx.JSON(200, convert.ToHook(ctx.Repo.RepoLink, w)) } +// DeleteHook delete a hook of a repository func DeleteHook(ctx *context.APIContext) { if err := models.DeleteWebhookByRepoID(ctx.Repo.Repository.ID, ctx.ParamsInt64(":id")); err != nil { ctx.Error(500, "DeleteWebhookByRepoID", err) diff --git a/routers/api/v1/repo/issue.go b/routers/api/v1/repo/issue.go index c73bf5dbb5..354678c781 100644 --- a/routers/api/v1/repo/issue.go +++ b/routers/api/v1/repo/issue.go @@ -15,6 +15,7 @@ import ( "code.gitea.io/gitea/modules/setting" ) +// ListIssues list the issues of a repository func ListIssues(ctx *context.APIContext) { issues, err := models.Issues(&models.IssuesOptions{ RepoID: ctx.Repo.Repository.ID, @@ -39,6 +40,7 @@ func ListIssues(ctx *context.APIContext) { ctx.JSON(200, &apiIssues) } +// GetIssue get an issue of a repository func GetIssue(ctx *context.APIContext) { issue, err := models.GetIssueByIndex(ctx.Repo.Repository.ID, ctx.ParamsInt64(":index")) if err != nil { @@ -52,6 +54,7 @@ func GetIssue(ctx *context.APIContext) { ctx.JSON(200, issue.APIFormat()) } +// CreateIssue create an issue of a repository func CreateIssue(ctx *context.APIContext, form api.CreateIssueOption) { issue := &models.Issue{ RepoID: ctx.Repo.Repository.ID, @@ -101,6 +104,7 @@ func CreateIssue(ctx *context.APIContext, form api.CreateIssueOption) { ctx.JSON(201, issue.APIFormat()) } +// EditIssue modify an issue of a repository func EditIssue(ctx *context.APIContext, form api.EditIssueOption) { issue, err := models.GetIssueByIndex(ctx.Repo.Repository.ID, ctx.ParamsInt64(":index")) if err != nil { diff --git a/routers/api/v1/repo/issue_comment.go b/routers/api/v1/repo/issue_comment.go index cf9a3eae0f..06c7d2b1f5 100644 --- a/routers/api/v1/repo/issue_comment.go +++ b/routers/api/v1/repo/issue_comment.go @@ -1,6 +1,7 @@ // Copyright 2015 The Gogs Authors. All rights reserved. // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. + package repo import ( @@ -12,6 +13,7 @@ import ( "code.gitea.io/gitea/modules/context" ) +// ListIssueComments list all the comments of an issue func ListIssueComments(ctx *context.APIContext) { var since time.Time if len(ctx.Query("since")) > 0 { @@ -38,6 +40,7 @@ func ListIssueComments(ctx *context.APIContext) { ctx.JSON(200, &apiComments) } +// CreateIssueComment create a comment for an issue func CreateIssueComment(ctx *context.APIContext, form api.CreateIssueCommentOption) { issue, err := models.GetIssueByIndex(ctx.Repo.Repository.ID, ctx.ParamsInt64(":index")) if err != nil { @@ -54,6 +57,7 @@ func CreateIssueComment(ctx *context.APIContext, form api.CreateIssueCommentOpti ctx.JSON(201, comment.APIFormat()) } +// EditIssueComment modify a comment of an issue func EditIssueComment(ctx *context.APIContext, form api.EditIssueCommentOption) { comment, err := models.GetCommentByID(ctx.ParamsInt64(":id")) if err != nil { diff --git a/routers/api/v1/repo/issue_label.go b/routers/api/v1/repo/issue_label.go index 46d976253a..e91b8e9daf 100644 --- a/routers/api/v1/repo/issue_label.go +++ b/routers/api/v1/repo/issue_label.go @@ -11,6 +11,7 @@ import ( "code.gitea.io/gitea/modules/context" ) +// ListIssueLabels list all the labels of an issue func ListIssueLabels(ctx *context.APIContext) { issue, err := models.GetIssueByIndex(ctx.Repo.Repository.ID, ctx.ParamsInt64(":index")) if err != nil { @@ -29,6 +30,7 @@ func ListIssueLabels(ctx *context.APIContext) { ctx.JSON(200, &apiLabels) } +// AddIssueLabels add labels for an issue func AddIssueLabels(ctx *context.APIContext, form api.IssueLabelsOption) { if !ctx.Repo.IsWriter() { ctx.Status(403) @@ -69,6 +71,7 @@ func AddIssueLabels(ctx *context.APIContext, form api.IssueLabelsOption) { ctx.JSON(200, &apiLabels) } +// DeleteIssueLabel delete a label for an issue func DeleteIssueLabel(ctx *context.APIContext) { if !ctx.Repo.IsWriter() { ctx.Status(403) @@ -103,6 +106,7 @@ func DeleteIssueLabel(ctx *context.APIContext) { ctx.Status(204) } +// ReplaceIssueLabels replace labels for an issue func ReplaceIssueLabels(ctx *context.APIContext, form api.IssueLabelsOption) { if !ctx.Repo.IsWriter() { ctx.Status(403) @@ -143,6 +147,7 @@ func ReplaceIssueLabels(ctx *context.APIContext, form api.IssueLabelsOption) { ctx.JSON(200, &apiLabels) } +// ClearIssueLabels delete all the labels for an issue func ClearIssueLabels(ctx *context.APIContext) { if !ctx.Repo.IsWriter() { ctx.Status(403) diff --git a/routers/api/v1/repo/key.go b/routers/api/v1/repo/key.go index 4d4240c290..51f080a385 100644 --- a/routers/api/v1/repo/key.go +++ b/routers/api/v1/repo/key.go @@ -19,7 +19,8 @@ func composeDeployKeysAPILink(repoPath string) string { return setting.AppUrl + "api/v1/repos/" + repoPath + "/keys/" } -// https://github.com/gogits/go-gogs-client/wiki/Repositories-Deploy-Keys#list-deploy-keys +// ListDeployKeys list all the deploy keys of a repository +// see https://github.com/gogits/go-gogs-client/wiki/Repositories-Deploy-Keys#list-deploy-keys func ListDeployKeys(ctx *context.APIContext) { keys, err := models.ListDeployKeys(ctx.Repo.Repository.ID) if err != nil { @@ -40,7 +41,8 @@ func ListDeployKeys(ctx *context.APIContext) { ctx.JSON(200, &apiKeys) } -// https://github.com/gogits/go-gogs-client/wiki/Repositories-Deploy-Keys#get-a-deploy-key +// GetDeployKey get a deploy key by id +// see https://github.com/gogits/go-gogs-client/wiki/Repositories-Deploy-Keys#get-a-deploy-key func GetDeployKey(ctx *context.APIContext) { key, err := models.GetDeployKeyByID(ctx.ParamsInt64(":id")) if err != nil { @@ -61,6 +63,7 @@ func GetDeployKey(ctx *context.APIContext) { ctx.JSON(200, convert.ToDeployKey(apiLink, key)) } +// HandleCheckKeyStringError handle check key error func HandleCheckKeyStringError(ctx *context.APIContext, err error) { if models.IsErrKeyUnableVerify(err) { ctx.Error(422, "", "Unable to verify key content") @@ -69,6 +72,7 @@ func HandleCheckKeyStringError(ctx *context.APIContext, err error) { } } +// HandleAddKeyError handle add key error func HandleAddKeyError(ctx *context.APIContext, err error) { switch { case models.IsErrKeyAlreadyExist(err): @@ -80,7 +84,8 @@ func HandleAddKeyError(ctx *context.APIContext, err error) { } } -// https://github.com/gogits/go-gogs-client/wiki/Repositories-Deploy-Keys#add-a-new-deploy-key +// CreateDeployKey create deploy key for a repository +// see https://github.com/gogits/go-gogs-client/wiki/Repositories-Deploy-Keys#add-a-new-deploy-key func CreateDeployKey(ctx *context.APIContext, form api.CreateKeyOption) { content, err := models.CheckPublicKeyString(form.Key) if err != nil { @@ -99,7 +104,8 @@ func CreateDeployKey(ctx *context.APIContext, form api.CreateKeyOption) { ctx.JSON(201, convert.ToDeployKey(apiLink, key)) } -// https://github.com/gogits/go-gogs-client/wiki/Repositories-Deploy-Keys#remove-a-deploy-key +// DeleteDeploykey delete deploy key for a repository +// see https://github.com/gogits/go-gogs-client/wiki/Repositories-Deploy-Keys#remove-a-deploy-key func DeleteDeploykey(ctx *context.APIContext) { if err := models.DeleteDeployKey(ctx.User, ctx.ParamsInt64(":id")); err != nil { if models.IsErrKeyAccessDenied(err) { diff --git a/routers/api/v1/repo/label.go b/routers/api/v1/repo/label.go index 009e8d8a0b..383868beda 100644 --- a/routers/api/v1/repo/label.go +++ b/routers/api/v1/repo/label.go @@ -11,6 +11,7 @@ import ( "code.gitea.io/gitea/modules/context" ) +// ListLabels list all the labels of a repository func ListLabels(ctx *context.APIContext) { labels, err := models.GetLabelsByRepoID(ctx.Repo.Repository.ID) if err != nil { @@ -25,6 +26,7 @@ func ListLabels(ctx *context.APIContext) { ctx.JSON(200, &apiLabels) } +// GetLabel get label by repository and label id func GetLabel(ctx *context.APIContext) { label, err := models.GetLabelInRepoByID(ctx.Repo.Repository.ID, ctx.ParamsInt64(":id")) if err != nil { @@ -39,6 +41,7 @@ func GetLabel(ctx *context.APIContext) { ctx.JSON(200, label.APIFormat()) } +// CreateLabel create a label for a repository func CreateLabel(ctx *context.APIContext, form api.CreateLabelOption) { if !ctx.Repo.IsWriter() { ctx.Status(403) @@ -57,6 +60,7 @@ func CreateLabel(ctx *context.APIContext, form api.CreateLabelOption) { ctx.JSON(201, label.APIFormat()) } +// EditLabel modify a label for a repository func EditLabel(ctx *context.APIContext, form api.EditLabelOption) { if !ctx.Repo.IsWriter() { ctx.Status(403) @@ -86,6 +90,7 @@ func EditLabel(ctx *context.APIContext, form api.EditLabelOption) { ctx.JSON(200, label.APIFormat()) } +// DeleteLabel delete a label for a repository func DeleteLabel(ctx *context.APIContext) { if !ctx.Repo.IsWriter() { ctx.Status(403) diff --git a/routers/api/v1/repo/milestone.go b/routers/api/v1/repo/milestone.go index 2c6a93f826..ef32ed8989 100644 --- a/routers/api/v1/repo/milestone.go +++ b/routers/api/v1/repo/milestone.go @@ -13,6 +13,7 @@ import ( "code.gitea.io/gitea/modules/context" ) +// ListMilestones list all the milestones for a repository func ListMilestones(ctx *context.APIContext) { milestones, err := models.GetMilestonesByRepoID(ctx.Repo.Repository.ID) if err != nil { @@ -27,6 +28,7 @@ func ListMilestones(ctx *context.APIContext) { ctx.JSON(200, &apiMilestones) } +// GetMilestone get a milestone for a repository func GetMilestone(ctx *context.APIContext) { milestone, err := models.GetMilestoneByRepoID(ctx.Repo.Repository.ID, ctx.ParamsInt64(":id")) if err != nil { @@ -40,6 +42,7 @@ func GetMilestone(ctx *context.APIContext) { ctx.JSON(200, milestone.APIFormat()) } +// CreateMilestone create a milestone for a repository func CreateMilestone(ctx *context.APIContext, form api.CreateMilestoneOption) { if form.Deadline == nil { defaultDeadline, _ := time.ParseInLocation("2006-01-02", "9999-12-31", time.Local) @@ -60,6 +63,7 @@ func CreateMilestone(ctx *context.APIContext, form api.CreateMilestoneOption) { ctx.JSON(201, milestone.APIFormat()) } +// EditMilestone modify a milestone for a repository func EditMilestone(ctx *context.APIContext, form api.EditMilestoneOption) { milestone, err := models.GetMilestoneByRepoID(ctx.Repo.Repository.ID, ctx.ParamsInt64(":id")) if err != nil { @@ -88,6 +92,7 @@ func EditMilestone(ctx *context.APIContext, form api.EditMilestoneOption) { ctx.JSON(200, milestone.APIFormat()) } +// DeleteMilestone delete a milestone for a repository func DeleteMilestone(ctx *context.APIContext) { if err := models.DeleteMilestoneByRepoID(ctx.Repo.Repository.ID, ctx.ParamsInt64(":id")); err != nil { ctx.Error(500, "DeleteMilestoneByRepoID", err) diff --git a/routers/api/v1/repo/repo.go b/routers/api/v1/repo/repo.go index 4353fb74ea..6ae513db16 100644 --- a/routers/api/v1/repo/repo.go +++ b/routers/api/v1/repo/repo.go @@ -17,7 +17,8 @@ import ( "code.gitea.io/gitea/routers/api/v1/convert" ) -// https://github.com/gogits/go-gogs-client/wiki/Repositories#search-repositories +// Search repositories via options +// see https://github.com/gogits/go-gogs-client/wiki/Repositories#search-repositories func Search(ctx *context.APIContext) { opts := &models.SearchRepoOptions{ Keyword: path.Base(ctx.Query("q")), @@ -76,7 +77,8 @@ func Search(ctx *context.APIContext) { }) } -// https://github.com/gogits/go-gogs-client/wiki/Repositories#list-your-repositories +// ListMyRepos list all my repositories +// see https://github.com/gogits/go-gogs-client/wiki/Repositories#list-your-repositories func ListMyRepos(ctx *context.APIContext) { ownRepos, err := models.GetUserRepositories(ctx.User.ID, true, 1, ctx.User.NumRepos) if err != nil { @@ -109,6 +111,7 @@ func ListMyRepos(ctx *context.APIContext) { ctx.JSON(200, &repos) } +// CreateUserRepo create a repository for a user func CreateUserRepo(ctx *context.APIContext, owner *models.User, opt api.CreateRepoOption) { repo, err := models.CreateRepository(owner, models.CreateRepoOptions{ Name: opt.Name, @@ -138,7 +141,8 @@ func CreateUserRepo(ctx *context.APIContext, owner *models.User, opt api.CreateR ctx.JSON(201, repo.APIFormat(&api.Permission{true, true, true})) } -// https://github.com/gogits/go-gogs-client/wiki/Repositories#create +// Create create one repository of mine +// see https://github.com/gogits/go-gogs-client/wiki/Repositories#create func Create(ctx *context.APIContext, opt api.CreateRepoOption) { // Shouldn't reach this condition, but just in case. if ctx.User.IsOrganization() { @@ -148,6 +152,7 @@ func Create(ctx *context.APIContext, opt api.CreateRepoOption) { CreateUserRepo(ctx, ctx.User, opt) } +// CreateOrgRepo create one repository of the organization func CreateOrgRepo(ctx *context.APIContext, opt api.CreateRepoOption) { org, err := models.GetOrgByName(ctx.Params(":org")) if err != nil { @@ -166,7 +171,8 @@ func CreateOrgRepo(ctx *context.APIContext, opt api.CreateRepoOption) { CreateUserRepo(ctx, org, opt) } -// https://github.com/gogits/go-gogs-client/wiki/Repositories#migrate +// Migrate migrate remote git repository to gitea +// see https://github.com/gogits/go-gogs-client/wiki/Repositories#migrate func Migrate(ctx *context.APIContext, form auth.MigrateRepoForm) { ctxUser := ctx.User // Not equal means context user is an organization, @@ -238,13 +244,15 @@ func Migrate(ctx *context.APIContext, form auth.MigrateRepoForm) { ctx.JSON(201, repo.APIFormat(&api.Permission{true, true, true})) } -// https://github.com/gogits/go-gogs-client/wiki/Repositories#get +// Get get one repository +// see https://github.com/gogits/go-gogs-client/wiki/Repositories#get func Get(ctx *context.APIContext) { repo := ctx.Repo.Repository ctx.JSON(200, repo.APIFormat(&api.Permission{true, true, true})) } -// https://github.com/gogits/go-gogs-client/wiki/Repositories#delete +// Delete delete one repository +// see https://github.com/gogits/go-gogs-client/wiki/Repositories#delete func Delete(ctx *context.APIContext) { owner := ctx.Repo.Owner repo := ctx.Repo.Repository diff --git a/routers/api/v1/user/app.go b/routers/api/v1/user/app.go index e678aaff53..2955f78a77 100644 --- a/routers/api/v1/user/app.go +++ b/routers/api/v1/user/app.go @@ -11,7 +11,8 @@ import ( "code.gitea.io/gitea/modules/context" ) -// https://github.com/gogits/go-gogs-client/wiki/Users#list-access-tokens-for-a-user +// ListAccessTokens list all the access tokens +// see https://github.com/gogits/go-gogs-client/wiki/Users#list-access-tokens-for-a-user func ListAccessTokens(ctx *context.APIContext) { tokens, err := models.ListAccessTokens(ctx.User.ID) if err != nil { @@ -26,7 +27,8 @@ func ListAccessTokens(ctx *context.APIContext) { ctx.JSON(200, &apiTokens) } -// https://github.com/gogits/go-gogs-client/wiki/Users#create-a-access-token +// CreateAccessToken create access tokens +// see https://github.com/gogits/go-gogs-client/wiki/Users#create-a-access-token func CreateAccessToken(ctx *context.APIContext, form api.CreateAccessTokenOption) { t := &models.AccessToken{ UID: ctx.User.ID, diff --git a/routers/api/v1/user/email.go b/routers/api/v1/user/email.go index 2503d01a44..f42fc11cf6 100644 --- a/routers/api/v1/user/email.go +++ b/routers/api/v1/user/email.go @@ -13,7 +13,8 @@ import ( "code.gitea.io/gitea/routers/api/v1/convert" ) -// https://github.com/gogits/go-gogs-client/wiki/Users-Emails#list-email-addresses-for-a-user +// ListEmails list all the emails of mine +// see https://github.com/gogits/go-gogs-client/wiki/Users-Emails#list-email-addresses-for-a-user func ListEmails(ctx *context.APIContext) { emails, err := models.GetEmailAddresses(ctx.User.ID) if err != nil { @@ -27,7 +28,8 @@ func ListEmails(ctx *context.APIContext) { ctx.JSON(200, &apiEmails) } -// https://github.com/gogits/go-gogs-client/wiki/Users-Emails#add-email-addresses +// AddEmail add email for me +// see https://github.com/gogits/go-gogs-client/wiki/Users-Emails#add-email-addresses func AddEmail(ctx *context.APIContext, form api.CreateEmailOption) { if len(form.Emails) == 0 { ctx.Status(422) @@ -59,7 +61,8 @@ func AddEmail(ctx *context.APIContext, form api.CreateEmailOption) { ctx.JSON(201, &apiEmails) } -// https://github.com/gogits/go-gogs-client/wiki/Users-Emails#delete-email-addresses +// DeleteEmail delete email +// see https://github.com/gogits/go-gogs-client/wiki/Users-Emails#delete-email-addresses func DeleteEmail(ctx *context.APIContext, form api.CreateEmailOption) { if len(form.Emails) == 0 { ctx.Status(204) diff --git a/routers/api/v1/user/follower.go b/routers/api/v1/user/follower.go index 594c365177..ff043c9de9 100644 --- a/routers/api/v1/user/follower.go +++ b/routers/api/v1/user/follower.go @@ -11,7 +11,7 @@ import ( "code.gitea.io/gitea/modules/context" ) -func responseApiUsers(ctx *context.APIContext, users []*models.User) { +func responseAPIUsers(ctx *context.APIContext, users []*models.User) { apiUsers := make([]*api.User, len(users)) for i := range users { apiUsers[i] = users[i].APIFormat() @@ -25,14 +25,16 @@ func listUserFollowers(ctx *context.APIContext, u *models.User) { ctx.Error(500, "GetUserFollowers", err) return } - responseApiUsers(ctx, users) + responseAPIUsers(ctx, users) } +// ListMyFollowers list all my followers func ListMyFollowers(ctx *context.APIContext) { listUserFollowers(ctx, ctx.User) } -// https://github.com/gogits/go-gogs-client/wiki/Users-Followers#list-followers-of-a-user +// ListFollowers list user's followers +// see https://github.com/gogits/go-gogs-client/wiki/Users-Followers#list-followers-of-a-user func ListFollowers(ctx *context.APIContext) { u := GetUserByParams(ctx) if ctx.Written() { @@ -47,14 +49,16 @@ func listUserFollowing(ctx *context.APIContext, u *models.User) { ctx.Error(500, "GetFollowing", err) return } - responseApiUsers(ctx, users) + responseAPIUsers(ctx, users) } +// ListMyFollowing list all my followings func ListMyFollowing(ctx *context.APIContext) { listUserFollowing(ctx, ctx.User) } -// https://github.com/gogits/go-gogs-client/wiki/Users-Followers#list-users-followed-by-another-user +// ListFollowing list user's followings +// see https://github.com/gogits/go-gogs-client/wiki/Users-Followers#list-users-followed-by-another-user func ListFollowing(ctx *context.APIContext) { u := GetUserByParams(ctx) if ctx.Written() { @@ -71,7 +75,8 @@ func checkUserFollowing(ctx *context.APIContext, u *models.User, followID int64) } } -// https://github.com/gogits/go-gogs-client/wiki/Users-Followers#check-if-you-are-following-a-user +// CheckMyFollowing check if the repo is followed by me +// see https://github.com/gogits/go-gogs-client/wiki/Users-Followers#check-if-you-are-following-a-user func CheckMyFollowing(ctx *context.APIContext) { target := GetUserByParams(ctx) if ctx.Written() { @@ -80,7 +85,8 @@ func CheckMyFollowing(ctx *context.APIContext) { checkUserFollowing(ctx, ctx.User, target.ID) } -// https://github.com/gogits/go-gogs-client/wiki/Users-Followers#check-if-one-user-follows-another +// CheckFollowing check if the repo is followed by user +// see https://github.com/gogits/go-gogs-client/wiki/Users-Followers#check-if-one-user-follows-another func CheckFollowing(ctx *context.APIContext) { u := GetUserByParams(ctx) if ctx.Written() { @@ -93,7 +99,8 @@ func CheckFollowing(ctx *context.APIContext) { checkUserFollowing(ctx, u, target.ID) } -// https://github.com/gogits/go-gogs-client/wiki/Users-Followers#follow-a-user +// Follow follow one repository +// see https://github.com/gogits/go-gogs-client/wiki/Users-Followers#follow-a-user func Follow(ctx *context.APIContext) { target := GetUserByParams(ctx) if ctx.Written() { @@ -106,7 +113,8 @@ func Follow(ctx *context.APIContext) { ctx.Status(204) } -// https://github.com/gogits/go-gogs-client/wiki/Users-Followers#unfollow-a-user +// Unfollow unfollow one repository +// see https://github.com/gogits/go-gogs-client/wiki/Users-Followers#unfollow-a-user func Unfollow(ctx *context.APIContext) { target := GetUserByParams(ctx) if ctx.Written() { diff --git a/routers/api/v1/user/key.go b/routers/api/v1/user/key.go index 6df405a16c..c743b5deab 100644 --- a/routers/api/v1/user/key.go +++ b/routers/api/v1/user/key.go @@ -14,6 +14,7 @@ import ( "code.gitea.io/gitea/routers/api/v1/repo" ) +// GetUserByParamsName get user by name func GetUserByParamsName(ctx *context.APIContext, name string) *models.User { user, err := models.GetUserByName(ctx.Params(name)) if err != nil { @@ -52,12 +53,14 @@ func listPublicKeys(ctx *context.APIContext, uid int64) { ctx.JSON(200, &apiKeys) } -// https://github.com/gogits/go-gogs-client/wiki/Users-Public-Keys#list-your-public-keys +// ListMyPublicKeys list all my public keys +// see https://github.com/gogits/go-gogs-client/wiki/Users-Public-Keys#list-your-public-keys func ListMyPublicKeys(ctx *context.APIContext) { listPublicKeys(ctx, ctx.User.ID) } -// https://github.com/gogits/go-gogs-client/wiki/Users-Public-Keys#list-public-keys-for-a-user +// ListPublicKeys list all user's public keys +// see https://github.com/gogits/go-gogs-client/wiki/Users-Public-Keys#list-public-keys-for-a-user func ListPublicKeys(ctx *context.APIContext) { user := GetUserByParams(ctx) if ctx.Written() { @@ -66,7 +69,8 @@ func ListPublicKeys(ctx *context.APIContext) { listPublicKeys(ctx, user.ID) } -// https://github.com/gogits/go-gogs-client/wiki/Users-Public-Keys#get-a-single-public-key +// GetPublicKey get one public key +// see https://github.com/gogits/go-gogs-client/wiki/Users-Public-Keys#get-a-single-public-key func GetPublicKey(ctx *context.APIContext) { key, err := models.GetPublicKeyByID(ctx.ParamsInt64(":id")) if err != nil { @@ -99,12 +103,14 @@ func CreateUserPublicKey(ctx *context.APIContext, form api.CreateKeyOption, uid ctx.JSON(201, convert.ToPublicKey(apiLink, key)) } -// https://github.com/gogits/go-gogs-client/wiki/Users-Public-Keys#create-a-public-key +// CreatePublicKey create one public key for me +// see https://github.com/gogits/go-gogs-client/wiki/Users-Public-Keys#create-a-public-key func CreatePublicKey(ctx *context.APIContext, form api.CreateKeyOption) { CreateUserPublicKey(ctx, form, ctx.User.ID) } -// https://github.com/gogits/go-gogs-client/wiki/Users-Public-Keys#delete-a-public-key +// DeletePublicKey delete one public key of mine +// see https://github.com/gogits/go-gogs-client/wiki/Users-Public-Keys#delete-a-public-key func DeletePublicKey(ctx *context.APIContext) { if err := models.DeletePublicKey(ctx.User, ctx.ParamsInt64(":id")); err != nil { if models.IsErrKeyAccessDenied(err) { diff --git a/routers/api/v1/user/user.go b/routers/api/v1/user/user.go index c6a454cc4a..ef0a5b212e 100644 --- a/routers/api/v1/user/user.go +++ b/routers/api/v1/user/user.go @@ -13,6 +13,7 @@ import ( "code.gitea.io/gitea/modules/context" ) +// Search search users func Search(ctx *context.APIContext) { opts := &models.SearchUserOptions{ Keyword: ctx.Query("q"), @@ -51,6 +52,7 @@ func Search(ctx *context.APIContext) { }) } +// GetInfo get user's information func GetInfo(ctx *context.APIContext) { u, err := models.GetUserByName(ctx.Params(":username")) if err != nil { @@ -69,6 +71,7 @@ func GetInfo(ctx *context.APIContext) { ctx.JSON(200, u.APIFormat()) } +// GetAuthenticatedUser get curent user's information func GetAuthenticatedUser(ctx *context.APIContext) { ctx.JSON(200, ctx.User.APIFormat()) } diff --git a/routers/repo/commit.go b/routers/repo/commit.go index 9706779ee5..7f41158633 100644 --- a/routers/repo/commit.go +++ b/routers/repo/commit.go @@ -17,10 +17,11 @@ import ( ) const ( - COMMITS base.TplName = "repo/commits" - DIFF base.TplName = "repo/diff/page" + tplCommits base.TplName = "repo/commits" + tplDiff base.TplName = "repo/diff/page" ) +// RefCommits render commits page func RefCommits(ctx *context.Context) { switch { case len(ctx.Repo.TreePath) == 0: @@ -32,7 +33,7 @@ func RefCommits(ctx *context.Context) { } } -func RenderIssueLinks(oldCommits *list.List, repoLink string) *list.List { +func renderIssueLinks(oldCommits *list.List, repoLink string) *list.List { newCommits := list.New() for e := oldCommits.Front(); e != nil; e = e.Next() { c := e.Value.(*git.Commit) @@ -41,6 +42,7 @@ func RenderIssueLinks(oldCommits *list.List, repoLink string) *list.List { return newCommits } +// Commits render branch's commits func Commits(ctx *context.Context) { ctx.Data["PageIsCommits"] = true @@ -62,7 +64,7 @@ func Commits(ctx *context.Context) { ctx.Handle(500, "CommitsByRange", err) return } - commits = RenderIssueLinks(commits, ctx.Repo.RepoLink) + commits = renderIssueLinks(commits, ctx.Repo.RepoLink) commits = models.ValidateCommitsWithEmails(commits) ctx.Data["Commits"] = commits @@ -70,9 +72,10 @@ func Commits(ctx *context.Context) { ctx.Data["Reponame"] = ctx.Repo.Repository.Name ctx.Data["CommitCount"] = commitsCount ctx.Data["Branch"] = ctx.Repo.BranchName - ctx.HTML(200, COMMITS) + ctx.HTML(200, tplCommits) } +// SearchCommits render commits filtered by keyword func SearchCommits(ctx *context.Context) { ctx.Data["PageIsCommits"] = true @@ -87,7 +90,7 @@ func SearchCommits(ctx *context.Context) { ctx.Handle(500, "SearchCommits", err) return } - commits = RenderIssueLinks(commits, ctx.Repo.RepoLink) + commits = renderIssueLinks(commits, ctx.Repo.RepoLink) commits = models.ValidateCommitsWithEmails(commits) ctx.Data["Commits"] = commits @@ -96,9 +99,10 @@ func SearchCommits(ctx *context.Context) { ctx.Data["Reponame"] = ctx.Repo.Repository.Name ctx.Data["CommitCount"] = commits.Len() ctx.Data["Branch"] = ctx.Repo.BranchName - ctx.HTML(200, COMMITS) + ctx.HTML(200, tplCommits) } +// FileHistory show a file's reversions func FileHistory(ctx *context.Context) { ctx.Data["IsRepoToolbarCommits"] = true @@ -129,7 +133,7 @@ func FileHistory(ctx *context.Context) { ctx.Handle(500, "CommitsByFileAndRange", err) return } - commits = RenderIssueLinks(commits, ctx.Repo.RepoLink) + commits = renderIssueLinks(commits, ctx.Repo.RepoLink) commits = models.ValidateCommitsWithEmails(commits) ctx.Data["Commits"] = commits @@ -138,9 +142,10 @@ func FileHistory(ctx *context.Context) { ctx.Data["FileName"] = fileName ctx.Data["CommitCount"] = commitsCount ctx.Data["Branch"] = branchName - ctx.HTML(200, COMMITS) + ctx.HTML(200, tplCommits) } +// Diff show different from current commit to previous commit func Diff(ctx *context.Context) { ctx.Data["PageIsDiff"] = true ctx.Data["RequireHighlightJS"] = true @@ -194,9 +199,10 @@ func Diff(ctx *context.Context) { ctx.Data["BeforeSourcePath"] = setting.AppSubUrl + "/" + path.Join(userName, repoName, "src", parents[0]) } ctx.Data["RawPath"] = setting.AppSubUrl + "/" + path.Join(userName, repoName, "raw", commitID) - ctx.HTML(200, DIFF) + ctx.HTML(200, tplDiff) } +// RawDiff dumps diff results of repository in given commit ID to io.Writer func RawDiff(ctx *context.Context) { if err := models.GetRawDiff( models.RepoPath(ctx.Repo.Owner.Name, ctx.Repo.Repository.Name), @@ -209,6 +215,7 @@ func RawDiff(ctx *context.Context) { } } +// CompareDiff show different from one commit to another commit func CompareDiff(ctx *context.Context) { ctx.Data["IsRepoToolbarCommits"] = true ctx.Data["IsDiffCompare"] = true @@ -253,5 +260,5 @@ func CompareDiff(ctx *context.Context) { ctx.Data["SourcePath"] = setting.AppSubUrl + "/" + path.Join(userName, repoName, "src", afterCommitID) ctx.Data["BeforeSourcePath"] = setting.AppSubUrl + "/" + path.Join(userName, repoName, "src", beforeCommitID) ctx.Data["RawPath"] = setting.AppSubUrl + "/" + path.Join(userName, repoName, "raw", afterCommitID) - ctx.HTML(200, DIFF) + ctx.HTML(200, tplDiff) } diff --git a/routers/repo/download.go b/routers/repo/download.go index 654cc01399..3adab315d4 100644 --- a/routers/repo/download.go +++ b/routers/repo/download.go @@ -14,6 +14,7 @@ import ( "code.gitea.io/gitea/modules/context" ) +// ServeData download file from io.Reader func ServeData(ctx *context.Context, name string, reader io.Reader) error { buf := make([]byte, 1024) n, _ := reader.Read(buf) @@ -34,6 +35,7 @@ func ServeData(ctx *context.Context, name string, reader io.Reader) error { return err } +// ServeBlob download a git.Blob func ServeBlob(ctx *context.Context, blob *git.Blob) error { dataRc, err := blob.Data() if err != nil { @@ -43,6 +45,7 @@ func ServeBlob(ctx *context.Context, blob *git.Blob) error { return ServeData(ctx, ctx.Repo.TreePath, dataRc) } +// SingleDownload download a file by repos path func SingleDownload(ctx *context.Context) { blob, err := ctx.Repo.Commit.GetBlobByPath(ctx.Repo.TreePath) if err != nil { diff --git a/routers/repo/editor.go b/routers/repo/editor.go index fca5430173..d0d528e250 100644 --- a/routers/repo/editor.go +++ b/routers/repo/editor.go @@ -22,10 +22,10 @@ import ( ) const ( - EDIT_FILE base.TplName = "repo/editor/edit" - EDIT_DIFF_PREVIEW base.TplName = "repo/editor/diff_preview" - DELETE_FILE base.TplName = "repo/editor/delete" - UPLOAD_FILE base.TplName = "repo/editor/upload" + tplEditFile base.TplName = "repo/editor/edit" + tplEditDiffPreview base.TplName = "repo/editor/diff_preview" + tplDeleteFile base.TplName = "repo/editor/delete" + tplUploadFile base.TplName = "repo/editor/upload" ) func editFile(ctx *context.Context, isNewFile bool) { @@ -98,13 +98,15 @@ func editFile(ctx *context.Context, isNewFile bool) { ctx.Data["PreviewableFileModes"] = strings.Join(setting.Repository.Editor.PreviewableFileModes, ",") ctx.Data["EditorconfigURLPrefix"] = fmt.Sprintf("%s/api/v1/repos/%s/editorconfig/", setting.AppSubUrl, ctx.Repo.Repository.FullName()) - ctx.HTML(200, EDIT_FILE) + ctx.HTML(200, tplEditFile) } +// EditFile render edit file page func EditFile(ctx *context.Context) { editFile(ctx, false) } +// NewFile render create file page func NewFile(ctx *context.Context) { editFile(ctx, true) } @@ -146,20 +148,20 @@ func editFilePost(ctx *context.Context, form auth.EditRepoFileForm, isNewFile bo ctx.Data["PreviewableFileModes"] = strings.Join(setting.Repository.Editor.PreviewableFileModes, ",") if ctx.HasError() { - ctx.HTML(200, EDIT_FILE) + ctx.HTML(200, tplEditFile) return } if len(form.TreePath) == 0 { ctx.Data["Err_TreePath"] = true - ctx.RenderWithErr(ctx.Tr("repo.editor.filename_cannot_be_empty"), EDIT_FILE, &form) + ctx.RenderWithErr(ctx.Tr("repo.editor.filename_cannot_be_empty"), tplEditFile, &form) return } if oldBranchName != branchName { if _, err := ctx.Repo.Repository.GetBranch(branchName); err == nil { ctx.Data["Err_NewBranchName"] = true - ctx.RenderWithErr(ctx.Tr("repo.editor.branch_already_exists", branchName), EDIT_FILE, &form) + ctx.RenderWithErr(ctx.Tr("repo.editor.branch_already_exists", branchName), tplEditFile, &form) return } } @@ -180,13 +182,13 @@ func editFilePost(ctx *context.Context, form auth.EditRepoFileForm, isNewFile bo if index != len(treeNames)-1 { if !entry.IsDir() { ctx.Data["Err_TreePath"] = true - ctx.RenderWithErr(ctx.Tr("repo.editor.directory_is_a_file", part), EDIT_FILE, &form) + ctx.RenderWithErr(ctx.Tr("repo.editor.directory_is_a_file", part), tplEditFile, &form) return } } else { if entry.IsDir() { ctx.Data["Err_TreePath"] = true - ctx.RenderWithErr(ctx.Tr("repo.editor.filename_is_a_directory", part), EDIT_FILE, &form) + ctx.RenderWithErr(ctx.Tr("repo.editor.filename_is_a_directory", part), tplEditFile, &form) return } } @@ -197,7 +199,7 @@ func editFilePost(ctx *context.Context, form auth.EditRepoFileForm, isNewFile bo if err != nil { if git.IsErrNotExist(err) { ctx.Data["Err_TreePath"] = true - ctx.RenderWithErr(ctx.Tr("repo.editor.file_editing_no_longer_exists", oldTreePath), EDIT_FILE, &form) + ctx.RenderWithErr(ctx.Tr("repo.editor.file_editing_no_longer_exists", oldTreePath), tplEditFile, &form) } else { ctx.Handle(500, "GetTreeEntryByPath", err) } @@ -212,7 +214,7 @@ func editFilePost(ctx *context.Context, form auth.EditRepoFileForm, isNewFile bo for _, file := range files { if file == form.TreePath { - ctx.RenderWithErr(ctx.Tr("repo.editor.file_changed_while_editing", ctx.Repo.RepoLink+"/compare/"+lastCommit+"..."+ctx.Repo.CommitID), EDIT_FILE, &form) + ctx.RenderWithErr(ctx.Tr("repo.editor.file_changed_while_editing", ctx.Repo.RepoLink+"/compare/"+lastCommit+"..."+ctx.Repo.CommitID), tplEditFile, &form) return } } @@ -230,7 +232,7 @@ func editFilePost(ctx *context.Context, form auth.EditRepoFileForm, isNewFile bo } if entry != nil { ctx.Data["Err_TreePath"] = true - ctx.RenderWithErr(ctx.Tr("repo.editor.file_already_exists", form.TreePath), EDIT_FILE, &form) + ctx.RenderWithErr(ctx.Tr("repo.editor.file_already_exists", form.TreePath), tplEditFile, &form) return } } @@ -260,21 +262,24 @@ func editFilePost(ctx *context.Context, form auth.EditRepoFileForm, isNewFile bo IsNewFile: isNewFile, }); err != nil { ctx.Data["Err_TreePath"] = true - ctx.RenderWithErr(ctx.Tr("repo.editor.fail_to_update_file", form.TreePath, err), EDIT_FILE, &form) + ctx.RenderWithErr(ctx.Tr("repo.editor.fail_to_update_file", form.TreePath, err), tplEditFile, &form) return } ctx.Redirect(ctx.Repo.RepoLink + "/src/" + branchName + "/" + strings.NewReplacer("%", "%25", "#", "%23", " ", "%20", "?", "%3F").Replace(form.TreePath)) } +// EditFilePost response for editing file func EditFilePost(ctx *context.Context, form auth.EditRepoFileForm) { editFilePost(ctx, form, false) } +// NewFilePost response for creating file func NewFilePost(ctx *context.Context, form auth.EditRepoFileForm) { editFilePost(ctx, form, true) } +// DiffPreviewPost render preview diff page func DiffPreviewPost(ctx *context.Context, form auth.EditPreviewDiffForm) { treePath := ctx.Repo.TreePath @@ -299,9 +304,10 @@ func DiffPreviewPost(ctx *context.Context, form auth.EditPreviewDiffForm) { } ctx.Data["File"] = diff.Files[0] - ctx.HTML(200, EDIT_DIFF_PREVIEW) + ctx.HTML(200, tplEditDiffPreview) } +// DeleteFile render delete file page func DeleteFile(ctx *context.Context) { ctx.Data["PageIsDelete"] = true ctx.Data["BranchLink"] = ctx.Repo.RepoLink + "/src/" + ctx.Repo.BranchName @@ -310,9 +316,10 @@ func DeleteFile(ctx *context.Context) { ctx.Data["commit_message"] = "" ctx.Data["commit_choice"] = "direct" ctx.Data["new_branch_name"] = "" - ctx.HTML(200, DELETE_FILE) + ctx.HTML(200, tplDeleteFile) } +// DeleteFilePost response for deleting file func DeleteFilePost(ctx *context.Context, form auth.DeleteRepoFileForm) { ctx.Data["PageIsDelete"] = true ctx.Data["BranchLink"] = ctx.Repo.RepoLink + "/src/" + ctx.Repo.BranchName @@ -330,14 +337,14 @@ func DeleteFilePost(ctx *context.Context, form auth.DeleteRepoFileForm) { ctx.Data["new_branch_name"] = branchName if ctx.HasError() { - ctx.HTML(200, DELETE_FILE) + ctx.HTML(200, tplDeleteFile) return } if oldBranchName != branchName { if _, err := ctx.Repo.Repository.GetBranch(branchName); err == nil { ctx.Data["Err_NewBranchName"] = true - ctx.RenderWithErr(ctx.Tr("repo.editor.branch_already_exists", branchName), DELETE_FILE, &form) + ctx.RenderWithErr(ctx.Tr("repo.editor.branch_already_exists", branchName), tplDeleteFile, &form) return } } @@ -374,6 +381,7 @@ func renderUploadSettings(ctx *context.Context) { ctx.Data["UploadMaxFiles"] = setting.Repository.Upload.MaxFiles } +// UploadFile render upload file page func UploadFile(ctx *context.Context) { ctx.Data["PageIsUpload"] = true renderUploadSettings(ctx) @@ -391,9 +399,10 @@ func UploadFile(ctx *context.Context) { ctx.Data["commit_choice"] = "direct" ctx.Data["new_branch_name"] = "" - ctx.HTML(200, UPLOAD_FILE) + ctx.HTML(200, tplUploadFile) } +// UploadFilePost response for uploading file func UploadFilePost(ctx *context.Context, form auth.UploadRepoFileForm) { ctx.Data["PageIsUpload"] = true renderUploadSettings(ctx) @@ -422,14 +431,14 @@ func UploadFilePost(ctx *context.Context, form auth.UploadRepoFileForm) { ctx.Data["new_branch_name"] = branchName if ctx.HasError() { - ctx.HTML(200, UPLOAD_FILE) + ctx.HTML(200, tplUploadFile) return } if oldBranchName != branchName { if _, err := ctx.Repo.Repository.GetBranch(branchName); err == nil { ctx.Data["Err_NewBranchName"] = true - ctx.RenderWithErr(ctx.Tr("repo.editor.branch_already_exists", branchName), UPLOAD_FILE, &form) + ctx.RenderWithErr(ctx.Tr("repo.editor.branch_already_exists", branchName), tplUploadFile, &form) return } } @@ -451,7 +460,7 @@ func UploadFilePost(ctx *context.Context, form auth.UploadRepoFileForm) { // User can only upload files to a directory. if !entry.IsDir() { ctx.Data["Err_TreePath"] = true - ctx.RenderWithErr(ctx.Tr("repo.editor.directory_is_a_file", part), UPLOAD_FILE, &form) + ctx.RenderWithErr(ctx.Tr("repo.editor.directory_is_a_file", part), tplUploadFile, &form) return } } @@ -475,13 +484,14 @@ func UploadFilePost(ctx *context.Context, form auth.UploadRepoFileForm) { Files: form.Files, }); err != nil { ctx.Data["Err_TreePath"] = true - ctx.RenderWithErr(ctx.Tr("repo.editor.unable_to_upload_files", form.TreePath, err), UPLOAD_FILE, &form) + ctx.RenderWithErr(ctx.Tr("repo.editor.unable_to_upload_files", form.TreePath, err), tplUploadFile, &form) return } ctx.Redirect(ctx.Repo.RepoLink + "/src/" + branchName + "/" + form.TreePath) } +// UploadFileToServer upload file to server file dir not git func UploadFileToServer(ctx *context.Context) { file, header, err := ctx.Req.FormFile("file") if err != nil { @@ -525,6 +535,7 @@ func UploadFileToServer(ctx *context.Context) { }) } +// RemoveUploadFileFromServer remove file from server file dir func RemoveUploadFileFromServer(ctx *context.Context, form auth.RemoveUploadFileForm) { if len(form.File) == 0 { ctx.Status(204) diff --git a/routers/repo/http.go b/routers/repo/http.go index a51fa9f176..91438812a6 100644 --- a/routers/repo/http.go +++ b/routers/repo/http.go @@ -29,6 +29,7 @@ import ( "code.gitea.io/gitea/modules/setting" ) +// HTTP implmentation git smart HTTP protocol func HTTP(ctx *context.Context) { username := ctx.Params(":username") reponame := strings.TrimSuffix(ctx.Params(":reponame"), ".git") @@ -170,7 +171,7 @@ func HTTP(ctx *context.Context) { return } - var lastLine int64 = 0 + var lastLine int64 for { head := input[lastLine : lastLine+2] if head[0] == '0' && head[1] == '0' { @@ -193,15 +194,15 @@ func HTTP(ctx *context.Context) { fields := strings.Fields(string(line)) if len(fields) >= 3 { - oldCommitId := fields[0][4:] - newCommitId := fields[1] + oldCommitID := fields[0][4:] + newCommitID := fields[1] refFullName := fields[2] // FIXME: handle error. if err = models.PushUpdate(models.PushUpdateOptions{ RefFullName: refFullName, - OldCommitID: oldCommitId, - NewCommitID: newCommitId, + OldCommitID: oldCommitID, + NewCommitID: newCommitID, PusherID: authUser.ID, PusherName: authUser.Name, RepoUserName: username, @@ -474,6 +475,7 @@ func getGitRepoPath(subdir string) (string, error) { return fpath, nil } +// HTTPBackend middleware for git smart HTTP protocol func HTTPBackend(ctx *context.Context, cfg *serviceConfig) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { for _, route := range routes { diff --git a/routers/repo/issue.go b/routers/repo/issue.go index 3b5abf8962..62bfd3a569 100644 --- a/routers/repo/issue.go +++ b/routers/repo/issue.go @@ -27,23 +27,25 @@ import ( ) const ( - ISSUES base.TplName = "repo/issue/list" - ISSUE_NEW base.TplName = "repo/issue/new" - ISSUE_VIEW base.TplName = "repo/issue/view" + tplIssues base.TplName = "repo/issue/list" + tplIssueNew base.TplName = "repo/issue/new" + tplIssueView base.TplName = "repo/issue/view" - LABELS base.TplName = "repo/issue/labels" + tplLabels base.TplName = "repo/issue/labels" - MILESTONE base.TplName = "repo/issue/milestones" - MILESTONE_NEW base.TplName = "repo/issue/milestone_new" - MILESTONE_EDIT base.TplName = "repo/issue/milestone_edit" + tplMilestone base.TplName = "repo/issue/milestones" + tplMilestoneNew base.TplName = "repo/issue/milestone_new" + tplMilestoneEdit base.TplName = "repo/issue/milestone_edit" - ISSUE_TEMPLATE_KEY = "IssueTemplate" + issueTemplateKey = "IssueTemplate" ) var ( + // ErrFileTypeForbidden not allowed file type error ErrFileTypeForbidden = errors.New("File type is not allowed") - ErrTooManyFiles = errors.New("Maximum number of files to upload exceeded") - + // ErrTooManyFiles upload too many files + ErrTooManyFiles = errors.New("Maximum number of files to upload exceeded") + // IssueTemplateCandidates issue templates IssueTemplateCandidates = []string{ "ISSUE_TEMPLATE.md", ".gogs/ISSUE_TEMPLATE.md", @@ -51,6 +53,7 @@ var ( } ) +// MustEnableIssues check if repository enable internal issues func MustEnableIssues(ctx *context.Context) { if !ctx.Repo.Repository.EnableIssues { ctx.Handle(404, "MustEnableIssues", nil) @@ -63,6 +66,7 @@ func MustEnableIssues(ctx *context.Context) { } } +// MustAllowPulls check if repository enable pull requests func MustAllowPulls(ctx *context.Context) { if !ctx.Repo.Repository.AllowsPulls() { ctx.Handle(404, "MustAllowPulls", nil) @@ -76,6 +80,7 @@ func MustAllowPulls(ctx *context.Context) { } } +// RetrieveLabels find all the labels of a repository func RetrieveLabels(ctx *context.Context) { labels, err := models.GetLabelsByRepoID(ctx.Repo.Repository.ID) if err != nil { @@ -89,6 +94,7 @@ func RetrieveLabels(ctx *context.Context) { ctx.Data["NumLabels"] = len(labels) } +// Issues render issues page func Issues(ctx *context.Context) { isPullList := ctx.Params(":type") == "pulls" if isPullList { @@ -244,7 +250,7 @@ func Issues(ctx *context.Context) { ctx.Data["State"] = "open" } - ctx.HTML(200, ISSUES) + ctx.HTML(200, tplIssues) } func renderAttachmentSettings(ctx *context.Context) { @@ -255,6 +261,7 @@ func renderAttachmentSettings(ctx *context.Context) { ctx.Data["AttachmentMaxFiles"] = setting.AttachmentMaxFiles } +// RetrieveRepoMilestonesAndAssignees find all the milestones and assignees of a repository func RetrieveRepoMilestonesAndAssignees(ctx *context.Context, repo *models.Repository) { var err error ctx.Data["OpenMilestones"], err = models.GetMilestones(repo.ID, -1, false) @@ -275,6 +282,7 @@ func RetrieveRepoMilestonesAndAssignees(ctx *context.Context, repo *models.Repos } } +// RetrieveRepoMetas find all the meta information of a repository func RetrieveRepoMetas(ctx *context.Context, repo *models.Repository) []*models.Label { if !ctx.Repo.IsWriter() { return nil @@ -332,12 +340,13 @@ func setTemplateIfExists(ctx *context.Context, ctxDataKey string, possibleFiles } } +// NewIssue render createing issue page func NewIssue(ctx *context.Context) { ctx.Data["Title"] = ctx.Tr("repo.issues.new") ctx.Data["PageIsIssueList"] = true ctx.Data["RequireHighlightJS"] = true ctx.Data["RequireSimpleMDE"] = true - setTemplateIfExists(ctx, ISSUE_TEMPLATE_KEY, IssueTemplateCandidates) + setTemplateIfExists(ctx, issueTemplateKey, IssueTemplateCandidates) renderAttachmentSettings(ctx) RetrieveRepoMetas(ctx, ctx.Repo.Repository) @@ -345,9 +354,10 @@ func NewIssue(ctx *context.Context) { return } - ctx.HTML(200, ISSUE_NEW) + ctx.HTML(200, tplIssueNew) } +// ValidateRepoMetas check and returns repository's meta informations func ValidateRepoMetas(ctx *context.Context, form auth.CreateIssueForm) ([]int64, int64, int64) { var ( repo = ctx.Repo.Repository @@ -402,6 +412,7 @@ func ValidateRepoMetas(ctx *context.Context, form auth.CreateIssueForm) ([]int64 return labelIDs, milestoneID, assigneeID } +// NewIssuePost response for creating new issue func NewIssuePost(ctx *context.Context, form auth.CreateIssueForm) { ctx.Data["Title"] = ctx.Tr("repo.issues.new") ctx.Data["PageIsIssueList"] = true @@ -424,7 +435,7 @@ func NewIssuePost(ctx *context.Context, form auth.CreateIssueForm) { } if ctx.HasError() { - ctx.HTML(200, ISSUE_NEW) + ctx.HTML(200, tplIssueNew) return } @@ -446,6 +457,7 @@ func NewIssuePost(ctx *context.Context, form auth.CreateIssueForm) { ctx.Redirect(ctx.Repo.RepoLink + "/issues/" + com.ToStr(issue.Index)) } +// UploadIssueAttachment response for uploading issue's attachment func UploadIssueAttachment(ctx *context.Context) { if !setting.AttachmentEnabled { ctx.Error(404, "attachment is not enabled") @@ -493,6 +505,7 @@ func UploadIssueAttachment(ctx *context.Context) { }) } +// ViewIssue render issue view page func ViewIssue(ctx *context.Context) { ctx.Data["RequireHighlightJS"] = true ctx.Data["RequireDropzone"] = true @@ -639,7 +652,7 @@ func ViewIssue(ctx *context.Context) { ctx.Data["Issue"] = issue ctx.Data["IsIssueOwner"] = ctx.Repo.IsWriter() || (ctx.IsSigned && issue.IsPoster(ctx.User.ID)) ctx.Data["SignInLink"] = setting.AppSubUrl + "/user/login?redirect_to=" + ctx.Data["Link"].(string) - ctx.HTML(200, ISSUE_VIEW) + ctx.HTML(200, tplIssueView) } func getActionIssue(ctx *context.Context) *models.Issue { @@ -655,6 +668,7 @@ func getActionIssue(ctx *context.Context) *models.Issue { return issue } +// UpdateIssueTitle change issue's title func UpdateIssueTitle(ctx *context.Context) { issue := getActionIssue(ctx) if ctx.Written() { @@ -682,6 +696,7 @@ func UpdateIssueTitle(ctx *context.Context) { }) } +// UpdateIssueContent change issue's content func UpdateIssueContent(ctx *context.Context) { issue := getActionIssue(ctx) if ctx.Written() { @@ -704,6 +719,7 @@ func UpdateIssueContent(ctx *context.Context) { }) } +// UpdateIssueLabel change issue's labels func UpdateIssueLabel(ctx *context.Context) { issue := getActionIssue(ctx) if ctx.Written() { @@ -745,6 +761,7 @@ func UpdateIssueLabel(ctx *context.Context) { }) } +// UpdateIssueMilestone change issue's milestone func UpdateIssueMilestone(ctx *context.Context) { issue := getActionIssue(ctx) if ctx.Written() { @@ -772,6 +789,7 @@ func UpdateIssueMilestone(ctx *context.Context) { }) } +// UpdateIssueAssignee change issue's assignee func UpdateIssueAssignee(ctx *context.Context) { issue := getActionIssue(ctx) if ctx.Written() { @@ -796,6 +814,7 @@ func UpdateIssueAssignee(ctx *context.Context) { }) } +// NewComment create a comment for issue func NewComment(ctx *context.Context, form auth.CreateCommentForm) { issue, err := models.GetIssueByIndex(ctx.Repo.Repository.ID, ctx.ParamsInt64(":index")) if err != nil { @@ -882,6 +901,7 @@ func NewComment(ctx *context.Context, form auth.CreateCommentForm) { log.Trace("Comment created: %d/%d/%d", ctx.Repo.Repository.ID, issue.ID, comment.ID) } +// UpdateCommentContent change comment of issue's content func UpdateCommentContent(ctx *context.Context) { comment, err := models.GetCommentByID(ctx.ParamsInt64(":id")) if err != nil { @@ -914,6 +934,7 @@ func UpdateCommentContent(ctx *context.Context) { }) } +// DeleteComment delete comment of issue func DeleteComment(ctx *context.Context) { comment, err := models.GetCommentByID(ctx.ParamsInt64(":id")) if err != nil { @@ -937,15 +958,17 @@ func DeleteComment(ctx *context.Context) { ctx.Status(200) } +// Labels render issue's labels page func Labels(ctx *context.Context) { ctx.Data["Title"] = ctx.Tr("repo.labels") ctx.Data["PageIsIssueList"] = true ctx.Data["PageIsLabels"] = true ctx.Data["RequireMinicolors"] = true ctx.Data["LabelTemplates"] = models.LabelTemplates - ctx.HTML(200, LABELS) + ctx.HTML(200, tplLabels) } +// InitializeLabels init labels for a repository func InitializeLabels(ctx *context.Context, form auth.InitializeLabelsForm) { if ctx.HasError() { ctx.Redirect(ctx.Repo.RepoLink + "/labels") @@ -973,6 +996,7 @@ func InitializeLabels(ctx *context.Context, form auth.InitializeLabelsForm) { ctx.Redirect(ctx.Repo.RepoLink + "/labels") } +// NewLabel create new label for repository func NewLabel(ctx *context.Context, form auth.CreateLabelForm) { ctx.Data["Title"] = ctx.Tr("repo.labels") ctx.Data["PageIsLabels"] = true @@ -995,6 +1019,7 @@ func NewLabel(ctx *context.Context, form auth.CreateLabelForm) { ctx.Redirect(ctx.Repo.RepoLink + "/labels") } +// UpdateLabel update a label's name and color func UpdateLabel(ctx *context.Context, form auth.CreateLabelForm) { l, err := models.GetLabelByID(form.ID) if err != nil { @@ -1016,6 +1041,7 @@ func UpdateLabel(ctx *context.Context, form auth.CreateLabelForm) { ctx.Redirect(ctx.Repo.RepoLink + "/labels") } +// DeleteLabel delete a label func DeleteLabel(ctx *context.Context) { if err := models.DeleteLabel(ctx.Repo.Repository.ID, ctx.QueryInt64("id")); err != nil { ctx.Flash.Error("DeleteLabel: " + err.Error()) @@ -1029,6 +1055,7 @@ func DeleteLabel(ctx *context.Context) { return } +// Milestones render milestones page func Milestones(ctx *context.Context) { ctx.Data["Title"] = ctx.Tr("repo.milestones") ctx.Data["PageIsIssueList"] = true @@ -1069,18 +1096,20 @@ func Milestones(ctx *context.Context) { } ctx.Data["IsShowClosed"] = isShowClosed - ctx.HTML(200, MILESTONE) + ctx.HTML(200, tplMilestone) } +// NewMilestone render creating milestone page func NewMilestone(ctx *context.Context) { ctx.Data["Title"] = ctx.Tr("repo.milestones.new") ctx.Data["PageIsIssueList"] = true ctx.Data["PageIsMilestones"] = true ctx.Data["RequireDatetimepicker"] = true ctx.Data["DateLang"] = setting.DateLang(ctx.Locale.Language()) - ctx.HTML(200, MILESTONE_NEW) + ctx.HTML(200, tplMilestoneNew) } +// NewMilestonePost response for creating milestone func NewMilestonePost(ctx *context.Context, form auth.CreateMilestoneForm) { ctx.Data["Title"] = ctx.Tr("repo.milestones.new") ctx.Data["PageIsIssueList"] = true @@ -1089,7 +1118,7 @@ func NewMilestonePost(ctx *context.Context, form auth.CreateMilestoneForm) { ctx.Data["DateLang"] = setting.DateLang(ctx.Locale.Language()) if ctx.HasError() { - ctx.HTML(200, MILESTONE_NEW) + ctx.HTML(200, tplMilestoneNew) return } @@ -1099,7 +1128,7 @@ func NewMilestonePost(ctx *context.Context, form auth.CreateMilestoneForm) { deadline, err := time.ParseInLocation("2006-01-02", form.Deadline, time.Local) if err != nil { ctx.Data["Err_Deadline"] = true - ctx.RenderWithErr(ctx.Tr("repo.milestones.invalid_due_date_format"), MILESTONE_NEW, &form) + ctx.RenderWithErr(ctx.Tr("repo.milestones.invalid_due_date_format"), tplMilestoneNew, &form) return } @@ -1117,6 +1146,7 @@ func NewMilestonePost(ctx *context.Context, form auth.CreateMilestoneForm) { ctx.Redirect(ctx.Repo.RepoLink + "/milestones") } +// EditMilestone render edting milestone page func EditMilestone(ctx *context.Context) { ctx.Data["Title"] = ctx.Tr("repo.milestones.edit") ctx.Data["PageIsMilestones"] = true @@ -1138,9 +1168,10 @@ func EditMilestone(ctx *context.Context) { if len(m.DeadlineString) > 0 { ctx.Data["deadline"] = m.DeadlineString } - ctx.HTML(200, MILESTONE_NEW) + ctx.HTML(200, tplMilestoneNew) } +// EditMilestonePost response for edting milestone func EditMilestonePost(ctx *context.Context, form auth.CreateMilestoneForm) { ctx.Data["Title"] = ctx.Tr("repo.milestones.edit") ctx.Data["PageIsMilestones"] = true @@ -1149,7 +1180,7 @@ func EditMilestonePost(ctx *context.Context, form auth.CreateMilestoneForm) { ctx.Data["DateLang"] = setting.DateLang(ctx.Locale.Language()) if ctx.HasError() { - ctx.HTML(200, MILESTONE_NEW) + ctx.HTML(200, tplMilestoneNew) return } @@ -1159,7 +1190,7 @@ func EditMilestonePost(ctx *context.Context, form auth.CreateMilestoneForm) { deadline, err := time.ParseInLocation("2006-01-02", form.Deadline, time.Local) if err != nil { ctx.Data["Err_Deadline"] = true - ctx.RenderWithErr(ctx.Tr("repo.milestones.invalid_due_date_format"), MILESTONE_NEW, &form) + ctx.RenderWithErr(ctx.Tr("repo.milestones.invalid_due_date_format"), tplMilestoneNew, &form) return } @@ -1184,6 +1215,7 @@ func EditMilestonePost(ctx *context.Context, form auth.CreateMilestoneForm) { ctx.Redirect(ctx.Repo.RepoLink + "/milestones") } +// ChangeMilestonStatus response for change a milestone's status func ChangeMilestonStatus(ctx *context.Context) { m, err := models.GetMilestoneByRepoID(ctx.Repo.Repository.ID, ctx.ParamsInt64(":id")) if err != nil { @@ -1218,6 +1250,7 @@ func ChangeMilestonStatus(ctx *context.Context) { } } +// DeleteMilestone delete a milestone func DeleteMilestone(ctx *context.Context) { if err := models.DeleteMilestoneByRepoID(ctx.Repo.Repository.ID, ctx.QueryInt64("id")); err != nil { ctx.Flash.Error("DeleteMilestoneByRepoID: " + err.Error()) diff --git a/routers/repo/pull.go b/routers/repo/pull.go index 6e99dfaed0..c8969b98f2 100644 --- a/routers/repo/pull.go +++ b/routers/repo/pull.go @@ -21,16 +21,16 @@ import ( ) const ( - FORK base.TplName = "repo/pulls/fork" - COMPARE_PULL base.TplName = "repo/pulls/compare" - PULL_COMMITS base.TplName = "repo/pulls/commits" - PULL_FILES base.TplName = "repo/pulls/files" + tplFork base.TplName = "repo/pulls/fork" + tplComparePull base.TplName = "repo/pulls/compare" + tplPullCommits base.TplName = "repo/pulls/commits" + tplPullFiles base.TplName = "repo/pulls/files" - PULL_REQUEST_TEMPLATE_KEY = "PullRequestTemplate" + pullRequestTemplateKey = "PullRequestTemplate" ) var ( - PullRequestTemplateCandidates = []string{ + pullRequestTemplateCandidates = []string{ "PULL_REQUEST.md", ".gogs/PULL_REQUEST.md", ".github/PULL_REQUEST.md", @@ -72,6 +72,7 @@ func getForkRepository(ctx *context.Context) *models.Repository { return forkRepo } +// Fork render repository fork page func Fork(ctx *context.Context) { ctx.Data["Title"] = ctx.Tr("new_fork") @@ -81,9 +82,10 @@ func Fork(ctx *context.Context) { } ctx.Data["ContextUser"] = ctx.User - ctx.HTML(200, FORK) + ctx.HTML(200, tplFork) } +// ForkPost response for forking a repository func ForkPost(ctx *context.Context, form auth.CreateRepoForm) { ctx.Data["Title"] = ctx.Tr("new_fork") @@ -99,7 +101,7 @@ func ForkPost(ctx *context.Context, form auth.CreateRepoForm) { ctx.Data["ContextUser"] = ctxUser if ctx.HasError() { - ctx.HTML(200, FORK) + ctx.HTML(200, tplFork) return } @@ -122,11 +124,11 @@ func ForkPost(ctx *context.Context, form auth.CreateRepoForm) { ctx.Data["Err_RepoName"] = true switch { case models.IsErrRepoAlreadyExist(err): - ctx.RenderWithErr(ctx.Tr("repo.settings.new_owner_has_same_repo"), FORK, &form) + ctx.RenderWithErr(ctx.Tr("repo.settings.new_owner_has_same_repo"), tplFork, &form) case models.IsErrNameReserved(err): - ctx.RenderWithErr(ctx.Tr("repo.form.name_reserved", err.(models.ErrNameReserved).Name), FORK, &form) + ctx.RenderWithErr(ctx.Tr("repo.form.name_reserved", err.(models.ErrNameReserved).Name), tplFork, &form) case models.IsErrNamePatternNotAllowed(err): - ctx.RenderWithErr(ctx.Tr("repo.form.name_pattern_not_allowed", err.(models.ErrNamePatternNotAllowed).Pattern), FORK, &form) + ctx.RenderWithErr(ctx.Tr("repo.form.name_pattern_not_allowed", err.(models.ErrNamePatternNotAllowed).Pattern), tplFork, &form) default: ctx.Handle(500, "ForkPost", err) } @@ -171,6 +173,7 @@ func checkPullInfo(ctx *context.Context) *models.Issue { return issue } +// PrepareMergedViewPullInfo show meta information for a merged pull request view page func PrepareMergedViewPullInfo(ctx *context.Context, issue *models.Issue) { pull := issue.PullRequest ctx.Data["HasMerged"] = true @@ -190,6 +193,7 @@ func PrepareMergedViewPullInfo(ctx *context.Context, issue *models.Issue) { } } +// PrepareViewPullInfo show meta information for a pull request preview page func PrepareViewPullInfo(ctx *context.Context, issue *models.Issue) *git.PullRequestInfo { repo := ctx.Repo.Repository pull := issue.PullRequest @@ -242,6 +246,7 @@ func PrepareViewPullInfo(ctx *context.Context, issue *models.Issue) *git.PullReq return prInfo } +// ViewPullCommits show commits for a pull request func ViewPullCommits(ctx *context.Context) { ctx.Data["PageIsPullList"] = true ctx.Data["PageIsPullCommits"] = true @@ -291,9 +296,10 @@ func ViewPullCommits(ctx *context.Context) { ctx.Data["Commits"] = commits ctx.Data["CommitCount"] = commits.Len() - ctx.HTML(200, PULL_COMMITS) + ctx.HTML(200, tplPullCommits) } +// ViewPullFiles render pull request changed files list page func ViewPullFiles(ctx *context.Context) { ctx.Data["PageIsPullList"] = true ctx.Data["PageIsPullFiles"] = true @@ -375,9 +381,10 @@ func ViewPullFiles(ctx *context.Context) { ctx.Data["RawPath"] = setting.AppSubUrl + "/" + path.Join(headTarget, "raw", endCommitID) ctx.Data["RequireHighlightJS"] = true - ctx.HTML(200, PULL_FILES) + ctx.HTML(200, tplPullFiles) } +// MergePullRequest response for merging pull request func MergePullRequest(ctx *context.Context) { issue := checkPullInfo(ctx) if ctx.Written() { @@ -414,6 +421,7 @@ func MergePullRequest(ctx *context.Context) { ctx.Redirect(ctx.Repo.RepoLink + "/pulls/" + com.ToStr(pr.Index)) } +// ParseCompareInfo parse compare info between two commit for preparing pull request func ParseCompareInfo(ctx *context.Context) (*models.User, *models.Repository, *git.Repository, *git.PullRequestInfo, string, string) { baseRepo := ctx.Repo.Repository @@ -520,6 +528,7 @@ func ParseCompareInfo(ctx *context.Context) (*models.User, *models.Repository, * return headUser, headRepo, headGitRepo, prInfo, baseBranch, headBranch } +// PrepareCompareDiff render pull request preview diff page func PrepareCompareDiff( ctx *context.Context, headUser *models.User, @@ -578,12 +587,13 @@ func PrepareCompareDiff( return false } +// CompareAndPullRequest render pull request preview page func CompareAndPullRequest(ctx *context.Context) { ctx.Data["Title"] = ctx.Tr("repo.pulls.compare_changes") ctx.Data["PageIsComparePull"] = true ctx.Data["IsDiffCompare"] = true ctx.Data["RequireHighlightJS"] = true - setTemplateIfExists(ctx, PULL_REQUEST_TEMPLATE_KEY, PullRequestTemplateCandidates) + setTemplateIfExists(ctx, pullRequestTemplateKey, pullRequestTemplateCandidates) renderAttachmentSettings(ctx) headUser, headRepo, headGitRepo, prInfo, baseBranch, headBranch := ParseCompareInfo(ctx) @@ -600,7 +610,7 @@ func CompareAndPullRequest(ctx *context.Context) { } else { ctx.Data["HasPullRequest"] = true ctx.Data["PullRequest"] = pr - ctx.HTML(200, COMPARE_PULL) + ctx.HTML(200, tplComparePull) return } @@ -617,9 +627,10 @@ func CompareAndPullRequest(ctx *context.Context) { } } - ctx.HTML(200, COMPARE_PULL) + ctx.HTML(200, tplComparePull) } +// CompareAndPullRequestPost response for creating pull request func CompareAndPullRequestPost(ctx *context.Context, form auth.CreateIssueForm) { ctx.Data["Title"] = ctx.Tr("repo.pulls.compare_changes") ctx.Data["PageIsComparePull"] = true @@ -656,7 +667,7 @@ func CompareAndPullRequestPost(ctx *context.Context, form auth.CreateIssueForm) return } - ctx.HTML(200, COMPARE_PULL) + ctx.HTML(200, tplComparePull) return } @@ -702,6 +713,7 @@ func CompareAndPullRequestPost(ctx *context.Context, form auth.CreateIssueForm) ctx.Redirect(ctx.Repo.RepoLink + "/pulls/" + com.ToStr(pullIssue.Index)) } +// TriggerTask response for a trigger task request func TriggerTask(ctx *context.Context) { pusherID := ctx.QueryInt64("pusher") branch := ctx.Query("branch") diff --git a/routers/repo/release.go b/routers/repo/release.go index 187952c2e6..7616d9e79e 100644 --- a/routers/repo/release.go +++ b/routers/repo/release.go @@ -17,8 +17,8 @@ import ( ) const ( - RELEASES base.TplName = "repo/release/list" - RELEASE_NEW base.TplName = "repo/release/new" + tplReleases base.TplName = "repo/release/list" + tplReleaseNew base.TplName = "repo/release/new" ) // calReleaseNumCommitsBehind calculates given release has how many commits behind release target. @@ -49,6 +49,7 @@ func calReleaseNumCommitsBehind(repoCtx *context.Repository, release *models.Rel return nil } +// Releases render releases list page func Releases(ctx *context.Context) { ctx.Data["Title"] = ctx.Tr("repo.release.releases") ctx.Data["PageIsReleaseList"] = true @@ -150,27 +151,29 @@ func Releases(ctx *context.Context) { ctx.Data["Page"] = pager models.SortReleases(tags) ctx.Data["Releases"] = tags - ctx.HTML(200, RELEASES) + ctx.HTML(200, tplReleases) } +// NewRelease render creating release page func NewRelease(ctx *context.Context) { ctx.Data["Title"] = ctx.Tr("repo.release.new_release") ctx.Data["PageIsReleaseList"] = true ctx.Data["tag_target"] = ctx.Repo.Repository.DefaultBranch - ctx.HTML(200, RELEASE_NEW) + ctx.HTML(200, tplReleaseNew) } +// NewReleasePost response for creating a release func NewReleasePost(ctx *context.Context, form auth.NewReleaseForm) { ctx.Data["Title"] = ctx.Tr("repo.release.new_release") ctx.Data["PageIsReleaseList"] = true if ctx.HasError() { - ctx.HTML(200, RELEASE_NEW) + ctx.HTML(200, tplReleaseNew) return } if !ctx.Repo.GitRepo.IsBranchExist(form.Target) { - ctx.RenderWithErr(ctx.Tr("form.target_branch_not_exist"), RELEASE_NEW, &form) + ctx.RenderWithErr(ctx.Tr("form.target_branch_not_exist"), tplReleaseNew, &form) return } @@ -213,9 +216,9 @@ func NewReleasePost(ctx *context.Context, form auth.NewReleaseForm) { ctx.Data["Err_TagName"] = true switch { case models.IsErrReleaseAlreadyExist(err): - ctx.RenderWithErr(ctx.Tr("repo.release.tag_name_already_exist"), RELEASE_NEW, &form) + ctx.RenderWithErr(ctx.Tr("repo.release.tag_name_already_exist"), tplReleaseNew, &form) case models.IsErrInvalidTagName(err): - ctx.RenderWithErr(ctx.Tr("repo.release.tag_name_invalid"), RELEASE_NEW, &form) + ctx.RenderWithErr(ctx.Tr("repo.release.tag_name_invalid"), tplReleaseNew, &form) default: ctx.Handle(500, "CreateRelease", err) } @@ -226,6 +229,7 @@ func NewReleasePost(ctx *context.Context, form auth.NewReleaseForm) { ctx.Redirect(ctx.Repo.RepoLink + "/releases") } +// EditRelease render release edit page func EditRelease(ctx *context.Context) { ctx.Data["Title"] = ctx.Tr("repo.release.edit_release") ctx.Data["PageIsReleaseList"] = true @@ -249,9 +253,10 @@ func EditRelease(ctx *context.Context) { ctx.Data["prerelease"] = rel.IsPrerelease ctx.Data["IsDraft"] = rel.IsDraft - ctx.HTML(200, RELEASE_NEW) + ctx.HTML(200, tplReleaseNew) } +// EditReleasePost response for edit release func EditReleasePost(ctx *context.Context, form auth.EditReleaseForm) { ctx.Data["Title"] = ctx.Tr("repo.release.edit_release") ctx.Data["PageIsReleaseList"] = true @@ -274,7 +279,7 @@ func EditReleasePost(ctx *context.Context, form auth.EditReleaseForm) { ctx.Data["prerelease"] = rel.IsPrerelease if ctx.HasError() { - ctx.HTML(200, RELEASE_NEW) + ctx.HTML(200, tplReleaseNew) return } @@ -289,6 +294,7 @@ func EditReleasePost(ctx *context.Context, form auth.EditReleaseForm) { ctx.Redirect(ctx.Repo.RepoLink + "/releases") } +// DeleteRelease delete a release func DeleteRelease(ctx *context.Context) { if err := models.DeleteReleaseByID(ctx.QueryInt64("id")); err != nil { ctx.Flash.Error("DeleteReleaseByID: " + err.Error()) diff --git a/routers/repo/repo.go b/routers/repo/repo.go index c3e9faf499..fdf4cd5594 100644 --- a/routers/repo/repo.go +++ b/routers/repo/repo.go @@ -23,10 +23,11 @@ import ( ) const ( - CREATE base.TplName = "repo/create" - MIGRATE base.TplName = "repo/migrate" + tplCreate base.TplName = "repo/create" + tplMigrate base.TplName = "repo/migrate" ) +// MustBeNotBare render when a repo is a bare git dir func MustBeNotBare(ctx *context.Context) { if ctx.Repo.Repository.IsBare { ctx.Handle(404, "MustBeNotBare", nil) @@ -64,6 +65,7 @@ func checkContextUser(ctx *context.Context, uid int64) *models.User { return org } +// Create render creating repository page func Create(ctx *context.Context) { ctx.Data["Title"] = ctx.Tr("new_repo") @@ -81,7 +83,7 @@ func Create(ctx *context.Context) { } ctx.Data["ContextUser"] = ctxUser - ctx.HTML(200, CREATE) + ctx.HTML(200, tplCreate) } func handleCreateError(ctx *context.Context, owner *models.User, err error, name string, tpl base.TplName, form interface{}) { @@ -102,6 +104,7 @@ func handleCreateError(ctx *context.Context, owner *models.User, err error, name } } +// CreatePost response for creating repository func CreatePost(ctx *context.Context, form auth.CreateRepoForm) { ctx.Data["Title"] = ctx.Tr("new_repo") @@ -116,7 +119,7 @@ func CreatePost(ctx *context.Context, form auth.CreateRepoForm) { ctx.Data["ContextUser"] = ctxUser if ctx.HasError() { - ctx.HTML(200, CREATE) + ctx.HTML(200, tplCreate) return } @@ -141,9 +144,10 @@ func CreatePost(ctx *context.Context, form auth.CreateRepoForm) { } } - handleCreateError(ctx, ctxUser, err, "CreatePost", CREATE, &form) + handleCreateError(ctx, ctxUser, err, "CreatePost", tplCreate, &form) } +// Migrate render migration of repository page func Migrate(ctx *context.Context) { ctx.Data["Title"] = ctx.Tr("new_migrate") ctx.Data["private"] = ctx.User.LastRepoVisibility @@ -156,9 +160,10 @@ func Migrate(ctx *context.Context) { } ctx.Data["ContextUser"] = ctxUser - ctx.HTML(200, MIGRATE) + ctx.HTML(200, tplMigrate) } +// MigratePost response for migrating from external git repository func MigratePost(ctx *context.Context, form auth.MigrateRepoForm) { ctx.Data["Title"] = ctx.Tr("new_migrate") @@ -169,7 +174,7 @@ func MigratePost(ctx *context.Context, form auth.MigrateRepoForm) { ctx.Data["ContextUser"] = ctxUser if ctx.HasError() { - ctx.HTML(200, MIGRATE) + ctx.HTML(200, tplMigrate) return } @@ -180,11 +185,11 @@ func MigratePost(ctx *context.Context, form auth.MigrateRepoForm) { addrErr := err.(models.ErrInvalidCloneAddr) switch { case addrErr.IsURLError: - ctx.RenderWithErr(ctx.Tr("form.url_error"), MIGRATE, &form) + ctx.RenderWithErr(ctx.Tr("form.url_error"), tplMigrate, &form) case addrErr.IsPermissionDenied: - ctx.RenderWithErr(ctx.Tr("repo.migrate.permission_denied"), MIGRATE, &form) + ctx.RenderWithErr(ctx.Tr("repo.migrate.permission_denied"), tplMigrate, &form) case addrErr.IsInvalidPath: - ctx.RenderWithErr(ctx.Tr("repo.migrate.invalid_local_path"), MIGRATE, &form) + ctx.RenderWithErr(ctx.Tr("repo.migrate.invalid_local_path"), tplMigrate, &form) default: ctx.Handle(500, "Unknown error", err) } @@ -216,17 +221,18 @@ func MigratePost(ctx *context.Context, form auth.MigrateRepoForm) { if strings.Contains(err.Error(), "Authentication failed") || strings.Contains(err.Error(), "could not read Username") { ctx.Data["Err_Auth"] = true - ctx.RenderWithErr(ctx.Tr("form.auth_failed", models.HandleCloneUserCredentials(err.Error(), true)), MIGRATE, &form) + ctx.RenderWithErr(ctx.Tr("form.auth_failed", models.HandleCloneUserCredentials(err.Error(), true)), tplMigrate, &form) return } else if strings.Contains(err.Error(), "fatal:") { ctx.Data["Err_CloneAddr"] = true - ctx.RenderWithErr(ctx.Tr("repo.migrate.failed", models.HandleCloneUserCredentials(err.Error(), true)), MIGRATE, &form) + ctx.RenderWithErr(ctx.Tr("repo.migrate.failed", models.HandleCloneUserCredentials(err.Error(), true)), tplMigrate, &form) return } - handleCreateError(ctx, ctxUser, err, "MigratePost", MIGRATE, &form) + handleCreateError(ctx, ctxUser, err, "MigratePost", tplMigrate, &form) } +// Action response for actions to a repository func Action(ctx *context.Context) { var err error switch ctx.Params(":action") { @@ -261,6 +267,7 @@ func Action(ctx *context.Context) { ctx.Redirect(redirectTo) } +// Download download an archive of a repository func Download(ctx *context.Context) { var ( uri = ctx.Params("*") diff --git a/routers/repo/setting.go b/routers/repo/setting.go index 736a7fdf9a..2b8c5a2315 100644 --- a/routers/repo/setting.go +++ b/routers/repo/setting.go @@ -26,12 +26,14 @@ const ( tplDeployKeys base.TplName = "repo/settings/deploy_keys" ) +// Settings show a repository's settings page func Settings(ctx *context.Context) { ctx.Data["Title"] = ctx.Tr("repo.settings") ctx.Data["PageIsSettingsOptions"] = true ctx.HTML(200, tplSettingsOptions) } +// SettingsPost response for changes of a repository func SettingsPost(ctx *context.Context, form auth.RepoSettingForm) { ctx.Data["Title"] = ctx.Tr("repo.settings") ctx.Data["PageIsSettingsOptions"] = true @@ -293,6 +295,7 @@ func SettingsPost(ctx *context.Context, form auth.RepoSettingForm) { } } +// Collaboration render a repository's collaboration page func Collaboration(ctx *context.Context) { ctx.Data["Title"] = ctx.Tr("repo.settings") ctx.Data["PageIsSettingsCollaboration"] = true @@ -307,6 +310,7 @@ func Collaboration(ctx *context.Context) { ctx.HTML(200, tplCollaboration) } +// CollaborationPost response for actions for a collaboration of a repository func CollaborationPost(ctx *context.Context) { name := strings.ToLower(ctx.Query("collaborator")) if len(name) == 0 || ctx.Repo.Owner.LowerName == name { @@ -352,6 +356,7 @@ func CollaborationPost(ctx *context.Context) { ctx.Redirect(setting.AppSubUrl + ctx.Req.URL.Path) } +// ChangeCollaborationAccessMode response for changing access of a collaboration func ChangeCollaborationAccessMode(ctx *context.Context) { if err := ctx.Repo.Repository.ChangeCollaborationAccessMode( ctx.QueryInt64("uid"), @@ -360,6 +365,7 @@ func ChangeCollaborationAccessMode(ctx *context.Context) { } } +// DeleteCollaboration delete a collaboration for a repository func DeleteCollaboration(ctx *context.Context) { if err := ctx.Repo.Repository.DeleteCollaboration(ctx.QueryInt64("id")); err != nil { ctx.Flash.Error("DeleteCollaboration: " + err.Error()) @@ -396,6 +402,7 @@ func parseOwnerAndRepo(ctx *context.Context) (*models.User, *models.Repository) return owner, repo } +// GitHooks hooks of a repository func GitHooks(ctx *context.Context) { ctx.Data["Title"] = ctx.Tr("repo.settings.githooks") ctx.Data["PageIsSettingsGitHooks"] = true @@ -410,6 +417,7 @@ func GitHooks(ctx *context.Context) { ctx.HTML(200, tplGithooks) } +// GitHooksEdit render for editing a hook of repository page func GitHooksEdit(ctx *context.Context) { ctx.Data["Title"] = ctx.Tr("repo.settings.githooks") ctx.Data["PageIsSettingsGitHooks"] = true @@ -428,6 +436,7 @@ func GitHooksEdit(ctx *context.Context) { ctx.HTML(200, tplGithookEdit) } +// GitHooksEditPost response for editing a git hook of a repository func GitHooksEditPost(ctx *context.Context) { name := ctx.Params(":name") hook, err := ctx.Repo.GitRepo.GetHook(name) @@ -447,6 +456,7 @@ func GitHooksEditPost(ctx *context.Context) { ctx.Redirect(ctx.Repo.RepoLink + "/settings/hooks/git") } +// DeployKeys render the deploy keys list of a repository page func DeployKeys(ctx *context.Context) { ctx.Data["Title"] = ctx.Tr("repo.settings.deploy_keys") ctx.Data["PageIsSettingsKeys"] = true @@ -461,6 +471,7 @@ func DeployKeys(ctx *context.Context) { ctx.HTML(200, tplDeployKeys) } +// DeployKeysPost response for adding a deploy key of a repository func DeployKeysPost(ctx *context.Context, form auth.AddSSHKeyForm) { ctx.Data["Title"] = ctx.Tr("repo.settings.deploy_keys") ctx.Data["PageIsSettingsKeys"] = true @@ -511,6 +522,7 @@ func DeployKeysPost(ctx *context.Context, form auth.AddSSHKeyForm) { ctx.Redirect(ctx.Repo.RepoLink + "/settings/keys") } +// DeleteDeployKey response for deleting a deploy key func DeleteDeployKey(ctx *context.Context) { if err := models.DeleteDeployKey(ctx.User, ctx.QueryInt64("id")); err != nil { ctx.Flash.Error("DeleteDeployKey: " + err.Error()) diff --git a/routers/repo/webhook.go b/routers/repo/webhook.go index 3f292397b9..33ad834c95 100644 --- a/routers/repo/webhook.go +++ b/routers/repo/webhook.go @@ -28,6 +28,7 @@ const ( tplOrgHookNew base.TplName = "org/settings/hook_new" ) +// Webhooks render web hooks list page func Webhooks(ctx *context.Context) { ctx.Data["Title"] = ctx.Tr("repo.settings.hooks") ctx.Data["PageIsSettingsHooks"] = true @@ -44,7 +45,7 @@ func Webhooks(ctx *context.Context) { ctx.HTML(200, tplHooks) } -type OrgRepoCtx struct { +type orgRepoCtx struct { OrgID int64 RepoID int64 Link string @@ -52,9 +53,9 @@ type OrgRepoCtx struct { } // getOrgRepoCtx determines whether this is a repo context or organization context. -func getOrgRepoCtx(ctx *context.Context) (*OrgRepoCtx, error) { +func getOrgRepoCtx(ctx *context.Context) (*orgRepoCtx, error) { if len(ctx.Repo.RepoLink) > 0 { - return &OrgRepoCtx{ + return &orgRepoCtx{ RepoID: ctx.Repo.Repository.ID, Link: ctx.Repo.RepoLink, NewTemplate: tplHookNew, @@ -62,7 +63,7 @@ func getOrgRepoCtx(ctx *context.Context) (*OrgRepoCtx, error) { } if len(ctx.Org.OrgLink) > 0 { - return &OrgRepoCtx{ + return &orgRepoCtx{ OrgID: ctx.Org.Organization.ID, Link: ctx.Org.OrgLink, NewTemplate: tplOrgHookNew, @@ -81,6 +82,7 @@ func checkHookType(ctx *context.Context) string { return hookType } +// WebhooksNew render creating webhook page func WebhooksNew(ctx *context.Context) { ctx.Data["Title"] = ctx.Tr("repo.settings.add_webhook") ctx.Data["PageIsSettingsHooks"] = true @@ -102,6 +104,7 @@ func WebhooksNew(ctx *context.Context) { ctx.HTML(200, orCtx.NewTemplate) } +// ParseHookEvent convert web form content to models.HookEvent func ParseHookEvent(form auth.WebhookForm) *models.HookEvent { return &models.HookEvent{ PushOnly: form.PushOnly(), @@ -115,6 +118,7 @@ func ParseHookEvent(form auth.WebhookForm) *models.HookEvent { } } +// WebHooksNewPost response for creating webhook func WebHooksNewPost(ctx *context.Context, form auth.NewWebhookForm) { ctx.Data["Title"] = ctx.Tr("repo.settings.add_webhook") ctx.Data["PageIsSettingsHooks"] = true @@ -161,6 +165,7 @@ func WebHooksNewPost(ctx *context.Context, form auth.NewWebhookForm) { ctx.Redirect(orCtx.Link + "/settings/hooks") } +// SlackHooksNewPost response for creating slack hook func SlackHooksNewPost(ctx *context.Context, form auth.NewSlackHookForm) { ctx.Data["Title"] = ctx.Tr("repo.settings") ctx.Data["PageIsSettingsHooks"] = true @@ -211,7 +216,7 @@ func SlackHooksNewPost(ctx *context.Context, form auth.NewSlackHookForm) { ctx.Redirect(orCtx.Link + "/settings/hooks") } -func checkWebhook(ctx *context.Context) (*OrgRepoCtx, *models.Webhook) { +func checkWebhook(ctx *context.Context) (*orgRepoCtx, *models.Webhook) { ctx.Data["RequireHighlightJS"] = true orCtx, err := getOrgRepoCtx(ctx) @@ -251,6 +256,7 @@ func checkWebhook(ctx *context.Context) (*OrgRepoCtx, *models.Webhook) { return orCtx, w } +// WebHooksEdit render editing web hook page func WebHooksEdit(ctx *context.Context) { ctx.Data["Title"] = ctx.Tr("repo.settings.update_webhook") ctx.Data["PageIsSettingsHooks"] = true @@ -265,6 +271,7 @@ func WebHooksEdit(ctx *context.Context) { ctx.HTML(200, orCtx.NewTemplate) } +// WebHooksEditPost response for editing web hook func WebHooksEditPost(ctx *context.Context, form auth.NewWebhookForm) { ctx.Data["Title"] = ctx.Tr("repo.settings.update_webhook") ctx.Data["PageIsSettingsHooks"] = true @@ -303,6 +310,7 @@ func WebHooksEditPost(ctx *context.Context, form auth.NewWebhookForm) { ctx.Redirect(fmt.Sprintf("%s/settings/hooks/%d", orCtx.Link, w.ID)) } +// SlackHooksEditPost reponse for editing slack hook func SlackHooksEditPost(ctx *context.Context, form auth.NewSlackHookForm) { ctx.Data["Title"] = ctx.Tr("repo.settings") ctx.Data["PageIsSettingsHooks"] = true @@ -346,6 +354,7 @@ func SlackHooksEditPost(ctx *context.Context, form auth.NewSlackHookForm) { ctx.Redirect(fmt.Sprintf("%s/settings/hooks/%d", orCtx.Link, w.ID)) } +// TestWebhook test if web hook is work fine func TestWebhook(ctx *context.Context) { // Grab latest commit or fake one if it's empty repository. commit := ctx.Repo.Commit @@ -393,6 +402,7 @@ func TestWebhook(ctx *context.Context) { } } +// DeleteWebhook delete a webhook func DeleteWebhook(ctx *context.Context) { if err := models.DeleteWebhookByRepoID(ctx.Repo.Repository.ID, ctx.QueryInt64("id")); err != nil { ctx.Flash.Error("DeleteWebhookByRepoID: " + err.Error())