pet-companion-back/Controllers/SkillController.cs

58 lines
1.6 KiB
C#

using Microsoft.AspNetCore.Mvc;
using PetCompanion.Services;
namespace PetCompanion.Controllers
{
public class SkillController : BaseController
{
private readonly SkillService _skillService;
private readonly PetSkillService _petSkillService;
private readonly ILogger<SkillController> _logger;
public SkillController(
ILogger<SkillController> logger,
SkillService skillService,
PetSkillService petSkillService)
{
_logger = logger;
_skillService = skillService;
_petSkillService = petSkillService;
}
[HttpGet]
public IActionResult GetAvailableSkills()
{
var skills = _skillService.GetAvailableSkills();
return Ok(skills);
}
[HttpGet("{petId}/skills")]
public IActionResult GetPetSkills(string petId)
{
try
{
var skills = _petSkillService.GetPetSkills(petId, userId);
return Ok(skills);
}
catch (Exception ex)
{
return BadRequest(ex.Message);
}
}
[HttpPost("{petId}/allocate/{skillId}")]
public IActionResult UpgradeSkill(string petId, int skillId)
{
try
{
var result = _petSkillService.UpgradeSkill(petId, userId, skillId);
return Ok(result);
}
catch (Exception ex)
{
return BadRequest(ex.Message);
}
}
}
}