refactor: moved and renamed GetJoinHelper class to EssentialsWebApiHelpers, added func for loaded assemblies

This commit is contained in:
jdevito
2023-02-01 11:30:35 -06:00
parent 0793a09095
commit 55a5cc53c9
7 changed files with 29 additions and 35 deletions

View File

@@ -199,7 +199,7 @@
<Compile Include="Crestron IO\StatusSign\StatusSignController.cs" />
<Compile Include="Web\RequestHandlers\AppDebugRequestHandler.cs" />
<Compile Include="Web\RequestHandlers\GetFeedbacksForDeviceRequestHandler.cs" />
<Compile Include="Web\RequestHandlers\GetJoinMapHelpers.cs" />
<Compile Include="Web\EssentialsWebApiHelpers.cs" />
<Compile Include="Web\RequestHandlers\GetTypesByFilterRequestHandler.cs" />
<Compile Include="Web\RequestHandlers\GetJoinMapForDeviceKeyRequestHandler.cs" />
<Compile Include="Web\RequestHandlers\DefaultRequestHandler.cs" />

View File

@@ -1,10 +1,19 @@
using System.Collections.Generic;
using System.Linq;
namespace PepperDash.Essentials.Core.Web.RequestHandlers
namespace PepperDash.Essentials.Core.Web
{
public class GetJoinMapHelpers
public class EssentialsWebApiHelpers
{
public static object MapToAssemblyObject(LoadedAssembly assembly)
{
return new
{
Name = assembly.Name,
Version = assembly.Version
};
}
public static object MapJoinToObject(string key, JoinMapBaseAdvanced join)
{
var kp = new KeyValuePair<string, JoinMapBaseAdvanced>(key, join);

View File

@@ -9,11 +9,6 @@ namespace PepperDash.Essentials.Core.Web.RequestHandlers
{
public class AppDebugRequestHandler : WebApiBaseRequestHandler
{
private const string Key = "AppDebugRequestHandler";
private const uint Trace = 0;
private const uint Info = 1;
private const uint Verbose = 2;
/// <summary>
/// Handles CONNECT method requests
/// </summary>
@@ -42,10 +37,9 @@ namespace PepperDash.Essentials.Core.Web.RequestHandlers
/// <param name="context"></param>
protected override void HandleGet(HttpCwsContext context)
{
var o = new AppDebug();
o.Level = Debug.Level;
var appDebug = new AppDebug {Level = Debug.Level};
var body = JsonConvert.SerializeObject(o, Formatting.Indented);
var body = JsonConvert.SerializeObject(appDebug, Formatting.Indented);
context.Response.StatusCode = 200;
context.Response.StatusDescription = "OK";
@@ -97,16 +91,14 @@ namespace PepperDash.Essentials.Core.Web.RequestHandlers
var bytes = new Byte[context.Request.ContentLength];
context.Request.InputStream.Read(bytes, 0, context.Request.ContentLength);
var data = Encoding.UTF8.GetString(bytes, 0, bytes.Length);
//Debug.Console(Info, "[{0}] Request data:\n{1}", Key.ToLower(), data);
var o = new AppDebug();
var requestBody = JsonConvert.DeserializeAnonymousType(data, o);
var appDebug = new AppDebug();
var requestBody = JsonConvert.DeserializeAnonymousType(data, appDebug);
Debug.SetDebugLevel(requestBody.Level);
o.Level = Debug.Level;
var responseBody = JsonConvert.SerializeObject(o, Formatting.Indented);
appDebug.Level = Debug.Level;
var responseBody = JsonConvert.SerializeObject(appDebug, Formatting.Indented);
context.Response.StatusCode = 200;
context.Response.StatusDescription = "OK";

View File

@@ -5,11 +5,6 @@ namespace PepperDash.Essentials.Core.Web.RequestHandlers
{
public class DefaultRequestHandler : WebApiBaseRequestHandler
{
private const string Key = "DefaultRequestHandler";
private const uint Trace = 0;
private const uint Info = 1;
private const uint Verbose = 2;
/// <summary>
/// Handles CONNECT method requests
/// </summary>

View File

@@ -79,7 +79,7 @@ namespace PepperDash.Essentials.Core.Web.RequestHandlers
return;
}
var joinMap = bridge.JoinMaps.Select(j => GetJoinMapHelpers.MapJoinToObject(j)).ToList();
var joinMap = bridge.JoinMaps.Select(j => EssentialsWebApiHelpers.MapJoinToObject(j)).ToList();
if (joinMap == null)
{
context.Response.StatusCode = 400;

View File

@@ -102,7 +102,7 @@ namespace PepperDash.Essentials.Core.Web.RequestHandlers
return;
}
var joinMap = GetJoinMapHelpers.MapJoinToObject(deviceObj.ToString(), deviceJoinMap);
var joinMap = EssentialsWebApiHelpers.MapJoinToObject(deviceObj.ToString(), deviceJoinMap);
var js = JsonConvert.SerializeObject(joinMap, Formatting.Indented, new JsonSerializerSettings
{
ReferenceLoopHandling = ReferenceLoopHandling.Ignore,

View File

@@ -7,11 +7,6 @@ namespace PepperDash.Essentials.Core.Web.RequestHandlers
{
public class ReportVersionsRequestHandler : WebApiBaseRequestHandler
{
private const string Key = "ReportVersionsRequestHandler";
private const uint Trace = 0;
private const uint Info = 1;
private const uint Verbose = 2;
/// <summary>
/// Handles CONNECT method requests
/// </summary>
@@ -40,11 +35,15 @@ namespace PepperDash.Essentials.Core.Web.RequestHandlers
/// <param name="context"></param>
protected override void HandleGet(HttpCwsContext context)
{
var assemblies = PluginLoader.LoadedAssemblies.Select(assembly => new
var loadAssemblies = PluginLoader.LoadedAssemblies;
if (loadAssemblies == null)
{
Name = assembly.Name,
Version = assembly.Version
}).Cast<object>().ToList();
context.Response.StatusCode = 404;
context.Response.StatusDescription = "Not Found";
context.Response.End();
}
var assemblies = loadAssemblies.Select(a => EssentialsWebApiHelpers.MapToAssemblyObject(a)).ToList();
var js = JsonConvert.SerializeObject(assemblies, Formatting.Indented, new JsonSerializerSettings
{
@@ -54,8 +53,7 @@ namespace PepperDash.Essentials.Core.Web.RequestHandlers
DefaultValueHandling = DefaultValueHandling.Ignore,
TypeNameHandling = TypeNameHandling.None
});
//Debug.Console(Verbose, "[{0}] HandleGet: \x0d\x0a{1}", Key.ToLower(), js);
context.Response.StatusCode = 200;
context.Response.StatusDescription = "OK";
context.Response.ContentType = "application/json";