dkforest

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

commit b5a9d141a1dd0432695e93645a1d27033d8fe18c
parent a8c95cae5fde8672e1bfc521f9ce19df878cc5b8
Author: n0tr1v <n0tr1v@protonmail.com>
Date:   Thu, 25 May 2023 21:40:26 -0700

improve perf

Diffstat:
Mpkg/database/utils/utils.go | 2+-
Mpkg/managers/managers.go | 6+++---
Mpkg/web/handlers/admin.go | 2+-
Mpkg/web/handlers/api/v1/handlers.go | 8++++----
Mpkg/web/handlers/api/v1/msgInterceptor.go | 2+-
Mpkg/web/handlers/api/v1/slashInterceptor.go | 4++--
Mpkg/web/handlers/chat.go | 2+-
Mpkg/web/handlers/handlers.go | 2+-
8 files changed, 14 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)) + 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,11 +46,11 @@ func newUserInfo(user database.User, lastActivity *time.Time) UserInfo { } } -func NewUserInfo(user database.User) UserInfo { +func NewUserInfo(user *database.User) UserInfo { return newUserInfo(user, nil) } -func NewUserInfoUpdateActivity(user database.User) UserInfo { +func NewUserInfoUpdateActivity(user *database.User) UserInfo { now := time.Now() return newUserInfo(user, &now) } 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)) + 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)) + 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)) + 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)) + 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)) + 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 @@ -185,5 +185,5 @@ func updateUserActivity(isPM, modMsg bool, room database.ChatRoom, authUser *dat if isPM || modMsg { return } - managers.ActiveUsers.UpdateUserInRoom(room, managers.NewUserInfoUpdateActivity(*authUser)) + 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)) + 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)) + 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)) + 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)) + managers.ActiveUsers.UpdateUserInRoom(room, managers.NewUserInfo(authUser)) // Update read record db.UpdateChatReadRecord(authUser.ID, room.ID)