aboutsummaryrefslogtreecommitdiff
path: root/internal/route/user/home.go
diff options
context:
space:
mode:
authorᴜɴᴋɴᴡᴏɴ <u@gogs.io>2020-03-16 01:22:27 +0800
committerᴜɴᴋɴᴡᴏɴ <u@gogs.io>2020-03-16 01:22:27 +0800
commit9e9ca66467116e9079a2639c00e9e623aca23015 (patch)
treedacdef5392608ff7107e4dd498959d4899e13e54 /internal/route/user/home.go
parent82ff0c5852f29daa5f95d965fd50665581e7ea3c (diff)
refactor: unify error handling in routing layer
Diffstat (limited to 'internal/route/user/home.go')
-rw-r--r--internal/route/user/home.go62
1 files changed, 31 insertions, 31 deletions
diff --git a/internal/route/user/home.go b/internal/route/user/home.go
index d2d23fba..5ba9bb17 100644
--- a/internal/route/user/home.go
+++ b/internal/route/user/home.go
@@ -7,6 +7,7 @@ package user
import (
"bytes"
"fmt"
+ "net/http"
"github.com/unknwon/com"
"github.com/unknwon/paginater"
@@ -14,7 +15,6 @@ import (
"gogs.io/gogs/internal/conf"
"gogs.io/gogs/internal/context"
"gogs.io/gogs/internal/db"
- "gogs.io/gogs/internal/db/errors"
)
const (
@@ -33,7 +33,7 @@ func getDashboardContextUser(c *context.Context) *db.User {
// Organization.
org, err := db.GetUserByName(orgName)
if err != nil {
- c.NotFoundOrServerError("GetUserByName", errors.IsUserNotExist, err)
+ c.NotFoundOrError(err, "get user by name")
return nil
}
ctxUser = org
@@ -41,7 +41,7 @@ func getDashboardContextUser(c *context.Context) *db.User {
c.Data["ContextUser"] = ctxUser
if err := c.User.GetOrganizations(true); err != nil {
- c.Handle(500, "GetOrganizations", err)
+ c.Error(err, "get organizations")
return nil
}
c.Data["Orgs"] = c.User.Orgs
@@ -55,7 +55,7 @@ func getDashboardContextUser(c *context.Context) *db.User {
func retrieveFeeds(c *context.Context, ctxUser *db.User, userID int64, isProfile bool) {
actions, err := db.GetFeeds(ctxUser, userID, c.QueryInt64("after_id"), isProfile)
if err != nil {
- c.Handle(500, "GetFeeds", err)
+ c.Error(err, "get feeds")
return
}
@@ -68,10 +68,10 @@ func retrieveFeeds(c *context.Context, ctxUser *db.User, userID int64, isProfile
if !ok {
u, err := db.GetUserByName(act.ActUserName)
if err != nil {
- if errors.IsUserNotExist(err) {
+ if db.IsErrUserNotExist(err) {
continue
}
- c.Handle(500, "GetUserByName", err)
+ c.Error(err, "get user by name")
return
}
unameAvatars[act.ActUserName] = u.RelAvatarLink()
@@ -100,7 +100,7 @@ func Dashboard(c *context.Context) {
}
if c.Req.Header.Get("X-AJAX") == "true" {
- c.HTML(200, NEWS_FEED)
+ c.Success(NEWS_FEED)
return
}
@@ -112,10 +112,10 @@ func Dashboard(c *context.Context) {
if !ctxUser.IsOrganization() {
collaborateRepos, err := c.User.GetAccessibleRepositories(conf.UI.User.RepoPagingNum)
if err != nil {
- c.Handle(500, "GetAccessibleRepositories", err)
+ c.Error(err, "get accessible repositories")
return
} else if err = db.RepositoryList(collaborateRepos).LoadAttributes(); err != nil {
- c.Handle(500, "RepositoryList.LoadAttributes", err)
+ c.Error(err, "load attributes")
return
}
c.Data["CollaborativeRepos"] = collaborateRepos
@@ -127,18 +127,18 @@ func Dashboard(c *context.Context) {
if ctxUser.IsOrganization() {
repos, repoCount, err = ctxUser.GetUserRepositories(c.User.ID, 1, conf.UI.User.RepoPagingNum)
if err != nil {
- c.Handle(500, "GetUserRepositories", err)
+ c.Error(err, "get user repositories")
return
}
mirrors, err = ctxUser.GetUserMirrorRepositories(c.User.ID)
if err != nil {
- c.Handle(500, "GetUserMirrorRepositories", err)
+ c.Error(err, "get user mirror repositories")
return
}
} else {
if err = ctxUser.GetRepositories(1, conf.UI.User.RepoPagingNum); err != nil {
- c.Handle(500, "GetRepositories", err)
+ c.Error(err, "get repositories")
return
}
repos = ctxUser.Repos
@@ -146,7 +146,7 @@ func Dashboard(c *context.Context) {
mirrors, err = ctxUser.GetMirrorRepositories()
if err != nil {
- c.Handle(500, "GetMirrorRepositories", err)
+ c.Error(err, "get mirror repositories")
return
}
}
@@ -155,13 +155,13 @@ func Dashboard(c *context.Context) {
c.Data["MaxShowRepoNum"] = conf.UI.User.RepoPagingNum
if err := db.MirrorRepositoryList(mirrors).LoadAttributes(); err != nil {
- c.Handle(500, "MirrorRepositoryList.LoadAttributes", err)
+ c.Error(err, "load attributes")
return
}
c.Data["MirrorCount"] = len(mirrors)
c.Data["Mirrors"] = mirrors
- c.HTML(200, DASHBOARD)
+ c.Success(DASHBOARD)
}
func Issues(c *context.Context) {
@@ -216,12 +216,12 @@ func Issues(c *context.Context) {
if ctxUser.IsOrganization() {
repos, _, err = ctxUser.GetUserRepositories(c.User.ID, 1, ctxUser.NumRepos)
if err != nil {
- c.Handle(500, "GetRepositories", err)
+ c.Error(err, "get repositories")
return
}
} else {
if err := ctxUser.GetRepositories(1, c.User.NumRepos); err != nil {
- c.Handle(500, "GetRepositories", err)
+ c.Error(err, "get repositories")
return
}
repos = ctxUser.Repos
@@ -255,7 +255,7 @@ func Issues(c *context.Context) {
if !isPullList {
userRepoIDs, err = db.FilterRepositoryWithIssues(userRepoIDs)
if err != nil {
- c.Handle(500, "FilterRepositoryWithIssues", err)
+ c.Error(err, "filter repositories with issues")
return
}
}
@@ -287,32 +287,32 @@ func Issues(c *context.Context) {
issues, err := db.Issues(issueOptions)
if err != nil {
- c.Handle(500, "Issues", err)
+ c.Error(err, "list issues")
return
}
if repoID > 0 {
repo, err := db.GetRepositoryByID(repoID)
if err != nil {
- c.Handle(500, "GetRepositoryByID", fmt.Errorf("[#%d] %v", repoID, err))
+ c.Error(err, "get repository by ID")
return
}
if err = repo.GetOwner(); err != nil {
- c.Handle(500, "GetOwner", fmt.Errorf("[#%d] %v", repoID, err))
+ c.Error(err, "get owner")
return
}
// Check if user has access to given repository.
if !repo.IsOwnedBy(ctxUser.ID) && !repo.HasAccess(ctxUser.ID) {
- c.Handle(404, "Issues", fmt.Errorf("#%d", repoID))
+ c.NotFound()
return
}
}
for _, issue := range issues {
if err = issue.Repo.GetOwner(); err != nil {
- c.Handle(500, "GetOwner", fmt.Errorf("[#%d] %v", issue.RepoID, err))
+ c.Error(err, "get owner")
return
}
}
@@ -341,13 +341,13 @@ func Issues(c *context.Context) {
c.Data["State"] = "open"
}
- c.HTML(200, ISSUES)
+ c.Success(ISSUES)
}
func ShowSSHKeys(c *context.Context, uid int64) {
keys, err := db.ListPublicKeys(uid)
if err != nil {
- c.Handle(500, "ListPublicKeys", err)
+ c.Error(err, "list public keys")
return
}
@@ -356,7 +356,7 @@ func ShowSSHKeys(c *context.Context, uid int64) {
buf.WriteString(keys[i].OmitEmail())
buf.WriteString("\n")
}
- c.PlainText(200, buf.Bytes())
+ c.PlainText(http.StatusOK, buf.String())
}
func showOrgProfile(c *context.Context) {
@@ -382,7 +382,7 @@ func showOrgProfile(c *context.Context) {
if c.IsLogged && !c.User.IsAdmin {
repos, count, err = org.GetUserRepositories(c.User.ID, page, conf.UI.User.RepoPagingNum)
if err != nil {
- c.Handle(500, "GetUserRepositories", err)
+ c.Error(err, "get user repositories")
return
}
c.Data["Repos"] = repos
@@ -395,7 +395,7 @@ func showOrgProfile(c *context.Context) {
PageSize: conf.UI.User.RepoPagingNum,
})
if err != nil {
- c.Handle(500, "GetRepositories", err)
+ c.Error(err, "get user repositories")
return
}
c.Data["Repos"] = repos
@@ -404,20 +404,20 @@ func showOrgProfile(c *context.Context) {
c.Data["Page"] = paginater.New(int(count), conf.UI.User.RepoPagingNum, page, 5)
if err := org.GetMembers(); err != nil {
- c.Handle(500, "GetMembers", err)
+ c.Error(err, "get members")
return
}
c.Data["Members"] = org.Members
c.Data["Teams"] = org.Teams
- c.HTML(200, ORG_HOME)
+ c.Success(ORG_HOME)
}
func Email2User(c *context.Context) {
u, err := db.GetUserByEmail(c.Query("email"))
if err != nil {
- c.NotFoundOrServerError("GetUserByEmail", errors.IsUserNotExist, err)
+ c.NotFoundOrError(err, "get user by email")
return
}
c.Redirect(conf.Server.Subpath + "/user/" + u.Name)