Add project files.
This commit is contained in:
@@ -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;
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
namespace JSMR.Application.Circles.Queries.GetCreators;
|
||||
|
||||
public sealed record GetCircleCreatorsRequest(int? CircleId, string? NameOrMakerId);
|
||||
@@ -0,0 +1,3 @@
|
||||
namespace JSMR.Application.Circles.Queries.GetCreators;
|
||||
|
||||
public sealed record GetCircleCreatorsResponse(IReadOnlyList<CircleCreatorItem> Items);
|
||||
@@ -0,0 +1,6 @@
|
||||
namespace JSMR.Application.Circles.Queries.GetCreators;
|
||||
|
||||
public interface ICircleCreatorsProvider
|
||||
{
|
||||
Task<GetCircleCreatorsResponse> HandleAsync(GetCircleCreatorsRequest request, CancellationToken cancellationToken = default);
|
||||
}
|
||||
Reference in New Issue
Block a user