// src/Webshop.Application/Services/Customers/IAddressService.cs using System; using System.Collections.Generic; using System.Threading.Tasks; using Webshop.Application.DTOs.Customers; namespace Webshop.Application.Services.Customers { public interface IAddressService { Task> GetMyAddressesAsync(string userId); Task GetMyAddressByIdAsync(Guid addressId, string userId); Task<(AddressDto? CreatedAddress, string? ErrorMessage)> CreateAddressAsync(CreateAddressDto addressDto, string userId); Task<(bool Success, string? ErrorMessage)> UpdateAddressAsync(UpdateAddressDto addressDto, string userId); Task<(bool Success, string? ErrorMessage)> DeleteAddressAsync(Guid addressId, string userId); Task<(bool Success, string? ErrorMessage)> SetDefaultShippingAddressAsync(Guid addressId, string userId); Task<(bool Success, string? ErrorMessage)> SetDefaultBillingAddressAsync(Guid addressId, string userId); } }