using EVCB_OCPP.DBAPI.Services.ServerMessageServices; using Microsoft.AspNetCore.Mvc; namespace EVCB_OCPP.DBAPI.Controllers { [Route("ServerMessage")] public class ServerMessageController : Controller { private readonly IServerMessageService serverMessageService; public ServerMessageController(IServerMessageService serverMessageService) { this.serverMessageService = serverMessageService; } [HttpGet] public async Task GetAllServerMessages() { var result = await serverMessageService.GetServerMessages(); return Json(result); } [HttpGet("waiting")] public async Task GetWaitingServerMessages() { var result = await serverMessageService.GetNeedSendToClientServerMessages(); return Json(result); } [HttpPost] public async Task AddServerMessage( string ChargeBoxId, string OutAction, string OutRequest, string CreatedBy, DateTime? CreatedOn = null, string SerialNo = "", string InMessage = "", CancellationToken token = default) { var result = await serverMessageService.AddServerMessage(ChargeBoxId, OutAction, OutRequest, CreatedBy, CreatedOn, SerialNo, InMessage, token); return !string.IsNullOrEmpty(result) ? Ok(result) : BadRequest(); } [HttpPut("evse")] public async Task SetServerMessageResponseReceived(int id, string InMessage = "", DateTime ReceivedOn = default) { var result = await serverMessageService.SetServerMessageResponseReceived(id, InMessage, ReceivedOn); return result ? Ok() : BadRequest(); } [HttpPut("server")] public async Task SetServerMessageServerHandling(int id, DateTime UpdatedOn = default) { var result = await serverMessageService.SetServerMessageServerHandling(id, UpdatedOn); return result ? Ok() : BadRequest(); } } }