dkforest

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

commit 39f021ce0c0c90b8f77674f3b8577923c650138b
parent d95504f768aa194c4f096f1426a88ec460150afb
Author: n0tr1v <n0tr1v@protonmail.com>
Date:   Sat, 20 May 2023 06:29:41 -0700

optimize fn

Diffstat:
Mpkg/database/tableIgnoredUsers.go | 8++++++++
Mpkg/web/handlers/api/v1/handlers.go | 6+++---
2 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/pkg/database/tableIgnoredUsers.go b/pkg/database/tableIgnoredUsers.go @@ -19,6 +19,14 @@ func (d *DkfDB) GetIgnoredUsers(userID UserID) (out []IgnoredUser, err error) { return } +func (d *DkfDB) GetIgnoredUsersUsernames(userID UserID) (out []string, err error) { + d.db.Model(&IgnoredUser{}). + Joins("INNER JOIN users ON users.id = ignored_users.ignored_user_id"). + Where("ignored_users.user_id = ?", userID). + Pluck("users.username", &out) + return +} + // GetIgnoredByUsers get a list of people who ignore userID func (d *DkfDB) GetIgnoredByUsers(userID UserID) (out []IgnoredUser, err error) { err = d.db.Where("ignored_user_id = ?", userID).Find(&out).Error diff --git a/pkg/web/handlers/api/v1/handlers.go b/pkg/web/handlers/api/v1/handlers.go @@ -109,9 +109,9 @@ func chatMessages(c echo.Context) (status int, data chatMessagesData) { // Only fill the ignored set if the user does not display the ignored users ("Toggle ignored" chat setting) // and if the user has "Hide ignored users from users lists" enabled (user setting) if !authUser.DisplayIgnored && authUser.HideIgnoredUsersFromList { - ignoredUsers, _ := db.GetIgnoredUsers(authUser.ID) - for _, ignoredUser := range ignoredUsers { - ignoredSet.Insert(ignoredUser.IgnoredUser.Username) + ignoredUsersUsernames, _ := db.GetIgnoredUsersUsernames(authUser.ID) + for _, ignoredUserUsername := range ignoredUsersUsernames { + ignoredSet.Insert(ignoredUserUsername) } }