dkforest

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

commit 122c876d8face92a2ebcbda005ecb249dbf065b3
parent 4f694f191e5834e91b8d1e26f932f302f7165702
Author: n0tr1v <n0tr1v@protonmail.com>
Date:   Thu, 25 May 2023 23:36:37 -0700

simplify code

Diffstat:
Mpkg/database/tableUsers.go | 8++++++--
Mpkg/web/handlers/api/v1/handlers.go | 2+-
Mpkg/web/handlers/api/v1/slashInterceptor.go | 10+++++-----
Mpkg/web/handlers/api/v1/snippetInterceptor.go | 2+-
Mpkg/web/handlers/api/v1/topBarHandler.go | 2+-
Mpkg/web/handlers/api/v1/werewolf.go | 8++++----
Mpkg/web/handlers/handlers.go | 4++--
7 files changed, 20 insertions(+), 16 deletions(-)

diff --git a/pkg/database/tableUsers.go b/pkg/database/tableUsers.go @@ -15,12 +15,16 @@ import ( type UserID int64 -type Username string - func (u UserID) String() string { return utils.FormatInt64(int64(u)) } +type Username string + +func (u Username) AtStr() string { + return "@" + string(u) +} + // User struct an internal representation of a user for our app type User struct { ID UserID diff --git a/pkg/web/handlers/api/v1/handlers.go b/pkg/web/handlers/api/v1/handlers.go @@ -325,7 +325,7 @@ func shouldPlaySound(authUser *database.User, lastKnownDate string, msgs []datab if createdAtTrunc.After(lastKnownDateTrunc) { if msg.User.ID != authUser.ID { newMessageSound = true - if strings.Contains(msg.Message, "@"+string(authUser.Username)) { + if strings.Contains(msg.Message, authUser.Username.AtStr()) { taggedSound = true } if msg.ToUserID != nil && *msg.ToUserID == authUser.ID { diff --git a/pkg/web/handlers/api/v1/slashInterceptor.go b/pkg/web/handlers/api/v1/slashInterceptor.go @@ -174,7 +174,7 @@ func handleListModeratorsCmd(c *Command) (handled bool) { if len(mods) > 0 { c.message += "\n" for _, mod := range mods { - c.message += "@" + string(mod.Username) + "\n" + c.message += mod.Username.AtStr() + "\n" } } else { c.message += "no moderators" @@ -601,7 +601,7 @@ func handleGroupUsersCmd(c *Command) (handled bool) { if len(users) > 0 { c.message += "\n" for _, user := range users { - c.message += "@" + string(user.User.Username) + "\n" + c.message += user.User.Username.AtStr() + "\n" } } else { c.message += "no user in th group: " + groupName @@ -753,7 +753,7 @@ func handleWhitelistCmd(c *Command) (handled bool) { if len(whitelistedUsers) > 0 { usernames := make([]string, 0) for _, whitelistedUser := range whitelistedUsers { - usernames = append(usernames, "@"+string(whitelistedUser.User.Username)) + usernames = append(usernames, whitelistedUser.User.Username.AtStr()) } sort.Slice(usernames, func(i, j int) bool { return usernames[i] < usernames[j] }) c.message = "whitelisted users: " + strings.Join(usernames, ", ") @@ -1108,7 +1108,7 @@ func handleListIgnoredCmd(c *Command) (handled bool) { if len(ignoredUsers) > 0 { c.message += "\n" for _, ignoredUser := range ignoredUsers { - c.message += "@" + string(ignoredUser.IgnoredUser.Username) + "\n" + c.message += ignoredUser.IgnoredUser.Username.AtStr() + "\n" } } else { c.message += "no ignored users" @@ -1129,7 +1129,7 @@ func handleListPmWhitelistCmd(c *Command) (handled bool) { if len(pmWhitelistUsers) > 0 { c.message += "\n" for _, ignoredUser := range pmWhitelistUsers { - c.message += "@" + string(ignoredUser.WhitelistedUser.Username) + "\n" + c.message += ignoredUser.WhitelistedUser.Username.AtStr() + "\n" } } else { c.message += "no PM whitelisted users" diff --git a/pkg/web/handlers/api/v1/snippetInterceptor.go b/pkg/web/handlers/api/v1/snippetInterceptor.go @@ -48,7 +48,7 @@ func autocompleteTags(html string) string { for _, au := range activeUsers { l := strings.ToLower(string(au.Username)) if strings.HasPrefix(l, s1) { - return "@" + string(au.Username) + return au.Username.AtStr() } } return s diff --git a/pkg/web/handlers/api/v1/topBarHandler.go b/pkg/web/handlers/api/v1/topBarHandler.go @@ -601,7 +601,7 @@ func colorifyTaggedUsers(html string, getUsersByUsername getUsersByUsernameFn) ( taggedUsersMap := make(map[string]database.User) taggedUsersIDsMap := make(map[database.UserID]database.User) for _, taggedUser := range taggedUsers { - taggedUsersMap["@"+strings.ToLower(string(taggedUser.Username))] = taggedUser + taggedUsersMap[strings.ToLower(taggedUser.Username.AtStr())] = taggedUser if taggedUser.Username != config.NullUsername { taggedUsersIDsMap[taggedUser.ID] = taggedUser } diff --git a/pkg/web/handlers/api/v1/werewolf.go b/pkg/web/handlers/api/v1/werewolf.go @@ -92,13 +92,13 @@ func (b *Werewolf) InterceptPreGameMsg(cmd *Command) { } b.players[cmd.authUser.Username] = player b.playersAlive[cmd.authUser.Username] = player - b.Narrate("@"+string(cmd.authUser.Username)+" joined the Game", nil, nil) + b.Narrate(cmd.authUser.Username.AtStr()+" joined the Game", nil, nil) cmd.err = ErrRedirect return } else if cmd.message == "/spectate" { b.spectatorSet.Insert(cmd.authUser.ID) - b.Narrate("@"+string(cmd.authUser.Username)+" spectate the Game", nil, nil) + b.Narrate(cmd.authUser.Username.AtStr()+" spectate the Game", nil, nil) cmd.err = ErrRedirect return @@ -341,7 +341,7 @@ func (b *Werewolf) NarrateRaw(msg string, toUserID *database.UserID, groupID *da func (b *Werewolf) displayRoles() { msg := "Roles were:\n" for _, player := range b.players { - msg += "@" + string(player.Username) + " : " + player.Role + "\n" + msg += player.Username.AtStr() + " : " + player.Role + "\n" } b.Narrate(msg, nil, nil) } @@ -472,7 +472,7 @@ func (b *Werewolf) StartGame(db *database.DkfDB) { func (b *Werewolf) alivePlayersStr() (out string) { arr := make([]string, 0) for _, player := range b.playersAlive { - arr = append(arr, "@"+string(player.Username)) + arr = append(arr, player.Username.AtStr()) } sort.Slice(arr, func(i, j int) bool { return arr[i] < arr[j] }) return strings.Join(arr, ", ") diff --git a/pkg/web/handlers/handlers.go b/pkg/web/handlers/handlers.go @@ -5012,7 +5012,7 @@ func applyUserFilters(db *database.DkfDB, authUser *database.User, msg *database } } - if mentionsOnlyQuery && !strings.Contains(msg.Message, "@"+string(authUser.Username)) { + if mentionsOnlyQuery && !strings.Contains(msg.Message, authUser.Username.AtStr()) { return false } return true @@ -5188,7 +5188,7 @@ Loop: var newMessageSound, taggedSound, pmSound bool if msg.User.ID != authUser.ID { newMessageSound = true - if strings.Contains(renderedMsg, "@"+string(authUser.Username)) { + if strings.Contains(renderedMsg, authUser.Username.AtStr()) { taggedSound = true } if msg.ToUserID != nil && msg.ToUser.ID == authUser.ID {