Catalogger.NET/Catalogger.Backend/Services/InMemoryWebhookCache.cs

21 lines
586 B
C#
Raw Normal View History

2024-08-13 13:08:50 +02:00
using System.Collections.Concurrent;
namespace Catalogger.Backend.Services;
public class InMemoryWebhookCache : IWebhookCache
{
private readonly ConcurrentDictionary<ulong, Webhook> _cache = new();
public Task<Webhook?> GetWebhookAsync(ulong channelId)
{
return _cache.TryGetValue(channelId, out var webhook)
? Task.FromResult<Webhook?>(webhook)
: Task.FromResult<Webhook?>(null);
}
public Task SetWebhookAsync(ulong channelId, Webhook webhook)
{
_cache[channelId] = webhook;
return Task.CompletedTask;
}
}