add /api/player/disconnect endpoint

This commit is contained in:
Tim Müller
2022-03-22 20:00:33 +01:00
parent 64bbf0598e
commit 482a64ac54
9 changed files with 88 additions and 26 deletions

View File

@@ -4,6 +4,8 @@ using TomatenMusic;
using TomatenMusic_Api;
using TomatenMusic_Api.Auth.Helpers;
using TomatenMusic_Api.Models;
using TomatenMusic_Api.Models.EventArgs;
using static TomatenMusic_Api.InProcessEventBus;
namespace TomatenMusic_Api.Controllers;
@@ -54,8 +56,9 @@ public class PlayerController : ControllerBase
}
[HttpPost("connect")]
public async Task<IActionResult> PostConnection(ChannelConnectRequest request)
public async Task<IActionResult> PostConnect(ChannelConnectRequest request)
{
try
{
await _tomatenMusicDataService.GetGuildAsync(request.Guild_Id);
@@ -85,8 +88,28 @@ public class PlayerController : ControllerBase
_eventBus.OnConnectRequestEvent(new InProcessEventBus.ChannelConnectEventArgs(request.Guild_Id, channel));
_eventBus.OnConnectRequestEvent(new ChannelConnectArgs(request.Guild_Id, channel));
return Ok();
}
[HttpPost("disconnect")]
public async Task<IActionResult> PostDisconnect(ChannelDisconnectRequest request)
{
try
{
await _tomatenMusicDataService.GetGuildAsync(request.GuildId);
}
catch (Exception ex)
{
return NotFound("That Guild was not found");
}
if (!await _tomatenMusicDataService.IsConnectedAsync(request.GuildId) == true)
return BadRequest("The Bot is not connected.");
_eventBus.OnDisconnectRequestEvent(new ChannelDisconnectArgs(request.GuildId));
return Ok();
}
}