LANCommander/LANCommander.Server.Services/Extensions/CacheExtensions.cs

36 lines
1.1 KiB
C#
Raw Normal View History

using ZiggyCreatures.Caching.Fusion;
namespace LANCommander.Server.Services.Extensions;
public static class CacheExtensions
{
2025-02-23 08:49:43 -06:00
public static async Task ExpireGameCacheAsync(this IFusionCache cache)
{
await cache.RemoveByTagAsync(["Games", "Depot"]);
}
public static async Task ExpireGameCacheAsync(this IFusionCache cache, Guid? gameId)
{
if (gameId.HasValue)
await cache.RemoveByTagAsync([
$"Games/{gameId}",
"Games",
"Depot",
$"Games/{gameId}/Archives",
]);
2025-02-22 00:26:54 -06:00
else
await cache.RemoveByTagAsync(["Games", "Depot"]);
}
public static Task ExpireArchiveCacheAsync(this IFusionCache cache)
{
return ExpireArchiveCacheAsync(cache, archiveId: null);
}
public static async Task ExpireArchiveCacheAsync(this IFusionCache cache, Guid? archiveId)
{
if (archiveId.HasValue)
await cache.RemoveByTagAsync([$"Archives/{archiveId}"]);
else
await cache.RemoveByTagAsync(["Archives"]);
}
}