commit 4f474f6308fb501de0d984978fe7ffabb14e3600
parent 9d8c7df587840ee91481a064fd5fe7fd31428985
Author: n0tr1v <n0tr1v@protonmail.com>
Date: Mon, 5 Jun 2023 22:05:57 -0700
cleanup
Diffstat:
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 {