using Microsoft.AspNetCore.Mvc; using WyvernInventory.Core.Interfaces.Services; using WyvernInventory.Core.Models; namespace WyvernInventory.API.Controllers; [ApiController] [Route("[controller]")] public class InventoryController(IDataObjectService genericItemService) : ControllerBase { private readonly IDataObjectService _genericItemService = genericItemService; [HttpPost] public List Get([FromBody] List items) { return _genericItemService.GetAsync(_ => _).Result; } [HttpPost("upsert")] public IResult Post([FromBody] List items) { (int, int) results = _genericItemService.UpsertAsync(items).Result; if (results.Item1 > 0 || results.Item2 > 0) { return Results.StatusCode(201); } return Results.Ok(); } [HttpDelete("{id}")] public IResult Delete([FromRoute] int id) { _genericItemService.DeleteAsync(new() { new() { Id = id } }).Wait(); return Results.Ok(); } }