Files
Essentials/src/PepperDash.Essentials.MobileControl/MobileControlEssentialsConfig.cs
Andrew Welker f6fdc14059 feat: move MC into Essentials
In order to solve some dependency issues that keep cropping up, MC
should be moved back into the Essentials repo and loaded automatically
on startup. This will allow for all plugins that use the MC Messengers
library to use the same version without fear of overwriting a dll due to
loading of plugin libraries.
2025-03-24 22:28:27 -05:00

54 lines
1.7 KiB
C#

using Newtonsoft.Json;
using PepperDash.Essentials.Core.Config;
using System.Collections.Generic;
namespace PepperDash.Essentials
{
/// <summary>
/// Used to overlay additional config data from mobile control on
/// </summary>
public class MobileControlEssentialsConfig : EssentialsConfig
{
[JsonProperty("runtimeInfo")]
public MobileControlRuntimeInfo RuntimeInfo { get; set; }
public MobileControlEssentialsConfig(EssentialsConfig config)
: base()
{
// TODO: Consider using Reflection to iterate properties
this.Devices = config.Devices;
this.Info = config.Info;
this.JoinMaps = config.JoinMaps;
this.Rooms = config.Rooms;
this.SourceLists = config.SourceLists;
this.DestinationLists = config.DestinationLists;
this.SystemUrl = config.SystemUrl;
this.TemplateUrl = config.TemplateUrl;
this.TieLines = config.TieLines;
if (this.Info == null)
this.Info = new InfoConfig();
RuntimeInfo = new MobileControlRuntimeInfo();
}
}
/// <summary>
/// Used to add any additional runtime information from mobile control to be send to the API
/// </summary>
public class MobileControlRuntimeInfo
{
[JsonProperty("pluginVersion")]
public string PluginVersion { get; set; }
[JsonProperty("essentialsVersion")]
public string EssentialsVersion { get; set; }
[JsonProperty("pepperDashCoreVersion")]
public string PepperDashCoreVersion { get; set; }
[JsonProperty("essentialsPlugins")]
public List<LoadedAssembly> EssentialsPlugins { get; set; }
}
}