commit 60dca108abb94e239389c8574975ca5f84b9e4fa
parent 79e225c8048e767f5214e7bf154a20d95a771d78
Author: n0tr1v <n0tr1v@protonmail.com>
Date: Fri, 2 Dec 2022 18:04:10 -0500
utils functions
Diffstat:
4 files changed, 24 insertions(+), 7 deletions(-)
diff --git a/pkg/database/utils/utils.go b/pkg/database/utils/utils.go
@@ -3,6 +3,7 @@ package utils
import (
"dkforest/pkg/config"
"dkforest/pkg/database"
+ "dkforest/pkg/utils"
"github.com/sirupsen/logrus"
)
@@ -37,3 +38,16 @@ func SendNewChessGameMessages(key, roomKey string, roomID int64, zeroUser, playe
_, _ = database.CreateMsg(raw, msg, roomKey, roomID, zeroUser.ID, &user.ID)
}
}
+
+func ParseUserID(v string) (database.UserID, error) {
+ p, err := utils.ParseInt64(v)
+ if err != nil {
+ return 0, err
+ }
+ return database.UserID(p), nil
+}
+
+func DoParseUserID(v string) (out database.UserID) {
+ out, _ = ParseUserID(v)
+ return
+}
diff --git a/pkg/web/handlers/admin.go b/pkg/web/handlers/admin.go
@@ -1,6 +1,7 @@
package handlers
import (
+ dutils "dkforest/pkg/database/utils"
"math"
"net/http"
"os"
@@ -534,13 +535,13 @@ func AdminDeleteRoomHandler(c echo.Context) error {
func AdminUserSecurityLogsHandler(c echo.Context) error {
//authUser := c.Get("authUser").(*database.User)
- userID, err := strconv.ParseInt(c.Param("userID"), 10, 64)
+ userID, err := dutils.ParseUserID(c.Param("userID"))
if err != nil {
return c.Redirect(http.StatusFound, "/admin/users")
}
var data settingsSecurityData
data.ActiveTab = "security"
- data.Logs, _ = database.GetSecurityLogs(database.UserID(userID))
+ data.Logs, _ = database.GetSecurityLogs(userID)
return c.Render(http.StatusOK, "admin.user-security-logs", data)
}
diff --git a/pkg/web/handlers/api/v1/handlers.go b/pkg/web/handlers/api/v1/handlers.go
@@ -2,6 +2,7 @@ package v1
import (
"dkforest/pkg/config"
+ dutils "dkforest/pkg/database/utils"
"dkforest/pkg/global"
"dkforest/pkg/hashset"
"errors"
@@ -167,7 +168,7 @@ func ChatMessagesHandler(c echo.Context) error {
func UserHellbanHandler(c echo.Context) error {
authUser := c.Get("authUser").(*database.User)
if authUser.IsModerator() {
- userID := database.UserID(utils.DoParseInt64(c.Param("userID")))
+ userID := dutils.DoParseUserID(c.Param("userID"))
user, err := database.GetUserByID(userID)
if err != nil {
return c.Redirect(http.StatusFound, c.Request().Referer())
@@ -188,7 +189,7 @@ func UserHellbanHandler(c echo.Context) error {
func KickHandler(c echo.Context) error {
authUser := c.Get("authUser").(*database.User)
if authUser.IsModerator() {
- userID := database.UserID(utils.DoParseInt64(c.Param("userID")))
+ userID := dutils.DoParseUserID(c.Param("userID"))
user, err := database.GetUserByID(userID)
if err != nil {
return c.Redirect(http.StatusFound, c.Request().Referer())
diff --git a/pkg/web/handlers/handlers.go b/pkg/web/handlers/handlers.go
@@ -2,6 +2,7 @@ package handlers
import (
"bytes"
+ dutils "dkforest/pkg/database/utils"
pubsub2 "dkforest/pkg/pubsub"
v1 "dkforest/pkg/web/handlers/api/v1"
"encoding/base64"
@@ -2493,7 +2494,7 @@ func SettingsChatPMHandler(c echo.Context) error {
return c.Redirect(http.StatusFound, c.Request().Referer())
} else if formName == "rmWhitelist" {
- userID := database.UserID(utils.DoParseInt64(c.Request().PostFormValue("userID")))
+ userID := dutils.DoParseUserID(c.Request().PostFormValue("userID"))
database.RmWhitelistedUser(authUser.ID, userID)
return c.Redirect(http.StatusFound, c.Request().Referer())
@@ -2508,7 +2509,7 @@ func SettingsChatPMHandler(c echo.Context) error {
return c.Redirect(http.StatusFound, c.Request().Referer())
} else if formName == "rmBlacklist" {
- userID := database.UserID(utils.DoParseInt64(c.Request().PostFormValue("userID")))
+ userID := dutils.DoParseUserID(c.Request().PostFormValue("userID"))
database.RmBlacklistedUser(authUser.ID, userID)
return c.Redirect(http.StatusFound, c.Request().Referer())
}
@@ -2545,7 +2546,7 @@ func SettingsChatIgnoreHandler(c echo.Context) error {
return c.Redirect(http.StatusFound, c.Request().Referer())
} else if formName == "rmIgnored" {
- userID := database.UserID(utils.DoParseInt64(c.Request().PostFormValue("userID")))
+ userID := dutils.DoParseUserID(c.Request().PostFormValue("userID"))
database.UnIgnoreUser(authUser.ID, userID)
return c.Redirect(http.StatusFound, c.Request().Referer())
}