Add project files.

This commit is contained in:
2025-08-26 09:20:13 -04:00
parent 6c6a149821
commit d2201d6f9b
118 changed files with 1924 additions and 0 deletions

View File

@@ -0,0 +1,11 @@
namespace JSMR.Application.Circles.Queries.GetCreators;
public sealed record CircleCreatorItem(
string CreatorName,
DateTime? FirstCollaborationDate,
DateTime? LastCollaborationDate,
int Downloads,
int Count)
{
public readonly int AverageDownloads = Downloads / Count;
}

View File

@@ -0,0 +1,9 @@
namespace JSMR.Application.Circles.Queries.GetCreators;
public sealed class GetCircleCreatorsHandler(ICircleCreatorsProvider provider)
{
public Task<GetCircleCreatorsResponse> HandleAsync(GetCircleCreatorsRequest request, CancellationToken cancellationToken = default)
{
return provider.HandleAsync(request, cancellationToken);
}
}

View File

@@ -0,0 +1,3 @@
namespace JSMR.Application.Circles.Queries.GetCreators;
public sealed record GetCircleCreatorsRequest(int? CircleId, string? NameOrMakerId);

View File

@@ -0,0 +1,3 @@
namespace JSMR.Application.Circles.Queries.GetCreators;
public sealed record GetCircleCreatorsResponse(IReadOnlyList<CircleCreatorItem> Items);

View File

@@ -0,0 +1,6 @@
namespace JSMR.Application.Circles.Queries.GetCreators;
public interface ICircleCreatorsProvider
{
Task<GetCircleCreatorsResponse> HandleAsync(GetCircleCreatorsRequest request, CancellationToken cancellationToken = default);
}