22 lines
788 B
C#
22 lines
788 B
C#
using System.Runtime.Serialization;
|
|
using AccessQueueService.Models;
|
|
using Microsoft.Extensions.Configuration;
|
|
|
|
namespace AccessQueueService.Data
|
|
{
|
|
public interface IAccessQueueRepo
|
|
{
|
|
public string ToState();
|
|
public int GetUnexpiredTicketsCount();
|
|
public int GetActiveTicketsCount(DateTime activeCutoff);
|
|
public int GetQueueCount();
|
|
public AccessTicket? GetTicket(string userId);
|
|
public void UpsertTicket(AccessTicket ticket);
|
|
public int GetRequestsAhead(string userId);
|
|
public void Enqueue(AccessTicket ticket);
|
|
public int DeleteExpiredTickets();
|
|
public bool RemoveUser(string userId);
|
|
public bool DidDequeueUntilFull(int activeSeconds, int expirationSeconds, int capacityLimit);
|
|
}
|
|
}
|