commit 87d4b13b28dd8ef61a16ae8ef7f6733414904ed8
parent 35435eb9b64511d3f9384e0b9031371c753a9e63
Author: n0tr1v <n0tr1v@protonmail.com>
Date: Sun, 15 Jan 2023 20:51:42 -0800
cleanup
Diffstat:
5 files changed, 23 insertions(+), 14 deletions(-)
diff --git a/pkg/database/tableChatRooms.go b/pkg/database/tableChatRooms.go
@@ -128,6 +128,12 @@ func GetChatRoomByName(roomName string) (out ChatRoom, err error) {
return
}
+func DeleteChatRoomByID(id RoomID) {
+ if err := DB.Unscoped().Delete(ChatRoom{}, "id = ?", id).Error; err != nil {
+ logrus.Error(err)
+ }
+}
+
type ChatRoomAug struct {
ChatRoom
OwnerUser *User `gorm:"embedded"` // https://gorm.io/docs/models.html#Embedded-Struct
diff --git a/pkg/database/utils/utils.go b/pkg/database/utils/utils.go
@@ -70,6 +70,19 @@ func DoParseUserID(v string) (out database.UserID) {
return
}
+func ParseRoomID(v string) (database.RoomID, error) {
+ p, err := utils.ParseInt64(v)
+ if err != nil {
+ return 0, err
+ }
+ return database.RoomID(p), nil
+}
+
+func DoParseRoomID(v string) (out database.RoomID) {
+ out, _ = ParseRoomID(v)
+ return
+}
+
func Kick(kicked, kickedBy database.User, purge, silent bool) error {
if kicked.IsHellbanned {
silent = true
diff --git a/pkg/web/handlers/admin.go b/pkg/web/handlers/admin.go
@@ -431,14 +431,8 @@ func IgnoredDeleteHandler(c echo.Context) error {
// AdminDeleteRoomHandler ...
func AdminDeleteRoomHandler(c echo.Context) error {
- id, err := strconv.Atoi(c.Param("roomID"))
- if err != nil {
- return c.Render(http.StatusOK, "flash",
- FlashResponse{"room id not found", c.Request().Referer(), "alert-danger"})
- }
- if err := database.DB.Unscoped().Delete(database.ChatRoom{}, "id = ?", id).Error; err != nil {
- logrus.Error(err)
- }
+ id := dutils.DoParseRoomID(c.Param("roomID"))
+ database.DeleteChatRoomByID(id)
return c.Redirect(http.StatusFound, c.Request().Referer())
}
diff --git a/pkg/web/handlers/api/v1/handlers.go b/pkg/web/handlers/api/v1/handlers.go
@@ -177,7 +177,7 @@ func ChatMessagesHandler(c echo.Context) error {
func RoomNotifierHandler(c echo.Context) error {
authUser := c.Get("authUser").(*database.User)
- roomID := database.RoomID(utils.DoParseInt64(c.Param("roomID")))
+ roomID := dutils.DoParseRoomID(c.Param("roomID"))
lastKnownDate := c.Request().PostFormValue("last_known_date")
room, err := database.GetChatRoomByID(roomID)
diff --git a/pkg/web/handlers/handlers.go b/pkg/web/handlers/handlers.go
@@ -3081,11 +3081,7 @@ func ChatDeleteHandler(c echo.Context) error {
if room.IsProtected() {
hutils.DeleteRoomCookie(c, int64(room.ID))
}
- room.Name = room.Name + "_" + utils.FormatInt64(time.Now().Unix())
- room.DoSave()
- if err := database.DB.Delete(&room).Error; err != nil {
- logrus.Error(err)
- }
+ database.DeleteChatRoomByID(room.ID)
return c.Redirect(http.StatusFound, "/chat")
}