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 _logger; public SkillController( ILogger 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); } } } }