Adding Flags API

This commit is contained in:
2026-04-07 15:30:40 -07:00
parent 7b15086fe5
commit 0ba076b650
78 changed files with 3862 additions and 81 deletions

View File

@@ -0,0 +1,22 @@
using Microsoft.Extensions.Caching.Memory;
namespace MicCheck.Api.Features;
public class FlagCache(IMemoryCache cache)
{
private static readonly TimeSpan CacheDuration = TimeSpan.FromSeconds(60);
public IReadOnlyList<FeatureStateResult>? Get(int environmentId)
{
cache.TryGetValue(CacheKey(environmentId), out IReadOnlyList<FeatureStateResult>? flags);
return flags;
}
public void Set(int environmentId, IReadOnlyList<FeatureStateResult> flags)
=> cache.Set(CacheKey(environmentId), flags, CacheDuration);
public void Invalidate(int environmentId)
=> cache.Remove(CacheKey(environmentId));
private static string CacheKey(int environmentId) => $"flags:{environmentId}";
}