dkforest

A forum and chat platform (onion)
git clone https://git.dasho.dev/n0tr1v/dkforest.git
Log | Files | Refs | LICENSE

commit 2e663db64b7fe8d1e05be4c28bf920c4eea181aa
parent 26f106ea578c517618a98b9c6d05027e36839e8e
Author: n0tr1v <n0tr1v@protonmail.com>
Date:   Mon, 12 Dec 2022 21:46:13 -0500

cleanup duplicated code

Diffstat:
Mpkg/web/handlers/api/v1/uploadInterceptor.go | 3++-
Mpkg/web/handlers/data.go | 1+
Mpkg/web/handlers/handlers.go | 19++++++++++---------
Mpkg/web/handlers/utils/utils.go | 2++
Mpkg/web/public/views/pages/settings/account.gohtml | 2+-
5 files changed, 16 insertions(+), 11 deletions(-)

diff --git a/pkg/web/handlers/api/v1/uploadInterceptor.go b/pkg/web/handlers/api/v1/uploadInterceptor.go @@ -4,6 +4,7 @@ import ( "dkforest/pkg/config" "dkforest/pkg/database" "dkforest/pkg/utils" + hutils "dkforest/pkg/web/handlers/utils" "errors" "github.com/asaskevich/govalidator" "github.com/sirupsen/logrus" @@ -28,7 +29,7 @@ func (i UploadInterceptor) InterceptMsg(cmd *Command) { func handleUploadedFile(file multipart.File, handler *multipart.FileHeader, authUser *database.User) (*database.Upload, error) { defer file.Close() if !authUser.CanUpload() { - return nil, errors.New("account must be at least 3 days old to upload files") + return nil, hutils.AccountTooYoungErr } userSizeUploaded := database.GetUserTotalUploadSize(authUser.ID) if handler.Size+userSizeUploaded > 100<<20 { diff --git a/pkg/web/handlers/data.go b/pkg/web/handlers/data.go @@ -716,6 +716,7 @@ type settingsPasswordData struct { } type settingsAccountData struct { + AccountTooYoungErrorString string ActiveTab string Username string Website string diff --git a/pkg/web/handlers/handlers.go b/pkg/web/handlers/handlers.go @@ -1765,7 +1765,7 @@ func ThreadReplyHandler(c echo.Context) error { } authUser := c.Get("authUser").(*database.User) if !authUser.CanUseForumFn() { - return c.Render(http.StatusOK, "flash", FlashResponse{Message: "Account must be at least 3 days old", Redirect: c.Request().Referer(), Type: "alert-danger"}) + return c.Render(http.StatusOK, "flash", FlashResponse{Message: hutils.AccountTooYoungErr.Error(), Redirect: c.Request().Referer(), Type: "alert-danger"}) } threadUUID := database.ForumThreadUUID(c.Param("threadUUID")) @@ -1831,7 +1831,7 @@ func ThreadDeleteMessageHandler(c echo.Context) error { } authUser := c.Get("authUser").(*database.User) if !authUser.CanUseForumFn() { - return c.Render(http.StatusOK, "flash", FlashResponse{Message: "Account must be at least 3 days old", Redirect: c.Request().Referer(), Type: "alert-danger"}) + return c.Render(http.StatusOK, "flash", FlashResponse{Message: hutils.AccountTooYoungErr.Error(), Redirect: c.Request().Referer(), Type: "alert-danger"}) } messageUUID := database.ForumMessageUUID(c.Param("messageUUID")) msg, err := database.GetForumMessageByUUID(messageUUID) @@ -1955,7 +1955,7 @@ func ThreadEditHandler(c echo.Context) error { } authUser := c.Get("authUser").(*database.User) if !authUser.CanUseForumFn() { - return c.Render(http.StatusOK, "flash", FlashResponse{Message: "Account must be at least 3 days old", Redirect: c.Request().Referer(), Type: "alert-danger"}) + return c.Render(http.StatusOK, "flash", FlashResponse{Message: hutils.AccountTooYoungErr.Error(), Redirect: c.Request().Referer(), Type: "alert-danger"}) } if !authUser.IsAdmin { return c.Redirect(http.StatusFound, c.Request().Referer()) @@ -1983,7 +1983,7 @@ func ThreadDeleteHandler(c echo.Context) error { } authUser := c.Get("authUser").(*database.User) if !authUser.CanUseForumFn() { - return c.Render(http.StatusOK, "flash", FlashResponse{Message: "Account must be at least 3 days old", Redirect: c.Request().Referer(), Type: "alert-danger"}) + return c.Render(http.StatusOK, "flash", FlashResponse{Message: hutils.AccountTooYoungErr.Error(), Redirect: c.Request().Referer(), Type: "alert-danger"}) } threadUUID := database.ForumThreadUUID(c.Param("threadUUID")) thread, err := database.GetForumThreadByUUID(threadUUID) @@ -2014,7 +2014,7 @@ func ThreadEditMessageHandler(c echo.Context) error { } authUser := c.Get("authUser").(*database.User) if !authUser.CanUseForumFn() { - return c.Render(http.StatusOK, "flash", FlashResponse{Message: "Account must be at least 3 days old", Redirect: c.Request().Referer(), Type: "alert-danger"}) + return c.Render(http.StatusOK, "flash", FlashResponse{Message: hutils.AccountTooYoungErr.Error(), Redirect: c.Request().Referer(), Type: "alert-danger"}) } threadUUID := database.ForumThreadUUID(c.Param("threadUUID")) messageUUID := database.ForumMessageUUID(c.Param("messageUUID")) @@ -2089,7 +2089,7 @@ func NewThreadHandler(c echo.Context) error { } authUser := c.Get("authUser").(*database.User) if !authUser.CanUseForumFn() { - return c.Render(http.StatusOK, "flash", FlashResponse{Message: "Account must be at least 3 days old", Redirect: c.Request().Referer(), Type: "alert-danger"}) + return c.Render(http.StatusOK, "flash", FlashResponse{Message: hutils.AccountTooYoungErr.Error(), Redirect: c.Request().Referer(), Type: "alert-danger"}) } var data newThreadData @@ -2672,7 +2672,7 @@ func SettingsUploadsHandler(c echo.Context) error { func SettingsPublicNotesHandler(c echo.Context) error { authUser := c.Get("authUser").(*database.User) if !authUser.CanUseForumFn() { - return c.Render(http.StatusOK, "flash", FlashResponse{Message: "Account must be at least 3 days old", Redirect: c.Request().Referer(), Type: "alert-danger"}) + return c.Render(http.StatusOK, "flash", FlashResponse{Message: hutils.AccountTooYoungErr.Error(), Redirect: c.Request().Referer(), Type: "alert-danger"}) } var data settingsPublicNotesData data.ActiveTab = "notes" @@ -2693,7 +2693,7 @@ func SettingsPublicNotesHandler(c echo.Context) error { func SettingsPrivateNotesHandler(c echo.Context) error { authUser := c.Get("authUser").(*database.User) if !authUser.CanUseForumFn() { - return c.Render(http.StatusOK, "flash", FlashResponse{Message: "Account must be at least 3 days old", Redirect: c.Request().Referer(), Type: "alert-danger"}) + return c.Render(http.StatusOK, "flash", FlashResponse{Message: hutils.AccountTooYoungErr.Error(), Redirect: c.Request().Referer(), Type: "alert-danger"}) } var data settingsPrivateNotesData data.ActiveTab = "notes" @@ -2807,6 +2807,7 @@ func SettingsSessionsHandler(c echo.Context) error { func SettingsAccountHandler(c echo.Context) error { authUser := c.Get("authUser").(*database.User) var data settingsAccountData + data.AccountTooYoungErrorString = hutils.AccountTooYoungErr.Error() data.ActiveTab = "account" data.Username = authUser.Username data.Email = authUser.Email @@ -2963,7 +2964,7 @@ func editProfileForm(c echo.Context, data settingsAccountData) error { func changeAvatarForm(c echo.Context, data settingsAccountData) error { authUser := c.Get("authUser").(*database.User) if !authUser.CanUpload() { - data.ErrorAvatar = "Account must be at least 3 days old" + data.ErrorAvatar = hutils.AccountTooYoungErr.Error() return c.Render(http.StatusOK, "settings.account", data) } if err := c.Request().ParseMultipartForm(1024 * 1024 /* 1 MB */); err != nil { diff --git a/pkg/web/handlers/utils/utils.go b/pkg/web/handlers/utils/utils.go @@ -23,6 +23,8 @@ const ( ByteRoadCookieName = "challenge_byte_road_session" ) +var AccountTooYoungErr = errors.New("account must be at least 3 days old") + func CreateCookie(name, value string, maxAge int64) *http.Cookie { cookie := &http.Cookie{ Name: name, diff --git a/pkg/web/public/views/pages/settings/account.gohtml b/pkg/web/public/views/pages/settings/account.gohtml @@ -62,7 +62,7 @@ <td> <div class="form-group"> {{ if not .AuthUser.CanUpload }} - <p>Account must be at least 3 days old</p> + <p>{{ .Data.AccountTooYoungErrorString }}</p> {{ end }} <p> The maximum dimensions for avatars are: 120x120 pixels.<br />