Skip to content

Commit

Permalink
chore(conf): add ArenaReplay.DeleteSavedReplays
Browse files Browse the repository at this point in the history
  • Loading branch information
Helias committed Sep 4, 2024
1 parent 6e3640f commit 3172aff
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 1 deletion.
6 changes: 6 additions & 0 deletions conf/arena_replay.conf.dist
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,12 @@
# Description: delete replays after specific days
# Default: 30 - Enabled
# 0 - Disabled, don't delete
#
# ArenaReplay.DeleteSavedReplays
# Description: delete saved replays or keep them
# Default: 0 - Disabled
# 1 - Enabled

ArenaReplay.Enable = 1
ArenaReplay.DeleteReplaysAfterDays = 30
ArenaReplay.DeleteSavedReplays = 0
14 changes: 13 additions & 1 deletion src/ArenaReplay.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -687,8 +687,20 @@ class ConfigLoaderArenaReplay : public WorldScript
const auto days = sConfigMgr->GetOption<uint>("ArenaReplay.DeleteReplaysAfterDays", 0);
if (days > 0)
{
const auto query = "DELETE FROM `character_arena_replays` car WHERE car.timestamp < (NOW() - INTERVAL " + std::to_string(days) + " DAY);";
std::string addition = "";

const bool deleteReplays = sConfigMgr->GetOption<bool>("ArenaReplay.DeleteSavedReplays", false);

if (!deleteReplays) {
addition = "AND `id` NOT IN (SELECT `replay_id` FROM `character_saved_replays`)";
}

const auto query = "DELETE FROM `character_arena_replays` WHERE `timestamp` < (NOW() - INTERVAL " + std::to_string(days) + " DAY) " + addition;
CharacterDatabase.Execute(query);

if (deleteReplays) {
CharacterDatabase.Execute("DELETE FROM `character_saved_replays` WHERE `replay_id` NOT IN (SELECT `id` FROM `character_arena_replays`)");
}
}
}
};
Expand Down

0 comments on commit 3172aff

Please sign in to comment.