commit 39f021ce0c0c90b8f77674f3b8577923c650138b
parent d95504f768aa194c4f096f1426a88ec460150afb
Author: n0tr1v <n0tr1v@protonmail.com>
Date: Sat, 20 May 2023 06:29:41 -0700
optimize fn
Diffstat:
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)
}
}