Salmon/Salmon.Web/Controllers/MainController.cs
2025-02-01 18:08:35 +01:00

49 lines
1.1 KiB
C#

using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Salmon.Core;
using Salmon.Web.Data;
using System.Collections.Generic;
namespace Salmon.Web.Controllers
{
[Route("api")]
[ApiController]
public class MainController
: ControllerBase
{
public Core.Instance Instance { get; }
public MainController(Core.Instance instance)
{
Instance = instance;
}
[HttpGet("GetTriplets")]
public IEnumerable<Core.Triplet> GetState()
{
foreach (var t in Instance.State.Get())
yield return t;
}
[HttpGet("GetElements")]
public List<object> GetElements()
{
var els = Instance.GetAllElements().Select(x => (object)x).ToList();
return els;
}
[HttpPost("Push/Elements")]
public void Post([FromBody] IEnumerable<Triplet> triplets)
{
Instance.Set(triplets);
}
[HttpPost("Push/Events")]
public void Post([FromBody] IEnumerable<Event> events)
{
Instance.Add(events);
}
}
}