using Microsoft.AspNetCore.Mvc; using Persistence.Models; using Persistence.Repositories; namespace Persistence.API.Controllers { [ApiController] [Route("api/[controller]")] public class SetpointController : ControllerBase, ISetpointApi { private readonly ISetpointRepository setpointRepository; public SetpointController(ISetpointRepository setpointRepository) { this.setpointRepository = setpointRepository; } [HttpPost("current")] public async Task>> GetCurrent(IEnumerable setpointKeys, CancellationToken token) { var result = await setpointRepository.GetCurrent(setpointKeys, token); return Ok(result); } [HttpPost("history")] public async Task>> GetHistory(IEnumerable setpointKeys, DateTimeOffset historyMoment, CancellationToken token) { var result = await setpointRepository.GetHistory(setpointKeys, historyMoment, token); return Ok(result); } [HttpPost("log")] public async Task>>> GetLog([FromBody] IEnumerable setpointKeys, CancellationToken token) { var result = await setpointRepository.GetLog(setpointKeys, token); return Ok(result); } [HttpPost("save")] public async Task> Save(Guid setpointKey, object newValue, CancellationToken token) { var result = await setpointRepository.Save(setpointKey, newValue, 0, token); return Ok(result); } } }