All the code
This commit is contained in:
30
Gameboard.ShogiUI.Sockets/Controllers/GameController.cs
Normal file
30
Gameboard.ShogiUI.Sockets/Controllers/GameController.cs
Normal file
@@ -0,0 +1,30 @@
|
||||
using AspShogiSockets.ServiceModels.Api.Messages;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Websockets.Repositories;
|
||||
|
||||
namespace AspShogiSockets.Controllers
|
||||
{
|
||||
[Authorize]
|
||||
[ApiController]
|
||||
[Route("[controller]")]
|
||||
public class GameController : ControllerBase
|
||||
{
|
||||
private readonly IGameboardRepository gameboardRepository;
|
||||
|
||||
public GameController(IGameboardRepository gameboardRepository)
|
||||
{
|
||||
this.gameboardRepository = gameboardRepository;
|
||||
}
|
||||
|
||||
[Route("JoinCode")]
|
||||
public async Task<IActionResult> PostGameInvitation([FromBody] PostGameInvitation request)
|
||||
{
|
||||
var userName = HttpContext.User.Claims.First(c => c.Type == "preferred_username").Value;
|
||||
var code = (await gameboardRepository.PostJoinCode(request.SessionName, userName)).JoinCode;
|
||||
return new CreatedResult("", new PostGameInvitationResponse(code));
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user