dkforest

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

commit 45eac0f94a6a0f18efc5fc1b91305f6e37f98feb
parent 07aaebf854fb77a468a281eef833dd60f7f137b3
Author: n0tr1v <n0tr1v@protonmail.com>
Date:   Wed, 18 Jan 2023 18:00:21 -0800

simplify code

Diffstat:
Mpkg/web/handlers/api/v1/topBarHandler.go | 77++++++++++++++++++++++++++++++++++++++++++-----------------------------------
1 file changed, 42 insertions(+), 35 deletions(-)

diff --git a/pkg/web/handlers/api/v1/topBarHandler.go b/pkg/web/handlers/api/v1/topBarHandler.go @@ -101,6 +101,45 @@ const ( redirectMultilineQP = "ml" ) +func getDataMessagePrefix(c echo.Context, roomKey string, room database.ChatRoom, authUser *database.User) (out string, err error) { + pm := c.QueryParam(redirectPmQP) + edit := c.QueryParam(redirectEditQP) + group := c.QueryParam(redirectGroupQP) + mod := c.QueryParam(redirectModQP) + hbm := c.QueryParam(redirectHbmQP) + tag := c.QueryParam(redirectTagQP) + htag := c.QueryParam(redirectHTagQP) + mtag := c.QueryParam(redirectMTagQP) + quote := c.QueryParam(redirectQuoteQP) + + if pm != "" { + out = "/pm " + pm + " " + } else if hbm != "" { + out = "/hbm " + } else if mod != "" { + out = "/m " + } else if group != "" { + out = "/g " + group + " " + } else if tag != "" { + out = "@" + tag + " " + } else if htag != "" { + out = "/hbm @" + htag + " " + } else if mtag != "" { + out = "/m @" + mtag + " " + } else if edit != "" { + out, err = handleGetEdit(edit, roomKey, room, authUser) + if err != nil { + return + } + } else if quote != "" { + out, err = handleGetQuote(quote, roomKey, room, authUser) + if err != nil { + return + } + } + return +} + func buildCommandsList(authUser *database.User, room database.ChatRoom) (commandsList []string) { if !authUser.AutocompleteCommandsEnabled { return @@ -178,15 +217,6 @@ func ChatTopBarHandler(c echo.Context) error { } else if data.RoomName == "chess" { data.RoomName = "general" } - pm := c.QueryParam(redirectPmQP) - edit := c.QueryParam(redirectEditQP) - group := c.QueryParam(redirectGroupQP) - mod := c.QueryParam(redirectModQP) - hbm := c.QueryParam(redirectHbmQP) - tag := c.QueryParam(redirectTagQP) - htag := c.QueryParam(redirectHTagQP) - mtag := c.QueryParam(redirectMTagQP) - quote := c.QueryParam(redirectQuoteQP) queryParams := c.QueryParams() origMl := utils.DoParseBool(c.QueryParam(redirectMultilineQP)) @@ -226,32 +256,9 @@ func ChatTopBarHandler(c echo.Context) error { roomKey = key.Value } - baseRedirectURL := "/api/v1/chat/top-bar/" + room.Name - - if pm != "" { - data.Message = "/pm " + pm + " " - } else if hbm != "" { - data.Message = "/hbm " - } else if mod != "" { - data.Message = "/m " - } else if group != "" { - data.Message = "/g " + group + " " - } else if tag != "" { - data.Message = "@" + tag + " " - } else if htag != "" { - data.Message = "/hbm @" + htag + " " - } else if mtag != "" { - data.Message = "/m @" + mtag + " " - } else if edit != "" { - data.Message, err = handleGetEdit(edit, roomKey, room, authUser) - if err != nil { - return c.Redirect(http.StatusFound, baseRedirectURL) - } - } else if quote != "" { - data.Message, err = handleGetQuote(quote, roomKey, room, authUser) - if err != nil { - return c.Redirect(http.StatusFound, baseRedirectURL) - } + data.Message, err = getDataMessagePrefix(c, roomKey, room, authUser) + if err != nil { + return c.Redirect(http.StatusFound, "/api/v1/chat/top-bar/"+room.Name) } data.CommandsList = buildCommandsList(authUser, room)