mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-01-24 09:54:58 +00:00
refactor: updated method by which the Factories assess secret objects refactor: updated 'SecretsManager' console responses feat: added 'secretproviderlist' console command feat: added 'secretproviderinfo' console command feat: added 'CrestronGlobalSecretsProvider' feat: Added 'Description' property to 'ISecretProvider' feat: added 'TestSecret' method to 'ISecretProvider' docs: added xml comments to 'ISecretProvider' docs: added xml comments to 'ISecret' refactor: cleaned up crestron default secrets provider classes refactor: moved 'CrestronSecret' to its own class file refactor: overhauled all secrets-related console commands resolves #968
58 lines
1.6 KiB
C#
58 lines
1.6 KiB
C#
using PepperDash.Core;
|
|
|
|
namespace PepperDash.Essentials.Core
|
|
{
|
|
/// <summary>
|
|
/// All ISecrecretProvider classes must implement this interface.
|
|
/// </summary>
|
|
public interface ISecretProvider : IKeyed
|
|
{
|
|
/// <summary>
|
|
/// Set secret value for provider by key
|
|
/// </summary>
|
|
/// <param name="key">key of secret to set</param>
|
|
/// <param name="value">value to set secret to</param>
|
|
/// <returns></returns>
|
|
bool SetSecret(string key, object value);
|
|
|
|
/// <summary>
|
|
/// Return object containing secret from provider
|
|
/// </summary>
|
|
/// <param name="key">key of secret to retrieve</param>
|
|
/// <returns></returns>
|
|
ISecret GetSecret(string key);
|
|
|
|
/// <summary>
|
|
/// Verifies presence of secret
|
|
/// </summary>
|
|
/// <param name="key">key of secret to chek</param>
|
|
/// <returns></returns>
|
|
bool TestSecret(string key);
|
|
|
|
/// <summary>
|
|
/// Description of the secrets provider
|
|
/// </summary>
|
|
string Description { get; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// interface for delivering secrets in Essentials.
|
|
/// </summary>
|
|
public interface ISecret
|
|
{
|
|
/// <summary>
|
|
/// Instance of ISecretProvider that the secret belongs to
|
|
/// </summary>
|
|
ISecretProvider Provider { get; }
|
|
|
|
/// <summary>
|
|
/// Key of the secret in the provider
|
|
/// </summary>
|
|
string Key { get; }
|
|
|
|
/// <summary>
|
|
/// Value of the secret
|
|
/// </summary>
|
|
object Value { get; }
|
|
}
|
|
} |