diff options
author | ᴜɴᴋɴᴡᴏɴ <u@gogs.io> | 2020-03-16 01:22:27 +0800 |
---|---|---|
committer | ᴜɴᴋɴᴡᴏɴ <u@gogs.io> | 2020-03-16 01:22:27 +0800 |
commit | 9e9ca66467116e9079a2639c00e9e623aca23015 (patch) | |
tree | dacdef5392608ff7107e4dd498959d4899e13e54 /internal/route/user/setting.go | |
parent | 82ff0c5852f29daa5f95d965fd50665581e7ea3c (diff) |
refactor: unify error handling in routing layer
Diffstat (limited to 'internal/route/user/setting.go')
-rw-r--r-- | internal/route/user/setting.go | 88 |
1 files changed, 44 insertions, 44 deletions
diff --git a/internal/route/user/setting.go b/internal/route/user/setting.go index f09e4034..d8ae9e70 100644 --- a/internal/route/user/setting.go +++ b/internal/route/user/setting.go @@ -80,7 +80,7 @@ func SettingsPost(c *context.Context, f form.UpdateProfile) { case db.IsErrNamePatternNotAllowed(err): msg = c.Tr("form.name_pattern_not_allowed") default: - c.ServerError("ChangeUserName", err) + c.Error(err, "change user name") return } @@ -106,12 +106,12 @@ func SettingsPost(c *context.Context, f form.UpdateProfile) { c.RenderWithErr(msg, SETTINGS_PROFILE, &f) return } - c.ServerError("UpdateUser", err) + c.Errorf(err, "update user") return } c.Flash.Success(c.Tr("settings.update_profile_success")) - c.SubURLRedirect("/user/settings") + c.RedirectSubpath("/user/settings") } // FIXME: limit upload size @@ -169,7 +169,7 @@ func SettingsAvatarPost(c *context.Context, f form.Avatar) { c.Flash.Success(c.Tr("settings.update_avatar_success")) } - c.SubURLRedirect("/user/settings/avatar") + c.RedirectSubpath("/user/settings/avatar") } func SettingsDeleteAvatar(c *context.Context) { @@ -177,7 +177,7 @@ func SettingsDeleteAvatar(c *context.Context) { c.Flash.Error(fmt.Sprintf("Failed to delete avatar: %v", err)) } - c.SubURLRedirect("/user/settings/avatar") + c.RedirectSubpath("/user/settings/avatar") } func SettingsPassword(c *context.Context) { @@ -203,18 +203,18 @@ func SettingsPasswordPost(c *context.Context, f form.ChangePassword) { c.User.Passwd = f.Password var err error if c.User.Salt, err = db.GetUserSalt(); err != nil { - c.ServerError("GetUserSalt", err) + c.Errorf(err, "get user salt") return } c.User.EncodePasswd() if err := db.UpdateUser(c.User); err != nil { - c.ServerError("UpdateUser", err) + c.Errorf(err, "update user") return } c.Flash.Success(c.Tr("settings.change_password_success")) } - c.SubURLRedirect("/user/settings/password") + c.RedirectSubpath("/user/settings/password") } func SettingsEmails(c *context.Context) { @@ -223,7 +223,7 @@ func SettingsEmails(c *context.Context) { emails, err := db.GetEmailAddresses(c.User.ID) if err != nil { - c.ServerError("GetEmailAddresses", err) + c.Errorf(err, "get email addresses") return } c.Data["Emails"] = emails @@ -238,18 +238,18 @@ func SettingsEmailPost(c *context.Context, f form.AddEmail) { // Make emailaddress primary. if c.Query("_method") == "PRIMARY" { if err := db.MakeEmailPrimary(c.UserID(), &db.EmailAddress{ID: c.QueryInt64("id")}); err != nil { - c.ServerError("MakeEmailPrimary", err) + c.Errorf(err, "make email primary") return } - c.SubURLRedirect("/user/settings/email") + c.RedirectSubpath("/user/settings/email") return } // Add Email address. emails, err := db.GetEmailAddresses(c.User.ID) if err != nil { - c.ServerError("GetEmailAddresses", err) + c.Errorf(err, "get email addresses") return } c.Data["Emails"] = emails @@ -268,7 +268,7 @@ func SettingsEmailPost(c *context.Context, f form.AddEmail) { if db.IsErrEmailAlreadyUsed(err) { c.RenderWithErr(c.Tr("form.email_been_used"), SETTINGS_EMAILS, &f) } else { - c.ServerError("AddEmailAddress", err) + c.Errorf(err, "add email address") } return } @@ -285,7 +285,7 @@ func SettingsEmailPost(c *context.Context, f form.AddEmail) { c.Flash.Success(c.Tr("settings.add_email_success")) } - c.SubURLRedirect("/user/settings/email") + c.RedirectSubpath("/user/settings/email") } func DeleteEmail(c *context.Context) { @@ -293,7 +293,7 @@ func DeleteEmail(c *context.Context) { ID: c.QueryInt64("id"), UID: c.User.ID, }); err != nil { - c.ServerError("DeleteEmailAddress", err) + c.Errorf(err, "delete email address") return } @@ -309,7 +309,7 @@ func SettingsSSHKeys(c *context.Context) { keys, err := db.ListPublicKeys(c.User.ID) if err != nil { - c.ServerError("ListPublicKeys", err) + c.Errorf(err, "list public keys") return } c.Data["Keys"] = keys @@ -323,7 +323,7 @@ func SettingsSSHKeysPost(c *context.Context, f form.AddSSHKey) { keys, err := db.ListPublicKeys(c.User.ID) if err != nil { - c.ServerError("ListPublicKeys", err) + c.Errorf(err, "list public keys") return } c.Data["Keys"] = keys @@ -339,7 +339,7 @@ func SettingsSSHKeysPost(c *context.Context, f form.AddSSHKey) { c.Flash.Info(c.Tr("form.unable_verify_ssh_key")) } else { c.Flash.Error(c.Tr("form.invalid_ssh_key", err.Error())) - c.SubURLRedirect("/user/settings/ssh") + c.RedirectSubpath("/user/settings/ssh") return } } @@ -354,13 +354,13 @@ func SettingsSSHKeysPost(c *context.Context, f form.AddSSHKey) { c.FormErr("Title") c.RenderWithErr(c.Tr("settings.ssh_key_name_used"), SETTINGS_SSH_KEYS, &f) default: - c.ServerError("AddPublicKey", err) + c.Errorf(err, "add public key") } return } c.Flash.Success(c.Tr("settings.add_key_success", f.Title)) - c.SubURLRedirect("/user/settings/ssh") + c.RedirectSubpath("/user/settings/ssh") } func DeleteSSHKey(c *context.Context) { @@ -381,7 +381,7 @@ func SettingsSecurity(c *context.Context) { t, err := db.GetTwoFactorByUserID(c.UserID()) if err != nil && !errors.IsTwoFactorNotFound(err) { - c.ServerError("GetTwoFactorByUserID", err) + c.Errorf(err, "get two factor by user ID") return } c.Data["TwoFactor"] = t @@ -410,7 +410,7 @@ func SettingsTwoFactorEnable(c *context.Context) { AccountName: c.User.Email, }) if err != nil { - c.ServerError("Generate", err) + c.Errorf(err, "generate TOTP") return } } @@ -418,13 +418,13 @@ func SettingsTwoFactorEnable(c *context.Context) { img, err := key.Image(240, 240) if err != nil { - c.ServerError("Image", err) + c.Errorf(err, "generate image") return } var buf bytes.Buffer if err = png.Encode(&buf, img); err != nil { - c.ServerError("Encode", err) + c.Errorf(err, "encode image") return } c.Data["QRCode"] = template.URL("data:image/png;base64," + base64.StdEncoding.EncodeToString(buf.Bytes())) @@ -443,20 +443,20 @@ func SettingsTwoFactorEnablePost(c *context.Context) { if !totp.Validate(c.Query("passcode"), secret) { c.Flash.Error(c.Tr("settings.two_factor_invalid_passcode")) - c.SubURLRedirect("/user/settings/security/two_factor_enable") + c.RedirectSubpath("/user/settings/security/two_factor_enable") return } if err := db.NewTwoFactor(c.UserID(), secret); err != nil { c.Flash.Error(c.Tr("settings.two_factor_enable_error", err)) - c.SubURLRedirect("/user/settings/security/two_factor_enable") + c.RedirectSubpath("/user/settings/security/two_factor_enable") return } c.Session.Delete("twoFactorSecret") c.Session.Delete("twoFactorURL") c.Flash.Success(c.Tr("settings.two_factor_enable_success")) - c.SubURLRedirect("/user/settings/security/two_factor_recovery_codes") + c.RedirectSubpath("/user/settings/security/two_factor_recovery_codes") } func SettingsTwoFactorRecoveryCodes(c *context.Context) { @@ -470,7 +470,7 @@ func SettingsTwoFactorRecoveryCodes(c *context.Context) { recoveryCodes, err := db.GetRecoveryCodesByUserID(c.UserID()) if err != nil { - c.ServerError("GetRecoveryCodesByUserID", err) + c.Errorf(err, "get recovery codes by user ID") return } c.Data["RecoveryCodes"] = recoveryCodes @@ -490,7 +490,7 @@ func SettingsTwoFactorRecoveryCodesPost(c *context.Context) { c.Flash.Success(c.Tr("settings.two_factor_regenerate_recovery_codes_success")) } - c.SubURLRedirect("/user/settings/security/two_factor_recovery_codes") + c.RedirectSubpath("/user/settings/security/two_factor_recovery_codes") } func SettingsTwoFactorDisable(c *context.Context) { @@ -500,7 +500,7 @@ func SettingsTwoFactorDisable(c *context.Context) { } if err := db.DeleteTwoFactor(c.UserID()); err != nil { - c.ServerError("DeleteTwoFactor", err) + c.Errorf(err, "delete two factor") return } @@ -516,11 +516,11 @@ func SettingsRepos(c *context.Context) { repos, err := db.GetUserAndCollaborativeRepositories(c.User.ID) if err != nil { - c.ServerError("GetUserAndCollaborativeRepositories", err) + c.Errorf(err, "get user and collaborative repositories") return } if err = db.RepositoryList(repos).LoadAttributes(); err != nil { - c.ServerError("LoadAttributes", err) + c.Errorf(err, "load attributes") return } c.Data["Repos"] = repos @@ -531,12 +531,12 @@ func SettingsRepos(c *context.Context) { func SettingsLeaveRepo(c *context.Context) { repo, err := db.GetRepositoryByID(c.QueryInt64("id")) if err != nil { - c.NotFoundOrServerError("GetRepositoryByID", errors.IsRepoNotExist, err) + c.NotFoundOrError(err, "get repository by ID") return } if err = repo.DeleteCollaboration(c.User.ID); err != nil { - c.ServerError("DeleteCollaboration", err) + c.Errorf(err, "delete collaboration") return } @@ -552,7 +552,7 @@ func SettingsOrganizations(c *context.Context) { orgs, err := db.GetOrgsByUserID(c.User.ID, true) if err != nil { - c.ServerError("GetOrgsByUserID", err) + c.Errorf(err, "get organizations by user ID") return } c.Data["Orgs"] = orgs @@ -565,7 +565,7 @@ func SettingsLeaveOrganization(c *context.Context) { if db.IsErrLastOrgOwner(err) { c.Flash.Error(c.Tr("form.last_org_owner")) } else { - c.ServerError("RemoveOrgUser", err) + c.Errorf(err, "remove organization user") return } } @@ -581,7 +581,7 @@ func SettingsApplications(c *context.Context) { tokens, err := db.ListAccessTokens(c.User.ID) if err != nil { - c.ServerError("ListAccessTokens", err) + c.Errorf(err, "list access tokens") return } c.Data["Tokens"] = tokens @@ -596,7 +596,7 @@ func SettingsApplicationsPost(c *context.Context, f form.NewAccessToken) { if c.HasError() { tokens, err := db.ListAccessTokens(c.User.ID) if err != nil { - c.ServerError("ListAccessTokens", err) + c.Errorf(err, "list access tokens") return } @@ -612,16 +612,16 @@ func SettingsApplicationsPost(c *context.Context, f form.NewAccessToken) { if err := db.NewAccessToken(t); err != nil { if errors.IsAccessTokenNameAlreadyExist(err) { c.Flash.Error(c.Tr("settings.token_name_exists")) - c.SubURLRedirect("/user/settings/applications") + c.RedirectSubpath("/user/settings/applications") } else { - c.ServerError("NewAccessToken", err) + c.Errorf(err, "new access token") } return } c.Flash.Success(c.Tr("settings.generate_token_succees")) c.Flash.Info(t.Sha1) - c.SubURLRedirect("/user/settings/applications") + c.RedirectSubpath("/user/settings/applications") } func SettingsDeleteApplication(c *context.Context) { @@ -642,10 +642,10 @@ func SettingsDelete(c *context.Context) { if c.Req.Method == "POST" { if _, err := db.UserLogin(c.User.Name, c.Query("password"), c.User.LoginSource); err != nil { - if errors.IsUserNotExist(err) { + if db.IsErrUserNotExist(err) { c.RenderWithErr(c.Tr("form.enterred_invalid_password"), SETTINGS_DELETE, nil) } else { - c.ServerError("UserLogin", err) + c.Errorf(err, "authenticate user") } return } @@ -659,7 +659,7 @@ func SettingsDelete(c *context.Context) { c.Flash.Error(c.Tr("form.still_has_org")) c.Redirect(conf.Server.Subpath + "/user/settings/delete") default: - c.ServerError("DeleteUser", err) + c.Errorf(err, "delete user") } } else { log.Trace("Account deleted: %s", c.User.Name) |