30 lines
693 B
C#
30 lines
693 B
C#
using Svrnty.CQRS.Abstractions;
|
|
|
|
namespace Svrnty.CQRS.Grpc.Sample;
|
|
|
|
public record User
|
|
{
|
|
public int Id { get; set; }
|
|
public string Name { get; set; } = string.Empty;
|
|
public string Email { get; set; } = string.Empty;
|
|
}
|
|
|
|
public record FetchUserQuery
|
|
{
|
|
public int UserId { get; set; }
|
|
}
|
|
|
|
public class FetchUserQueryHandler : IQueryHandler<FetchUserQuery, User>
|
|
{
|
|
public Task<User> HandleAsync(FetchUserQuery query, CancellationToken cancellationToken = default)
|
|
{
|
|
// Simulate fetching a user
|
|
return Task.FromResult(new User
|
|
{
|
|
Id = query.UserId,
|
|
Name = "John Doe",
|
|
Email = "john@example.com"
|
|
});
|
|
}
|
|
}
|