Files
DnnConnect2025Demo/Server/SysMonitor/SysController.cs
2025-05-10 21:00:45 +02:00

39 lines
1.4 KiB
C#

using DotNetNuke.Web.Api;
using System.IO;
using System.Net.Http;
using System.Net;
using System.Web.Http;
namespace Bring2mind.DnnConnect2025Demo.SysMonitor
{
public class SysController : DnnApiController, IServiceRouteMapper
{
private const string apiKey = "SysMonitor";
private readonly DotNetNuke.Abstractions.Application.IApplicationStatusInfo applicationStatusInfo;
private readonly DotNetNuke.Abstractions.Application.IApplicationInfo applicationInfo;
public SysController(DotNetNuke.Abstractions.Application.IApplicationStatusInfo applicationStatusInfo, DotNetNuke.Abstractions.Application.IApplicationInfo applicationInfo)
{
this.applicationStatusInfo = applicationStatusInfo;
this.applicationInfo = applicationInfo;
}
public void RegisterRoutes(IMapRoute mapRouteManager)
{
mapRouteManager.MapHttpRoute(
"Bring2mind/SysMonitor",
"Bring2mindSysMonitorMap1",
"Sys/{action}",
new { Controller = "Sys" },
null, new[] { "Bring2mind.DnnConnect2025Demo.SysMonitor" });
}
[HttpGet]
[ApiTokenAuthorize(apiKey, "", DotNetNuke.Web.Api.Auth.ApiTokens.Models.ApiTokenScope.Host)]
public HttpResponseMessage WebConfigMd5()
{
return Request.CreateResponse(HttpStatusCode.OK, SysMethods.GetWebConfigMd5(Path.Combine(applicationStatusInfo.ApplicationMapPath, "web.config")));
}
}
}