refactor(configmanager): simplify SecureStore UI with unified info view
Consolidate SecureStoreLockedFormView and SecureStoreUnlockedFormView into a single SecureStoreInfoFormView that displays store status and metadata. Simplifies MainWindowViewModel by removing redundant state management. Also adds design docs for RegexTransformer feature.
This commit is contained in:
@@ -41,6 +41,16 @@ public class ConfigModel
|
||||
/// Gets or sets the connection strings for external data sources.
|
||||
/// </summary>
|
||||
public Dictionary<string, string> ConnectionStrings { get; set; } = new();
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the secure store configuration.
|
||||
/// </summary>
|
||||
public SecureStoreSection SecureStore { get; set; } = new();
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the pipelines configuration.
|
||||
/// </summary>
|
||||
public PipelinesSection Pipelines { get; set; } = new();
|
||||
}
|
||||
|
||||
public class DataSyncSection
|
||||
@@ -230,3 +240,45 @@ public class ExcelExportSection
|
||||
/// </summary>
|
||||
public string TimezoneAbbreviation { get; set; } = "CT";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Configuration section for the secure store.
|
||||
/// </summary>
|
||||
public class SecureStoreSection
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets or sets the path to the secure store file.
|
||||
/// </summary>
|
||||
public string StorePath { get; set; } = "data/secrets.json";
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the path to the key file for decryption.
|
||||
/// </summary>
|
||||
public string KeyFilePath { get; set; } = "data/secrets.key";
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the environment variable name for the master key.
|
||||
/// </summary>
|
||||
public string MasterKeyEnvVar { get; set; } = "SCOPINGTOOL_MASTER_KEY";
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets a value indicating whether to auto-create the store if it doesn't exist.
|
||||
/// </summary>
|
||||
public bool AutoCreateStore { get; set; } = true;
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the list of required secret keys that must exist in the store.
|
||||
/// </summary>
|
||||
public List<string> RequiredKeys { get; set; } = [];
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Configuration section for pipelines.
|
||||
/// </summary>
|
||||
public class PipelinesSection
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets or sets the path to the pipelines configuration file.
|
||||
/// </summary>
|
||||
public string ConfigPath { get; set; } = "Pipelines/pipelines.json";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user