Files
imprink/src/Imprink.Application/Commands/Addresses/GetMyAddresses.cs
2025-06-26 01:30:25 +03:00

26 lines
811 B
C#

using AutoMapper;
using Imprink.Application.Dtos;
using Imprink.Application.Services;
using Imprink.Domain.Entities;
using MediatR;
namespace Imprink.Application.Commands.Addresses;
public class GetMyAddressesQuery : IRequest<IEnumerable<AddressDto?>>;
public class GetMyAddresses(
IUnitOfWork uw,
IMapper mapper,
ICurrentUserService userService)
: IRequestHandler<GetMyAddressesQuery, IEnumerable<AddressDto?>>
{
public async Task<IEnumerable<AddressDto?>> Handle(
GetMyAddressesQuery request,
CancellationToken cancellationToken)
{
IEnumerable<Address?> addresses = await uw.AddressRepository
.GetByUserIdAsync(userService.GetCurrentUserId(), cancellationToken);
return mapper.Map<IEnumerable<AddressDto>>(addresses);
}
}