55 lines
1.4 KiB
C#

using HRD.WebApi.DAL;
using HRD.WebApi.Helpers;
using Microsoft.AspNetCore.Mvc;
using System;
namespace HRD.WebApi.Controllers
{
[Route("api/[controller]")]
[Produces("application/json")]
[ApiController]
public abstract class InfoBaseController : BaseMiniController
{
public InfoBaseController(WebApiBaseContext webApiBaseContext) : base(webApiBaseContext)
{
}
[HttpGet]
public ActionResult<ServerInfo> GetInfos()
{
try
{
var serverInfo = GetServerInfo();
return StatusCode(serverInfo.Status, serverInfo);
}
catch (Exception ex)
{
WriteLogException(ex);
return NotFound();
}
}
[HttpPost]
public ActionResult<ServerInfo> GetInfos([FromBody] ServerInfo serverInfoFromClient)
{
try
{
var serverInfo = GetServerInfo();
serverInfo.LastOfflineTime = serverInfoFromClient.LastOfflineTime;
return new OkObjectResult(serverInfo);
}
catch (Exception ex)
{
WriteLogException(ex);
return NotFound();
}
}
[NonAction]
public virtual ServerInfo GetServerInfo()
{
return ServerInfoHelper.GetServerInfo(base.Context);
}
}
}