Added logging.
This commit is contained in:
@@ -1,30 +1,31 @@
|
||||
using JSMR.Application.Common.Caching;
|
||||
using JSMR.Application.VoiceWorks.Ports;
|
||||
using JSMR.Application.Common.Search;
|
||||
using JSMR.Application.Logging;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace JSMR.Application.VoiceWorks.Queries.Search;
|
||||
|
||||
// TODO: Caching?
|
||||
public sealed class SearchVoiceWorksHandler(IVoiceWorkSearchProvider provider)
|
||||
public sealed class SearchVoiceWorksHandler(IVoiceWorkSearchProvider provider, ILogger<SearchVoiceWorksHandler> logger)
|
||||
{
|
||||
public async Task<SearchVoiceWorksResponse> HandleAsync(SearchVoiceWorksRequest request, CancellationToken cancellationToken)
|
||||
{
|
||||
var searchOptions = request.Options;
|
||||
|
||||
//string cacheKey = $"vw:{searchOptions.GetHashCode()}";
|
||||
Stopwatch stopWatch = Stopwatch.StartNew();
|
||||
SearchResult<VoiceWorkSearchResult> results = await provider.SearchAsync(searchOptions, cancellationToken);
|
||||
long elapsedMilliseconds = stopWatch.ElapsedMilliseconds;
|
||||
|
||||
//VoiceWorkSearchResults? cachedResults = await cache.GetAsync<VoiceWorkSearchResults>(cacheKey, cancellationToken);
|
||||
|
||||
//if (cachedResults != null)
|
||||
// return new SearchVoiceWorksResponse(cachedResults);
|
||||
|
||||
var results = await provider.SearchAsync(searchOptions, cancellationToken);
|
||||
|
||||
//CacheEntryOptions cacheEntryOptions = new()
|
||||
//{
|
||||
// SlidingExpiration = TimeSpan.FromMinutes(10)
|
||||
//};
|
||||
|
||||
//await cache.SetAsync(cacheKey, results, cacheEntryOptions, cancellationToken);
|
||||
LogEvents.SearchCompleted(
|
||||
logger,
|
||||
Elapsed: elapsedMilliseconds,
|
||||
Items: results.Items.Length,
|
||||
Total: results.TotalItems,
|
||||
Page: searchOptions.PageNumber,
|
||||
Size: searchOptions.PageSize,
|
||||
Sort: searchOptions.SortOptions.ToLogObject(),
|
||||
Criteria: searchOptions.Criteria.ToLogObject()
|
||||
);
|
||||
|
||||
return new SearchVoiceWorksResponse(results);
|
||||
}
|
||||
|
||||
@@ -16,8 +16,8 @@ public class VoiceWorkSearchCriteria
|
||||
public int[] CreatorIds { get; init; } = [];
|
||||
public bool IncludeAllCreators { get; init; }
|
||||
public Locale Locale { get; init; } = Locale.Japanese;
|
||||
public DateTime? ReleaseDateStart { get; init; }
|
||||
public DateTime? ReleaseDateEnd { get; init; }
|
||||
public DateOnly? ReleaseDateStart { get; init; }
|
||||
public DateOnly? ReleaseDateEnd { get; init; }
|
||||
public AgeRating[] AgeRatings { get; init; } = [];
|
||||
public Language[] SupportedLanguages { get; init; } = [];
|
||||
public AIGeneration[] AIGenerationOptions { get; init; } = [];
|
||||
|
||||
Reference in New Issue
Block a user