From 14f5c73d43b6c981b6e17cd74b93a92de4335dc6 Mon Sep 17 00:00:00 2001 From: TekH Date: Thu, 24 Jul 2025 11:40:20 +0200 Subject: [PATCH] feat(profile): implement ReadProfile query with MediatR Added ReadProfile query and its handler using MediatR pattern to retrieve user profile by user ID via IProfileRepository. --- .../Profile/ReadProfile.cs | 22 +++++++++++++++++++ .../WorkFlow.Application.csproj | 1 + 2 files changed, 23 insertions(+) create mode 100644 src/WorkFlow.Application/Profile/ReadProfile.cs diff --git a/src/WorkFlow.Application/Profile/ReadProfile.cs b/src/WorkFlow.Application/Profile/ReadProfile.cs new file mode 100644 index 0000000..d142cdc --- /dev/null +++ b/src/WorkFlow.Application/Profile/ReadProfile.cs @@ -0,0 +1,22 @@ +using MediatR; +using WorkFlow.Application.Contracts.Repositories; + +namespace WorkFlow.Application.Profile; + +public record ReadProfile(int UserId) : IRequest; + +public class ReadProfileHandler : IRequestHandler +{ + private readonly IProfileRepository _repository; + + public ReadProfileHandler(IProfileRepository repository) + { + _repository = repository; + } + + public async Task Handle(ReadProfile request, CancellationToken cancellationToken) + { + var profile = await _repository.ReadAsync(request.UserId); + return profile; + } +} diff --git a/src/WorkFlow.Application/WorkFlow.Application.csproj b/src/WorkFlow.Application/WorkFlow.Application.csproj index 4e6d409..3e41ebd 100644 --- a/src/WorkFlow.Application/WorkFlow.Application.csproj +++ b/src/WorkFlow.Application/WorkFlow.Application.csproj @@ -8,6 +8,7 @@ +