From 9446671b186d5dce78735ce684f5b20e94bb67b5 Mon Sep 17 00:00:00 2001 From: ThatBen Date: Wed, 23 Apr 2025 09:07:19 +0200 Subject: [PATCH] Regenerates unique data for new checks --- .../BiblioTech/CodexChecking/CodexTwoWayChecker.cs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/Tools/BiblioTech/CodexChecking/CodexTwoWayChecker.cs b/Tools/BiblioTech/CodexChecking/CodexTwoWayChecker.cs index 83175803..ac83ccd9 100644 --- a/Tools/BiblioTech/CodexChecking/CodexTwoWayChecker.cs +++ b/Tools/BiblioTech/CodexChecking/CodexTwoWayChecker.cs @@ -37,7 +37,7 @@ namespace BiblioTech.CodexChecking public async Task StartDownloadCheck(ICheckResponseHandler handler, ulong userId) { var check = repo.GetOrCreate(userId).DownloadCheck; - if (string.IsNullOrEmpty(check.UniqueData)) + if (IsUniqueDataStale(check)) { check.UniqueData = GenerateUniqueData(); repo.SaveChanges(); @@ -69,7 +69,7 @@ namespace BiblioTech.CodexChecking public async Task StartUploadCheck(ICheckResponseHandler handler, ulong userId) { var check = repo.GetOrCreate(userId).UploadCheck; - if (string.IsNullOrEmpty(check.UniqueData)) + if (IsUniqueDataStale(check)) { check.UniqueData = GenerateUniqueData(); repo.SaveChanges(); @@ -111,6 +111,15 @@ namespace BiblioTech.CodexChecking return $"{RandomBusyMessage.Get().Substring(5)}{RandomUtils.GenerateRandomString(12)}"; } + private bool IsUniqueDataStale(TransferCheck check) + { + var expiry = DateTime.UtcNow - TimeSpan.FromMinutes(10.0); + + return + string.IsNullOrEmpty(check.UniqueData) || + check.CompletedUtc < expiry; + } + private string UploadData(string uniqueData) { var filePath = Path.Combine(config.ChecksDataPath, Guid.NewGuid().ToString());