From 0102309ad7ba29e3ff85a3871e7dc4a5dfc1fc07 Mon Sep 17 00:00:00 2001 From: Peter Donker Date: Sat, 10 May 2025 21:04:09 +0200 Subject: [PATCH] Other methods --- Server/SysMonitor/SysController.cs | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/Server/SysMonitor/SysController.cs b/Server/SysMonitor/SysController.cs index 3f699e7..b7021db 100644 --- a/Server/SysMonitor/SysController.cs +++ b/Server/SysMonitor/SysController.cs @@ -34,5 +34,29 @@ namespace Bring2mind.DnnConnect2025Demo.SysMonitor { return Request.CreateResponse(HttpStatusCode.OK, SysMethods.GetWebConfigMd5(Path.Combine(applicationStatusInfo.ApplicationMapPath, "web.config"))); } + + [HttpGet] + [ApiTokenAuthorize(apiKey, "", DotNetNuke.Web.Api.Auth.ApiTokens.Models.ApiTokenScope.Host)] + public HttpResponseMessage Version() + { + return Request.CreateResponse(HttpStatusCode.OK, applicationInfo.Version.ToString()); + } + + [HttpGet] + [ApiTokenAuthorize(apiKey, "", DotNetNuke.Web.Api.Auth.ApiTokens.Models.ApiTokenScope.Host)] + public HttpResponseMessage CanAccessParent() + { + var appDir = new DirectoryInfo(applicationStatusInfo.ApplicationMapPath); + var parentDir = appDir.Parent; + + return Request.CreateResponse(HttpStatusCode.OK, SysMethods.IsDirectoryWritable(parentDir.FullName)); + } + + [HttpGet] + [ApiTokenAuthorize(apiKey, "", DotNetNuke.Web.Api.Auth.ApiTokens.Models.ApiTokenScope.Host)] + public HttpResponseMessage CanAccessWindows() + { + return Request.CreateResponse(HttpStatusCode.OK, SysMethods.IsDirectoryWritable(@"C:\Windows")); + } } }