using Microsoft.AspNetCore.Mvc; using PetCompanion.Services; namespace PetCompanion.Controllers { [ApiController] [Route("api/v1/[controller]")] public class SkillController : ControllerBase { private readonly SkillService _skillService; private readonly PetSkillService _petSkillService; private readonly ILogger _logger; private Guid userId = Guid.Parse("f5f4b3b3-3b7b-4b7b-8b7b-7b7b7b7b7b7b"); public SkillController( ILogger logger, SkillService skillService, PetSkillService petSkillService) { _logger = logger; _skillService = skillService; _petSkillService = petSkillService; } [HttpGet] public async Task GetAvailableSkills() { var skills = await _skillService.GetAvailableSkills(); return Ok(skills); } [HttpGet("{petId}/skills")] public async Task 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 AllocateSkillPoint(string petId, int skillId) { try { var result = await _petSkillService.AllocateSkillPoint(petId, userId.ToString(), skillId); return Ok(result); } catch (Exception ex) { return BadRequest(ex.Message); } } } }