From a685686b32fc55c45cb3311e2cc610034e51358d Mon Sep 17 00:00:00 2001 From: Grail Finder Date: Sun, 6 Jul 2025 09:32:51 +0300 Subject: [PATCH] Fix: load cards to remove old cards from db --- crons/main.go | 8 -------- handlers/actions.go | 23 +++-------------------- 2 files changed, 3 insertions(+), 28 deletions(-) diff --git a/crons/main.go b/crons/main.go index 89c4aaf..78d739e 100644 --- a/crons/main.go +++ b/crons/main.go @@ -46,7 +46,6 @@ func (cm *CronManager) CleanupRooms() { panic(r) } }() - rooms, err := cm.repo.RoomList(ctx) if err != nil { cm.log.Error("failed to get rooms list", "err", err) @@ -55,7 +54,6 @@ func (cm *CronManager) CleanupRooms() { } return } - for _, room := range rooms { players, err := cm.repo.PlayerListByRoom(ctx, room.ID) if err != nil { @@ -73,7 +71,6 @@ func (cm *CronManager) CleanupRooms() { } continue } - creatorInRoom := false for _, player := range players { if player.Username == room.CreatorName { @@ -81,7 +78,6 @@ func (cm *CronManager) CleanupRooms() { break } } - if !creatorInRoom { cm.log.Info("deleting room because creator left", "room_id", room.ID) for _, player := range players { @@ -103,7 +99,6 @@ func (cm *CronManager) CleanupRooms() { } } } - if err := tx.Commit(); err != nil { cm.log.Error("failed to commit transaction", "err", err) } @@ -123,7 +118,6 @@ func (cm *CronManager) CleanupActions() { panic(r) } }() - if err := cm.repo.ActionDeleteOrphaned(ctx); err != nil { cm.log.Error("failed to delete orphaned actions", "err", err) if err := tx.Rollback(); err != nil { @@ -131,7 +125,6 @@ func (cm *CronManager) CleanupActions() { } return } - if err := tx.Commit(); err != nil { cm.log.Error("failed to commit transaction for actions cleanup", "err", err) } @@ -183,4 +176,3 @@ func (cm *CronManager) CleanupInactiveRooms() { cm.log.Error("failed to commit transaction for inactive rooms cleanup", "err", err) } } - diff --git a/handlers/actions.go b/handlers/actions.go index 002dc91..592516b 100644 --- a/handlers/actions.go +++ b/handlers/actions.go @@ -174,26 +174,6 @@ func joinTeam(ctx context.Context, role, team string) (*models.FullInfo, error) return fi, nil } -// get all rooms -// func listRooms(allRooms bool) []*models.Room { -// cacheMap := memcache.GetAll() -// publicRooms := []*models.Room{} -// // no way to know if room is public until unmarshal -_-; -// for key, value := range cacheMap { -// if strings.HasPrefix(key, models.CacheRoomPrefix) { -// room := &models.Room{} -// if err := json.Unmarshal(value, &room); err != nil { -// log.Warn("failed to unmarshal room", "error", err) -// continue -// } -// if room.IsPublic || allRooms { -// publicRooms = append(publicRooms, room) -// } -// } -// } -// return publicRooms -// } - // get bots func listBots() []models.Player { bots, err := repo.PlayerList(context.Background(), true) @@ -214,6 +194,9 @@ func notify(event, msg string) { func loadCards(room *models.Room) { // remove old cards room.Cards = []models.WordCard{} + // try to delete old cards from db (in case players play another round) + // nolint: errcheck + repo.WordCardsDeleteByRoomID(context.Background(), room.ID) // store it somewhere wordMap := map[string]string{ "en": "assets/words/en_nouns.txt",