using API.Dtos; using AutoMapper; using Core.Entities; using Core.Interfaces; using Microsoft.AspNetCore.Mvc; namespace API.Controllers { public class BasketController : BaseApiController { private readonly IBasketRepository _basketRepository; private readonly IMapper _mapper; public BasketController(IBasketRepository basketRepository, IMapper mapper) { _mapper = mapper; _basketRepository = basketRepository; } [HttpGet] public async Task> GetBasketById(string id) { var basket = await _basketRepository.GetBasketAsync(id); return Ok(basket ?? new CustomerBasket(id)); } [HttpPost] public async Task> UpdateBasket(CustomerBasketDto basket) { var customerBasket = _mapper.Map(basket); var updatedBasket = await _basketRepository.UpdateBasketAsync(customerBasket); return Ok(updatedBasket); } [HttpDelete] public async Task DeleteBasket(string id) { await _basketRepository.DeleteBasketAsysnc(id); } } }