Handler.cs 494 B

12345678910111213141516
  1. using Application.Abstractions.Messaging;
  2. using Application.Abstractions.Cache;
  3. namespace Application.Features.Api.Crypto.Trade.GetLive;
  4. public sealed class Handler(ICacheService cache) : IQueryHandler<Query, Response>
  5. {
  6. public async Task<Response> Handle(Query request, CancellationToken ct)
  7. {
  8. var cacheKey = CacheKeys.CryptoTradeLive(request.Market);
  9. var cached = await cache.GetAsync<Response.TradeItem>(cacheKey, ct);
  10. return new Response(cached);
  11. }
  12. }