dkforest

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

commit 4f474f6308fb501de0d984978fe7ffabb14e3600
parent 9d8c7df587840ee91481a064fd5fe7fd31428985
Author: n0tr1v <n0tr1v@protonmail.com>
Date:   Mon,  5 Jun 2023 22:05:57 -0700

cleanup

Diffstat:
Mpkg/web/handlers/api/v1/slashInterceptor.go | 92+++++++++++++++++++++++++++++++++++++++++++++----------------------------------
Mpkg/web/handlers/api/v1/topBarHandler.go | 6------
2 files changed, 53 insertions(+), 45 deletions(-)

diff --git a/pkg/web/handlers/api/v1/slashInterceptor.go b/pkg/web/handlers/api/v1/slashInterceptor.go @@ -600,16 +600,17 @@ func handleGroupUsersCmd(c *Command) (handled bool) { sort.Slice(users, func(i, j int) bool { return users[i].User.Username < users[j].User.Username }) - c.message = "" + msg := "" if len(users) > 0 { - c.message += "\n" + msg += "\n" for _, user := range users { - c.message += user.User.Username.AtStr() + "\n" + msg += user.User.Username.AtStr() + "\n" } } else { - c.message += "no user in th group: " + groupName + msg += "no user in th group: " + groupName } - c.receivePM() + c.zeroProcMsg(msg) + c.err = ErrRedirect return true } return false @@ -622,16 +623,17 @@ func handleListGroupsCmd(c *Command) (handled bool) { c.err = err return true } - c.message = "" + msg := "" if len(groups) > 0 { - c.message += "\n" + msg += "\n" for _, group := range groups { - c.message += group.Name + " (" + group.Color + ")\n" + msg += group.Name + " (" + group.Color + ")\n" } } else { - c.message += "no groups" + msg += "no groups" } - c.receivePM() + c.zeroProcMsg(msg) + c.err = ErrRedirect return true } return false @@ -695,8 +697,9 @@ func handleSetModeWhitelistCmd(c *Command) (handled bool) { if c.message == "/mode user-whitelist" { c.room.Mode = database.UserWhitelistRoomMode c.room.DoSave(c.db) - c.message = `room mode set to "user whitelist"` - c.receivePM() + msg := `room mode set to "user whitelist"` + c.zeroProcMsg(msg) + c.err = ErrRedirect return true } return false @@ -706,8 +709,9 @@ func handleSetModeStandardCmd(c *Command) (handled bool) { if c.message == "/mode standard" { c.room.Mode = database.NormalRoomMode c.room.DoSave(c.db) - c.message = `room mode set to "standard"` - c.receivePM() + msg := `room mode set to "standard"` + c.zeroProcMsg(msg) + c.err = ErrRedirect return true } return false @@ -717,20 +721,22 @@ func handleGetRoomWhitelistCmd(c *Command) (handled bool) { if m := whitelistUserRgx.FindStringSubmatch(c.message); len(m) == 2 { username := database.Username(m[1]) user, err := c.db.GetUserByUsername(username) + var msg string if err != nil { - c.message = fmt.Sprintf(`username "%s" not found`, username) + msg = fmt.Sprintf(`username "%s" not found`, username) } else { if _, err := c.db.WhitelistUser(c.room.ID, user.ID); err != nil { if err := c.db.DeWhitelistUser(c.room.ID, user.ID); err != nil { - c.message = fmt.Sprintf("failed to toggle @%s in whitelist", user.Username) + msg = fmt.Sprintf("failed to toggle @%s in whitelist", user.Username) } else { - c.message = fmt.Sprintf("@%s removed from whitelist", user.Username) + msg = fmt.Sprintf("@%s removed from whitelist", user.Username) } } else { - c.message = fmt.Sprintf("@%s added to whitelist", user.Username) + msg = fmt.Sprintf("@%s added to whitelist", user.Username) } } - c.receivePM() + c.zeroProcMsg(msg) + c.err = ErrRedirect return true } return false @@ -767,17 +773,19 @@ func handleAddGroupCmd(c *Command) (handled bool) { func handleWhitelistCmd(c *Command) (handled bool) { if c.message == "/whitelist" || c.message == "/wl" { whitelistedUsers, _ := c.db.GetWhitelistedUsers(c.room.ID) + var msg string if len(whitelistedUsers) > 0 { usernames := make([]string, 0) for _, whitelistedUser := range whitelistedUsers { 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, ", ") + msg = "whitelisted users: " + strings.Join(usernames, ", ") } else { - c.message = "no whitelisted user" + msg = "no whitelisted user" } - c.receivePM() + c.zeroProcMsg(msg) + c.err = ErrRedirect return true } return false @@ -785,12 +793,14 @@ func handleWhitelistCmd(c *Command) (handled bool) { func handleGetModeCmd(c *Command) (handled bool) { if c.message == "/mode" { + var msg string if c.room.Mode == database.NormalRoomMode { - c.message = `room is in "standard" mode` + msg = `room is in "standard" mode` } else if c.room.Mode == database.UserWhitelistRoomMode { - c.message = `room is in "user whitelist" mode` + msg = `room is in "user whitelist" mode` } - c.receivePM() + c.zeroProcMsg(msg) + c.err = ErrRedirect return true } return false @@ -1121,16 +1131,17 @@ func handleListIgnoredCmd(c *Command) (handled bool) { sort.Slice(ignoredUsers, func(i, j int) bool { return ignoredUsers[i].IgnoredUser.Username < ignoredUsers[j].IgnoredUser.Username }) - c.message = "" + msg := "" if len(ignoredUsers) > 0 { - c.message += "\n" + msg += "\n" for _, ignoredUser := range ignoredUsers { - c.message += ignoredUser.IgnoredUser.Username.AtStr() + "\n" + msg += ignoredUser.IgnoredUser.Username.AtStr() + "\n" } } else { - c.message += "no ignored users" + msg += "no ignored users" } - c.receivePM() + c.zeroProcMsg(msg) + c.err = ErrRedirect return true } return false @@ -1142,16 +1153,17 @@ func handleListPmWhitelistCmd(c *Command) (handled bool) { sort.Slice(pmWhitelistUsers, func(i, j int) bool { return pmWhitelistUsers[i].WhitelistedUser.Username < pmWhitelistUsers[j].WhitelistedUser.Username }) - c.message = "" + msg := "" if len(pmWhitelistUsers) > 0 { - c.message += "\n" + msg += "\n" for _, ignoredUser := range pmWhitelistUsers { - c.message += ignoredUser.WhitelistedUser.Username.AtStr() + "\n" + msg += ignoredUser.WhitelistedUser.Username.AtStr() + "\n" } } else { - c.message += "no PM whitelisted users" + msg += "no PM whitelisted users" } - c.receivePM() + c.zeroProcMsg(msg) + c.err = ErrRedirect return true } return false @@ -1161,8 +1173,9 @@ func handleSetPmModeWhitelistCmd(c *Command) (handled bool) { if c.message == "/setpmmode whitelist" { c.authUser.PmMode = database.PmModeWhitelist c.authUser.DoSave(c.db) - c.message = `pm mode set to "whitelist"` - c.receivePM() + msg := `pm mode set to "whitelist"` + c.zeroProcMsg(msg) + c.err = ErrRedirect return true } return false @@ -1172,8 +1185,9 @@ func handleSetPmModeStandardCmd(c *Command) (handled bool) { if c.message == "/setpmmode standard" { c.authUser.PmMode = database.PmModeStandard c.authUser.DoSave(c.db) - c.message = `pm mode set to "standard"` - c.receivePM() + msg := `pm mode set to "standard"` + c.zeroProcMsg(msg) + c.err = ErrRedirect return true } return false diff --git a/pkg/web/handlers/api/v1/topBarHandler.go b/pkg/web/handlers/api/v1/topBarHandler.go @@ -423,12 +423,6 @@ func (c *Command) redirectURL() string { return fmt.Sprintf("/api/v1/chat/top-bar/%s?%s", c.room.Name, c.redirectQP.Encode()) } -func (c *Command) receivePM() { - zeroUser := c.getZeroUser() - c.toUser = c.authUser - c.fromUserID = zeroUser.ID -} - // Lazy loading and cache of the zero user func (c *Command) getZeroUser() database.User { if c.zeroUser == nil {