Files
tiku-backend.net/Tiku.Application/Security/IRedisSecurityStore.cs
xiong c497a3ca8d
Some checks failed
ci / release-gate (push) Has been cancelled
清理代码
2026-08-03 12:31:39 +08:00

16 lines
545 B
C#

namespace Tiku.Application.Security;
public sealed record DistributedRateLimitBucket(string Key, int PermitLimit, TimeSpan Window);
public sealed record DistributedRateLimitResult(bool Allowed, TimeSpan? RetryAfter = null);
public interface IRedisSecurityStore
{
bool IsConfigured { get; }
Task<DistributedRateLimitResult> ConsumeAsync(
IReadOnlyCollection<DistributedRateLimitBucket> buckets,
CancellationToken cancellationToken = default);
Task<bool> PingAsync(CancellationToken cancellationToken = default);
}