93 lines
2.9 KiB
C#
93 lines
2.9 KiB
C#
using Microsoft.AspNetCore.Mvc;
|
|
using Sarand.Net.Standard.Base.App;
|
|
using Saxonite.Net.Standard.Base.App;
|
|
using Saxonite.Web.Api.App;
|
|
using static Sarand.Net.Standard.Base.Helpers.SacsHttpClientHelper;
|
|
|
|
namespace Saxonite.Web.Api.Controllers
|
|
{
|
|
//=======================================================================
|
|
[ApiController]
|
|
public class SystemController : SwapiControllerBase
|
|
{
|
|
//-------------------------------------------------------------------
|
|
// Construction.
|
|
public SystemController()
|
|
{
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
// Version.
|
|
|
|
public class RequestData_Version
|
|
{
|
|
}
|
|
public class ResponseData_Version : ApiResponse_Data
|
|
{
|
|
public String? Version { get; set; }
|
|
}
|
|
[HttpGet]
|
|
[Route("[controller]/Version")]
|
|
public ResponseData_Version GetVersion_Get()
|
|
{
|
|
return GetVersion_Post(new RequestData_Version());
|
|
}
|
|
[HttpPost]
|
|
[Route("[controller]/Version")]
|
|
public ResponseData_Version GetVersion_Post(RequestData_Version requestData)
|
|
{
|
|
ResponseData_Version responseData = new ResponseData_Version();
|
|
responseData.Version = Sax.Version.GetFullVersion();
|
|
return responseData;
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
// Config.
|
|
|
|
public class RequestData_Config
|
|
{
|
|
}
|
|
public class ResponseData_Config : ApiResponse_Data
|
|
{
|
|
public class ConfigData
|
|
{
|
|
public String? Environment { get; set; }
|
|
public String? Instance { get; set; }
|
|
public String? Version { get; set; }
|
|
public String? Host{ get; set; }
|
|
public String? ConfigLogFolder { get; set; }
|
|
public String? LogFolder { get; set; }
|
|
public String? EmailContext { get; set; }
|
|
}
|
|
public ConfigData Config { get; } = new ConfigData();
|
|
}
|
|
[HttpGet]
|
|
[Route("[controller]/Config")]
|
|
public ResponseData_Config GetConfig_Get()
|
|
{
|
|
return GetConfig_Post(new RequestData_Config());
|
|
}
|
|
[HttpPost]
|
|
[Route("[controller]/Config")]
|
|
public ResponseData_Config GetConfig_Post(RequestData_Config requestData)
|
|
{
|
|
ResponseData_Config responseData = new ResponseData_Config();
|
|
responseData.Config.Environment = SaxApplication_Api.AppInstance?.EnvironmentName;
|
|
responseData.Config.Instance = SaxApplication_Api.AppInstance?.InstanceType.ToString();
|
|
responseData.Config.Version = Sax.Version.GetFullVersion();
|
|
if (DebugMode)
|
|
{
|
|
// Just for testing - do not expose in production.
|
|
responseData.Config.Host = SaxSystem.ComputerName;
|
|
responseData.Config.ConfigLogFolder = SaxApplication_Api.AppInstance?.AppConfig.Logging.RootFolder;
|
|
responseData.Config.LogFolder = SaLogger.LogFolder;
|
|
responseData.Config.EmailContext = SaxApplication_Api.AppInstance?.EmailConfig.Context;
|
|
}
|
|
return responseData;
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
}
|
|
//=======================================================================
|
|
}
|