using Newtonsoft.Json;
using PepperDash.Essentials.Core;
namespace PepperDash.Essentials.WebSocketServer
{
internal class WebSocketServerSecretProvider : CrestronLocalSecretsProvider
{
public WebSocketServerSecretProvider(string key)
: base(key)
{
Key = key;
}
}
///
/// Stores a secret value using the provided secret store provider
///
public class WebSocketServerSecret : ISecret
{
///
/// Gets the Secret Provider associated with this secret
///
public ISecretProvider Provider { get; private set; }
///
/// Gets the Key associated with this secret
///
public string Key { get; private set; }
///
/// Gets the Value associated with this secret
///
public object Value { get; private set; }
///
/// Initialize and instance of the class
///
public WebSocketServerSecret(string key, object value, ISecretProvider provider)
{
Key = key;
Value = JsonConvert.SerializeObject(value);
Provider = provider;
}
///
/// DeserializeSecret method
///
public ServerTokenSecrets DeserializeSecret()
{
return JsonConvert.DeserializeObject(Value.ToString());
}
}
}