58 lines
1.6 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|
|
}
|