Files
FluentTerminal/FluentTerminal.SystemTray/Controllers/TerminalsController.cs
T

44 lines
1.5 KiB
C#

using FluentTerminal.SystemTray.DataTransferObjects;
using FluentTerminal.SystemTray.Services;
using System;
using System.Linq;
using System.Net.Http;
using System.Web.Http;
namespace FluentTerminal.SystemTray.Controllers
{
public class TerminalsController : ApiController
{
private TerminalsManager _terminalsManager;
public TerminalsController(TerminalsManager terminalsManager)
{
_terminalsManager = terminalsManager ?? throw new ArgumentNullException(nameof(terminalsManager));
}
[HttpPost]
[Route("terminals/{id}/size")]
public void Resize(int id)
{
var cols = int.Parse(this.Request.GetQueryNameValuePairs().SingleOrDefault(q => q.Key == "cols").Value);
var rows = int.Parse(this.Request.GetQueryNameValuePairs().SingleOrDefault(q => q.Key == "rows").Value);
_terminalsManager.ResizeTerminal(id, cols, rows);
}
[HttpPost]
[Route("terminals")]
public string Create()
{
var cols = int.Parse(this.Request.GetQueryNameValuePairs().SingleOrDefault(q => q.Key == "cols").Value);
var rows = int.Parse(this.Request.GetQueryNameValuePairs().SingleOrDefault(q => q.Key == "rows").Value);
var options = new TerminalOptions
{
Columns = cols,
Rows = rows
};
return _terminalsManager.CreateTerminal(options);
}
}
}