commit a8c95cae5fde8672e1bfc521f9ce19df878cc5b8
parent 5499e6f03364d00283573da43e487e2f525fc7de
Author: n0tr1v <n0tr1v@protonmail.com>
Date: Thu, 25 May 2023 21:33:47 -0700
simplify code
Diffstat:
8 files changed, 21 insertions(+), 14 deletions(-)
diff --git a/pkg/database/utils/utils.go b/pkg/database/utils/utils.go
@@ -99,7 +99,7 @@ func DoParseRoomID(v string) (out database.RoomID) {
func SelfHellBan(db *database.DkfDB, user *database.User) {
db.NewAudit(*user, fmt.Sprintf("hellban %s #%d", user.Username, user.ID))
user.HellBan(db)
- managers.ActiveUsers.UpdateUserHBInRooms(managers.NewUserInfo(*user, nil))
+ managers.ActiveUsers.UpdateUserHBInRooms(managers.NewUserInfo(*user))
}
func Kick(db *database.DkfDB, kicked, kickedBy database.User, purge, silent bool) error {
diff --git a/pkg/managers/managers.go b/pkg/managers/managers.go
@@ -31,7 +31,7 @@ type UserInfo struct {
AfkIndicatorEnabled bool
}
-func NewUserInfo(user database.User, lastActivity *time.Time) UserInfo {
+func newUserInfo(user database.User, lastActivity *time.Time) UserInfo {
return UserInfo{
UserID: user.ID,
Username: user.Username,
@@ -46,6 +46,15 @@ func NewUserInfo(user database.User, lastActivity *time.Time) UserInfo {
}
}
+func NewUserInfo(user database.User) UserInfo {
+ return newUserInfo(user, nil)
+}
+
+func NewUserInfoUpdateActivity(user database.User) UserInfo {
+ now := time.Now()
+ return newUserInfo(user, &now)
+}
+
func (m UserInfo) MarshalJSON() ([]byte, error) {
return json.Marshal(&struct {
Username string
diff --git a/pkg/web/handlers/admin.go b/pkg/web/handlers/admin.go
@@ -605,7 +605,7 @@ func AdminEditUserHandler(c echo.Context) error {
user.IsAdmin = data.IsAdmin
if data.IsHellbanned {
user.HellBan(db)
- managers.ActiveUsers.UpdateUserHBInRooms(managers.NewUserInfo(user, nil))
+ managers.ActiveUsers.UpdateUserHBInRooms(managers.NewUserInfo(user))
}
user.ApiKey = data.ApiKey
user.Verified = data.Verified
diff --git a/pkg/web/handlers/api/v1/handlers.go b/pkg/web/handlers/api/v1/handlers.go
@@ -153,7 +153,7 @@ func chatMessages(c echo.Context) (status int, data ChatMessagesData) {
return http.StatusForbidden, data
}
- managers.ActiveUsers.UpdateUserInRoom(room, managers.NewUserInfo(*authUser, nil))
+ managers.ActiveUsers.UpdateUserInRoom(room, managers.NewUserInfo(*authUser))
displayHellbanned := authUser.DisplayHellbanned || authUser.IsHellbanned
displayIgnoredMessages := false
@@ -292,7 +292,7 @@ func RoomNotifierHandler(c echo.Context) error {
return c.NoContent(http.StatusForbidden)
}
- managers.ActiveUsers.UpdateUserInRoom(room, managers.NewUserInfo(*authUser, nil))
+ managers.ActiveUsers.UpdateUserInRoom(room, managers.NewUserInfo(*authUser))
displayHellbanned := authUser.DisplayHellbanned || authUser.IsHellbanned
displayIgnoredMessages := false
@@ -356,7 +356,7 @@ func UserHellbanHandler(c echo.Context) error {
if authUser.IsAdmin || !user.IsModerator() {
db.NewAudit(*authUser, fmt.Sprintf("hellban %s #%d", user.Username, user.ID))
user.HellBan(db)
- managers.ActiveUsers.UpdateUserHBInRooms(managers.NewUserInfo(user, nil))
+ managers.ActiveUsers.UpdateUserHBInRooms(managers.NewUserInfo(user))
}
}
return c.Redirect(http.StatusFound, c.Request().Referer())
@@ -373,7 +373,7 @@ func UserUnHellbanHandler(c echo.Context) error {
if user.IsHellbanned {
db.NewAudit(*authUser, fmt.Sprintf("unhellban %s #%d", user.Username, user.ID))
user.UnHellBan(db)
- managers.ActiveUsers.UpdateUserHBInRooms(managers.NewUserInfo(user, nil))
+ managers.ActiveUsers.UpdateUserHBInRooms(managers.NewUserInfo(user))
}
return c.Redirect(http.StatusFound, c.Request().Referer())
}
diff --git a/pkg/web/handlers/api/v1/msgInterceptor.go b/pkg/web/handlers/api/v1/msgInterceptor.go
@@ -10,7 +10,6 @@ import (
"github.com/microcosm-cc/bluemonday"
html2 "html"
"strings"
- "time"
)
type MsgInterceptor struct{}
@@ -186,6 +185,5 @@ func updateUserActivity(isPM, modMsg bool, room database.ChatRoom, authUser *dat
if isPM || modMsg {
return
}
- now := time.Now()
- managers.ActiveUsers.UpdateUserInRoom(room, managers.NewUserInfo(*authUser, &now))
+ managers.ActiveUsers.UpdateUserInRoom(room, managers.NewUserInfoUpdateActivity(*authUser))
}
diff --git a/pkg/web/handlers/api/v1/slashInterceptor.go b/pkg/web/handlers/api/v1/slashInterceptor.go
@@ -359,7 +359,7 @@ func handleHellbanCmd(c *Command) (handled bool) {
}
c.db.NewAudit(*c.authUser, fmt.Sprintf("hellban %s #%d", user.Username, user.ID))
user.HellBan(c.db)
- managers.ActiveUsers.UpdateUserHBInRooms(managers.NewUserInfo(user, nil))
+ managers.ActiveUsers.UpdateUserHBInRooms(managers.NewUserInfo(user))
c.err = ErrRedirect
return true
@@ -381,7 +381,7 @@ func handleUnhellbanCmd(c *Command) (handled bool) {
}
c.db.NewAudit(*c.authUser, fmt.Sprintf("unhellban %s #%d", user.Username, user.ID))
user.UnHellBan(c.db)
- managers.ActiveUsers.UpdateUserHBInRooms(managers.NewUserInfo(user, nil))
+ managers.ActiveUsers.UpdateUserHBInRooms(managers.NewUserInfo(user))
c.err = ErrRedirect
return true
diff --git a/pkg/web/handlers/chat.go b/pkg/web/handlers/chat.go
@@ -61,7 +61,7 @@ func chatHandler(c echo.Context, redRoom, stream bool) error {
data.Room = room
if authUser != nil {
- managers.ActiveUsers.UpdateUserInRoom(room, managers.NewUserInfo(*authUser, nil))
+ managers.ActiveUsers.UpdateUserInRoom(room, managers.NewUserInfo(*authUser))
// We display tutorial on official or public rooms
data.DisplayTutorial = (room.IsOfficialRoom() || (room.IsListed && !room.IsProtected())) && !authUser.TutorialCompleted()
diff --git a/pkg/web/handlers/handlers.go b/pkg/web/handlers/handlers.go
@@ -5110,7 +5110,7 @@ Loop:
authUserTmp, _ := db.GetUserByID(authUser.ID)
authUser = &authUserTmp
- managers.ActiveUsers.UpdateUserInRoom(room, managers.NewUserInfo(*authUser, nil))
+ managers.ActiveUsers.UpdateUserInRoom(room, managers.NewUserInfo(*authUser))
// Update read record
db.UpdateChatReadRecord(authUser.ID, room.ID)