2024-05-02 15:24:13 -07:00

58 lines
1.7 KiB
C#

using Church.Net.WebAPI.Models;
using Microsoft.AspNetCore.Mvc;
using System.Collections.Generic;
using WebAPI.Models.IceBreak;
using WebAPI;
using System.Linq;
// For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
namespace Church.Net.WebAPI.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class GameRoomController : ControllerBase
{
private readonly GameRoomLogic gameRoomLogic;
public GameRoomController(GameRoomLogic gameRoomLogic)
{
this.gameRoomLogic = gameRoomLogic;
}
// GET: api/<GameRoomMessageController>
[HttpGet]
public IEnumerable<GameRoom> Get()
{
return gameRoomLogic.GameRooms;
}
// GET api/<GameRoomMessageController>/5
[HttpGet("{id}")]
public IEnumerable<IGamePlayer> Get(string roomId)
{
return gameRoomLogic.GameRooms.Where(r => r.Id == roomId).FirstOrDefault()?.Players;
}
// POST api/<GameRoomMessageController>
[HttpPost]
public void Post([FromBody] GamePlayer gamePlayer)
{
gameRoomLogic.CreateGameRoom(gamePlayer);
}
// PUT api/<GameRoomMessageController>/5
[HttpPut("{roomId}")]
public bool Put(string roomId, [FromBody] GamePlayer value)
{
return gameRoomLogic.UserJoinGameRoom(roomId, value);
}
// DELETE api/<GameRoomMessageController>/5
[HttpDelete("{id}")]
public void Delete(string id)
{
gameRoomLogic.UserLeave(new GamePlayer() { Id = id });
}
}
}