using DutchTreat.Data; using DutchTreat.Data.Entities; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DutchTreat.Controllers { [Route("api/[Controller]")] [ApiController] [Produces("application/json")] public class ProductsController : Controller { private readonly IDutchRepository _repository; private readonly ILogger _logger; public ProductsController(IDutchRepository repository, ILogger logger) { _repository = repository; _logger = logger; } [HttpGet] [ProducesResponseType(200)] [ProducesResponseType(400)] public ActionResult> Get() { try { return Ok(_repository.GetAllProducts()); } catch (Exception ex) { _logger.LogError($"Failed to get products: {ex}"); return BadRequest("Failed to get products"); } } } }