using Indotalent.Data.Entities; using MediatR; using Microsoft.AspNetCore.Identity; namespace Indotalent.Features.Profile.Avatar.Cqrs; public class GetAvatarInfoResponse { public string Id { get; set; } = string.Empty; public string? FullName { get; set; } public string? AvatarFile { get; set; } } public record GetAvatarInfoQuery(string UserId) : IRequest; public class GetAvatarInfoHandler : IRequestHandler { private readonly UserManager _userManager; public GetAvatarInfoHandler(UserManager userManager) { _userManager = userManager; } public async Task Handle(GetAvatarInfoQuery request, CancellationToken cancellationToken) { var user = await _userManager.FindByIdAsync(request.UserId); if (user == null) return null; return new GetAvatarInfoResponse { Id = user.Id, FullName = user.FullName, AvatarFile = user.AvatarFile }; } }