not working inventory :c
This commit is contained in:
113
Controllers/InventoryController.cs
Normal file
113
Controllers/InventoryController.cs
Normal file
@@ -0,0 +1,113 @@
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using PetCompanion.Models;
|
||||
using PetCompanion.Services;
|
||||
|
||||
namespace PetCompanion.Controllers
|
||||
{
|
||||
[ApiController]
|
||||
[Route("api/v1/[controller]")]
|
||||
public class InventoryController : ControllerBase
|
||||
{
|
||||
private readonly PetInventoryService _inventoryService;
|
||||
private readonly ILogger<InventoryController> _logger;
|
||||
private readonly Guid userId = Guid.Parse("f5f4b3b3-3b7b-4b7b-8b7b-7b7b7b7b7b7b");
|
||||
|
||||
public InventoryController(
|
||||
ILogger<InventoryController> logger,
|
||||
PetInventoryService inventoryService)
|
||||
{
|
||||
_logger = logger;
|
||||
_inventoryService = inventoryService;
|
||||
}
|
||||
|
||||
[HttpGet("{petId}")]
|
||||
public async Task<IActionResult> GetInventory(string petId)
|
||||
{
|
||||
try
|
||||
{
|
||||
var inventory = await _inventoryService.GetInventory(petId, userId.ToString());
|
||||
return Ok(inventory);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return BadRequest(ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPut("{petId}/{itemId}/use")]
|
||||
public async Task<IActionResult> UseItem(string petId, int itemId)
|
||||
{
|
||||
try
|
||||
{
|
||||
var updatedPet = await _inventoryService.UseItem(petId, userId.ToString(), itemId);
|
||||
return Ok(updatedPet);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return BadRequest(ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPut("{petId}/{itemId}/equip")]
|
||||
public IActionResult EquipItem(string petId, int itemId)
|
||||
{
|
||||
try
|
||||
{
|
||||
var updatedPet = _inventoryService.EquipItem(petId, userId.ToString(), itemId);
|
||||
return Ok(updatedPet);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return BadRequest(ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPut("{petId}/{equipTarget}/unequip")]
|
||||
public IActionResult UnequipItem(string petId, ItemEquipTarget equipTarget)
|
||||
{
|
||||
try
|
||||
{
|
||||
var updatedPet = _inventoryService.UnequipItem(petId, userId.ToString(), equipTarget);
|
||||
return Ok(updatedPet);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return BadRequest(ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPut("{petId}/{itemId}/drop")]
|
||||
public IActionResult DropItem(string petId, int itemId)
|
||||
{
|
||||
try
|
||||
{
|
||||
var updatedPet = _inventoryService.DropItem(petId, userId.ToString(), itemId);
|
||||
return Ok(updatedPet);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return BadRequest(ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost("{petId}/create")]
|
||||
public IActionResult AddItem(string petId, [FromBody] AddItemRequest request)
|
||||
{
|
||||
try
|
||||
{
|
||||
var updatedPet = _inventoryService.AddItemToPet(petId, userId.ToString(), request.ItemId, request.Quantity);
|
||||
return Ok(updatedPet);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return BadRequest(ex.Message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class AddItemRequest
|
||||
{
|
||||
public int ItemId { get; set; }
|
||||
public int Quantity { get; set; } = 1;
|
||||
}
|
||||
}
|
@@ -8,15 +8,18 @@ namespace PetCompanion.Controllers
|
||||
public class SkillController : ControllerBase
|
||||
{
|
||||
private readonly SkillService _skillService;
|
||||
private readonly PetSkillService _petSkillService;
|
||||
private readonly ILogger<SkillController> _logger;
|
||||
private Guid userId = Guid.Parse("f5f4b3b3-3b7b-4b7b-8b7b-7b7b7b7b7b7b");
|
||||
|
||||
public SkillController(
|
||||
ILogger<SkillController> logger,
|
||||
SkillService skillService)
|
||||
SkillService skillService,
|
||||
PetSkillService petSkillService)
|
||||
{
|
||||
_logger = logger;
|
||||
_skillService = skillService;
|
||||
_petSkillService = petSkillService;
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
@@ -26,12 +29,26 @@ namespace PetCompanion.Controllers
|
||||
return Ok(skills);
|
||||
}
|
||||
|
||||
[HttpGet("{petId}/skills")]
|
||||
public async Task<IActionResult> GetPetSkills(string petId)
|
||||
{
|
||||
try
|
||||
{
|
||||
var skills = await _petSkillService.GetPetSkills(petId, userId.ToString());
|
||||
return Ok(skills);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return BadRequest(ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost("{petId}/allocate/{skillId}")]
|
||||
public async Task<IActionResult> AllocateSkillPoint(string petId, int skillId)
|
||||
{
|
||||
try
|
||||
{
|
||||
var result = await _skillService.AllocateSkillPoint(petId, userId.ToString(), skillId);
|
||||
var result = await _petSkillService.AllocateSkillPoint(petId, userId.ToString(), skillId);
|
||||
return Ok(result);
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
Reference in New Issue
Block a user