add abstractions for controllers
This commit is contained in:
@@ -0,0 +1,8 @@
|
|||||||
|
using TorchRemote.Models.Requests;
|
||||||
|
namespace TorchRemote.Plugin.Abstractions.Controllers;
|
||||||
|
|
||||||
|
public interface IChatController
|
||||||
|
{
|
||||||
|
Task SendMessage(ChatMessageRequest request);
|
||||||
|
Task<Guid> InvokeCommand(ChatCommandRequest request);
|
||||||
|
}
|
@@ -0,0 +1,13 @@
|
|||||||
|
using TorchRemote.Models.Requests;
|
||||||
|
using TorchRemote.Models.Responses;
|
||||||
|
using TorchRemote.Models.Shared;
|
||||||
|
namespace TorchRemote.Plugin.Abstractions.Controllers;
|
||||||
|
|
||||||
|
public interface IServerController
|
||||||
|
{
|
||||||
|
ServerStatusResponse GetStatus();
|
||||||
|
Task Start();
|
||||||
|
Task Stop(StopServerRequest request);
|
||||||
|
ServerSettings GetSettings();
|
||||||
|
Task SetSettings(ServerSettings request);
|
||||||
|
}
|
@@ -0,0 +1,7 @@
|
|||||||
|
using TorchRemote.Models.Responses;
|
||||||
|
namespace TorchRemote.Plugin.Abstractions.Controllers;
|
||||||
|
|
||||||
|
public interface ISettingsController
|
||||||
|
{
|
||||||
|
SettingInfoResponse Get(Guid id);
|
||||||
|
}
|
@@ -0,0 +1,10 @@
|
|||||||
|
using TorchRemote.Models.Responses;
|
||||||
|
namespace TorchRemote.Plugin.Abstractions.Controllers;
|
||||||
|
|
||||||
|
public interface IWorldsController
|
||||||
|
{
|
||||||
|
IEnumerable<Guid> Get();
|
||||||
|
Guid GetSelected();
|
||||||
|
WorldResponse GetWorld(Guid id);
|
||||||
|
void Select(Guid id);
|
||||||
|
}
|
@@ -17,12 +17,13 @@ using Torch.Utils;
|
|||||||
using TorchRemote.Models.Requests;
|
using TorchRemote.Models.Requests;
|
||||||
using TorchRemote.Models.Responses;
|
using TorchRemote.Models.Responses;
|
||||||
using TorchRemote.Models.Shared;
|
using TorchRemote.Models.Shared;
|
||||||
|
using TorchRemote.Plugin.Abstractions.Controllers;
|
||||||
using TorchRemote.Plugin.Modules;
|
using TorchRemote.Plugin.Modules;
|
||||||
using TorchRemote.Plugin.Utils;
|
using TorchRemote.Plugin.Utils;
|
||||||
using VRage.Network;
|
using VRage.Network;
|
||||||
namespace TorchRemote.Plugin.Controllers;
|
namespace TorchRemote.Plugin.Controllers;
|
||||||
|
|
||||||
public class ChatController : WebApiController
|
public class ChatController : WebApiController, IChatController
|
||||||
{
|
{
|
||||||
private const string RootPath = "/chat";
|
private const string RootPath = "/chat";
|
||||||
|
|
||||||
|
@@ -7,11 +7,12 @@ using Torch.API.Session;
|
|||||||
using TorchRemote.Models.Requests;
|
using TorchRemote.Models.Requests;
|
||||||
using TorchRemote.Models.Responses;
|
using TorchRemote.Models.Responses;
|
||||||
using TorchRemote.Models.Shared;
|
using TorchRemote.Models.Shared;
|
||||||
|
using TorchRemote.Plugin.Abstractions.Controllers;
|
||||||
using TorchRemote.Plugin.Utils;
|
using TorchRemote.Plugin.Utils;
|
||||||
|
|
||||||
namespace TorchRemote.Plugin.Controllers;
|
namespace TorchRemote.Plugin.Controllers;
|
||||||
|
|
||||||
public class ServerController : WebApiController
|
public class ServerController : WebApiController, IServerController
|
||||||
{
|
{
|
||||||
private const string RootPath = "/server";
|
private const string RootPath = "/server";
|
||||||
|
|
||||||
|
@@ -3,10 +3,11 @@ using EmbedIO.Routing;
|
|||||||
using EmbedIO.WebApi;
|
using EmbedIO.WebApi;
|
||||||
using Swan;
|
using Swan;
|
||||||
using TorchRemote.Models.Responses;
|
using TorchRemote.Models.Responses;
|
||||||
|
using TorchRemote.Plugin.Abstractions.Controllers;
|
||||||
using TorchRemote.Plugin.Utils;
|
using TorchRemote.Plugin.Utils;
|
||||||
namespace TorchRemote.Plugin.Controllers;
|
namespace TorchRemote.Plugin.Controllers;
|
||||||
|
|
||||||
public class SettingsController : WebApiController
|
public class SettingsController : WebApiController, ISettingsController
|
||||||
{
|
{
|
||||||
private const string RootPath = "/settings";
|
private const string RootPath = "/settings";
|
||||||
|
|
||||||
|
@@ -3,10 +3,11 @@ using EmbedIO;
|
|||||||
using EmbedIO.Routing;
|
using EmbedIO.Routing;
|
||||||
using EmbedIO.WebApi;
|
using EmbedIO.WebApi;
|
||||||
using TorchRemote.Models.Responses;
|
using TorchRemote.Models.Responses;
|
||||||
|
using TorchRemote.Plugin.Abstractions.Controllers;
|
||||||
using TorchRemote.Plugin.Utils;
|
using TorchRemote.Plugin.Utils;
|
||||||
namespace TorchRemote.Plugin.Controllers;
|
namespace TorchRemote.Plugin.Controllers;
|
||||||
|
|
||||||
public class WorldsController : WebApiController
|
public class WorldsController : WebApiController, IWorldsController
|
||||||
{
|
{
|
||||||
private const string RootPath = "/worlds";
|
private const string RootPath = "/worlds";
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user