Add skill management system: implement Skill and PetSkill models, create SkillController, and update ApplicationDbContext for skills
This commit is contained in:
43
Controllers/SkillController.cs
Normal file
43
Controllers/SkillController.cs
Normal file
@@ -0,0 +1,43 @@
|
||||
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 ILogger<SkillController> _logger;
|
||||
private Guid userId = Guid.Parse("f5f4b3b3-3b7b-4b7b-8b7b-7b7b7b7b7b7b");
|
||||
|
||||
public SkillController(
|
||||
ILogger<SkillController> logger,
|
||||
SkillService skillService)
|
||||
{
|
||||
_logger = logger;
|
||||
_skillService = skillService;
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public async Task<IActionResult> GetAvailableSkills()
|
||||
{
|
||||
var skills = await _skillService.GetAvailableSkills();
|
||||
return Ok(skills);
|
||||
}
|
||||
|
||||
[HttpPost("{petId}/allocate/{skillId}")]
|
||||
public async Task<IActionResult> AllocateSkillPoint(string petId, int skillId)
|
||||
{
|
||||
try
|
||||
{
|
||||
var result = await _skillService.AllocateSkillPoint(petId, userId.ToString(), skillId);
|
||||
return Ok(result);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return BadRequest(ex.Message);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user