feat: adds more api handlers to load config and get/set min log level

This commit is contained in:
Neil Dorin
2023-11-24 18:58:11 -07:00
parent d2877f2cec
commit a2c628145d
8 changed files with 27 additions and 10 deletions

View File

@@ -0,0 +1,13 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PepperDash.Essentials.Core
{
public interface ILoadConfig
{
void GoWithLoad();
}
}

View File

@@ -26,7 +26,7 @@
<PackageReference Include="Newtonsoft.Json" Version="13.0.2">
<Aliases>Full</Aliases>
</PackageReference>
<PackageReference Include="PepperDashCore" Version="2.0.0-alpha-373" />
<PackageReference Include="PepperDashCore" Version="2.0.0-alpha-374" />
</ItemGroup>
<ItemGroup>
<None Include="Crestron\CrestronGenericBaseDevice.cs.orig" />

View File

@@ -163,7 +163,7 @@ namespace PepperDash.Essentials.Core.Web
new HttpCwsRoute("loadConfig")
{
Name = "Load Config",
RouteHandler = new RestartProgramRequestHandler()
RouteHandler = new LoadConfigRequestHandler()
}
};

View File

@@ -2,6 +2,8 @@
using Newtonsoft.Json;
using PepperDash.Core;
using PepperDash.Core.Web.RequestHandlers;
using System;
using Serilog.Events;
namespace PepperDash.Essentials.Core.Web.RequestHandlers
{
@@ -26,7 +28,7 @@ namespace PepperDash.Essentials.Core.Web.RequestHandlers
{
var appDebug = new AppDebug { MinimumLevel = Debug.WebsocketMinimumLogLevel };
var body = JsonConvert.SerializeObject(appDebug, Formatting.Indented);
var body = JsonConvert.SerializeObject((appDebug, Formatting.Indented, new JsonSerializerSettings( ));
context.Response.StatusCode = 200;
context.Response.StatusDescription = "OK";
@@ -60,7 +62,7 @@ namespace PepperDash.Essentials.Core.Web.RequestHandlers
}
var appDebug = new AppDebug();
var requestBody = JsonConvert.DeserializeAnonymousType(data, appDebug);
var requestBody = JsonConvert.DeserializeObject<AppDebug>(data);
Debug.SetWebSocketMinimumDebugLevel(requestBody.MinimumLevel);
@@ -77,6 +79,6 @@ namespace PepperDash.Essentials.Core.Web.RequestHandlers
public class AppDebug
{
[JsonProperty("minimumLevel", NullValueHandling = NullValueHandling.Ignore)]
public Serilog.Events.LogEventLevel MinimumLevel { get; set; }
public LogEventLevel MinimumLevel { get; set; }
}
}

View File

@@ -26,8 +26,10 @@ namespace PepperDash.Essentials.Core.Web.RequestHandlers
protected override void HandlePost(HttpCwsContext context)
{
var message = "";
//Global.ControlSystem.GoWithLoad();
var cs = Global.ControlSystem as ILoadConfig;
if(cs != null)
cs.GoWithLoad();
context.Response.StatusCode = 200;
context.Response.StatusDescription = "OK";
context.Response.Write(message, false);

View File

@@ -31,6 +31,6 @@
<PackageReference Include="Newtonsoft.Json" Version="13.0.2">
<Aliases>Full</Aliases>
</PackageReference>
<PackageReference Include="PepperDashCore" Version="2.0.0-alpha-373" />
<PackageReference Include="PepperDashCore" Version="2.0.0-alpha-374" />
</ItemGroup>
</Project>

View File

@@ -18,7 +18,7 @@ using System.Linq;
namespace PepperDash.Essentials
{
public class ControlSystem : CrestronControlSystem
public class ControlSystem : CrestronControlSystem, ILoadConfig
{
HttpLogoServer LogoServer;

View File

@@ -51,7 +51,7 @@
<PackageReference Include="Newtonsoft.Json" Version="13.0.2">
<Aliases>Full</Aliases>
</PackageReference>
<PackageReference Include="PepperDashCore" Version="2.0.0-alpha-373" />
<PackageReference Include="PepperDashCore" Version="2.0.0-alpha-374" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\PepperDash.Essentials.Core\PepperDash.Essentials.Core.csproj" />