From cf71bcbbc084f88372a59e41c880b56881199794 Mon Sep 17 00:00:00 2001 From: henry Date: Tue, 13 May 2025 00:47:07 -0400 Subject: [PATCH] Fix #1 and added some comments for readability --- AccessQueueService/Data/TakeANumberAccessQueueRepo.cs | 4 ++++ AccessQueueService/Services/AccessService.cs | 3 +++ 2 files changed, 7 insertions(+) diff --git a/AccessQueueService/Data/TakeANumberAccessQueueRepo.cs b/AccessQueueService/Data/TakeANumberAccessQueueRepo.cs index 79bee13..28c2a0e 100644 --- a/AccessQueueService/Data/TakeANumberAccessQueueRepo.cs +++ b/AccessQueueService/Data/TakeANumberAccessQueueRepo.cs @@ -57,6 +57,10 @@ namespace AccessQueueService.Data var activeCutoff = now.AddSeconds(-activeSeconds); var numberOfActiveUsers = _accessTickets.Count(t => t.Value.ExpiresOn > now && t.Value.LastActive > activeCutoff); var openSpots = capacityLimit - numberOfActiveUsers; + if(openSpots <= 0) + { + return true; + } int filledSpots = 0; while (filledSpots < openSpots && _nowServing < _nextUnusedTicket) { diff --git a/AccessQueueService/Services/AccessService.cs b/AccessQueueService/Services/AccessService.cs index 7b5b4e8..7b23055 100644 --- a/AccessQueueService/Services/AccessService.cs +++ b/AccessQueueService/Services/AccessService.cs @@ -36,6 +36,7 @@ namespace AccessQueueService.Services var existingTicket = _accessQueueRepo.GetTicket(userId); if (existingTicket != null && existingTicket.ExpiresOn > DateTime.UtcNow) { + // Already has access var expiresOn = existingTicket.ExpiresOn; if (ROLLING_EXPIRATION) { @@ -54,6 +55,7 @@ namespace AccessQueueService.Services } if (hasCapacity) { + // Doesn't have access, but there's space available var accessTicket = new AccessTicket { UserId = userId, @@ -68,6 +70,7 @@ namespace AccessQueueService.Services } else { + // No access and no space, add to queue var requestsAhead = _accessQueueRepo.GetRequestsAhead(userId); if (requestsAhead == -1) {