refactor(configmanager): split into Core, CLI, and UI projects

Extract shared models, services, and application logic into
JdeScoping.ConfigManager.Core library. Add JdeScoping.ConfigManager.Cli
console app with validate, test-connection, and secret commands using
System.CommandLine. UI project now references Core for platform-agnostic
functionality while retaining Avalonia-specific dialog and clipboard services.
This commit is contained in:
Joseph Doherty
2026-01-28 10:01:48 -05:00
parent 5ee710d330
commit 7c4781dfe3
91 changed files with 1314 additions and 251 deletions
@@ -8,6 +8,7 @@
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\src\Utils\JdeScoping.ConfigManager.Core\JdeScoping.ConfigManager.Core.csproj" />
<ProjectReference Include="..\..\src\Utils\JdeScoping.ConfigManager\JdeScoping.ConfigManager.csproj" />
</ItemGroup>
@@ -1,4 +1,4 @@
using JdeScoping.ConfigManager.Models;
using JdeScoping.ConfigManager.Core.Models;
namespace JdeScoping.ConfigManager.Tests.Models;
@@ -1,5 +1,5 @@
using System.Text.Json;
using JdeScoping.ConfigManager.Models;
using JdeScoping.ConfigManager.Core.Models;
using Shouldly;
using Xunit;
@@ -1,4 +1,4 @@
using JdeScoping.ConfigManager.Services;
using JdeScoping.ConfigManager.Core.Services;
namespace JdeScoping.ConfigManager.Tests.Services;
@@ -1,4 +1,4 @@
using JdeScoping.ConfigManager.Services;
using JdeScoping.ConfigManager.Core.Services;
namespace JdeScoping.ConfigManager.Tests.Services;
@@ -1,5 +1,5 @@
using JdeScoping.ConfigManager.Models;
using JdeScoping.ConfigManager.Services;
using JdeScoping.ConfigManager.Core.Models;
using JdeScoping.ConfigManager.Core.Services;
using JdeScoping.DataSync.Configuration;
namespace JdeScoping.ConfigManager.Tests.Services;
@@ -1,5 +1,5 @@
using JdeScoping.ConfigManager.Models;
using JdeScoping.ConfigManager.Services;
using JdeScoping.ConfigManager.Core.Models;
using JdeScoping.ConfigManager.Core.Services;
namespace JdeScoping.ConfigManager.Tests.Services;
@@ -1,4 +1,4 @@
using JdeScoping.ConfigManager.Services;
using JdeScoping.ConfigManager.Core.Services;
namespace JdeScoping.ConfigManager.Tests.Services;
@@ -1,4 +1,4 @@
using JdeScoping.ConfigManager.Services;
using JdeScoping.ConfigManager.Core.Services;
namespace JdeScoping.ConfigManager.Tests.Services;
@@ -1,5 +1,5 @@
using JdeScoping.ConfigManager.Services;
using JdeScoping.ConfigManager.Services.SecureStore;
using JdeScoping.ConfigManager.Core.Services;
using JdeScoping.ConfigManager.Core.Services.SecureStore;
namespace JdeScoping.ConfigManager.Tests.Services;
@@ -1,5 +1,5 @@
using System.IO;
using JdeScoping.ConfigManager.Services.SecureStore;
using JdeScoping.ConfigManager.Core.Services.SecureStore;
namespace JdeScoping.ConfigManager.Tests.Services.SecureStore;
@@ -1,5 +1,5 @@
using JdeScoping.ConfigManager.Models;
using JdeScoping.ConfigManager.Services;
using JdeScoping.ConfigManager.Core.Models;
using JdeScoping.ConfigManager.Core.Services;
using JdeScoping.DataSync.Configuration;
namespace JdeScoping.ConfigManager.Tests.Services;
@@ -1,4 +1,4 @@
using JdeScoping.ConfigManager.Services;
using JdeScoping.ConfigManager.Core.Services;
using JdeScoping.ConfigManager.ViewModels.Dialogs;
namespace JdeScoping.ConfigManager.Tests.ViewModels.Dialogs;
@@ -1,4 +1,4 @@
using JdeScoping.ConfigManager.Constants;
using JdeScoping.ConfigManager.Core.Constants;
using JdeScoping.ConfigManager.ViewModels.Dialogs;
namespace JdeScoping.ConfigManager.Tests.ViewModels.Dialogs;
@@ -1,4 +1,4 @@
using JdeScoping.ConfigManager.Constants;
using JdeScoping.ConfigManager.Core.Constants;
using JdeScoping.ConfigManager.ViewModels.Dialogs;
namespace JdeScoping.ConfigManager.Tests.ViewModels.Dialogs;
@@ -1,4 +1,4 @@
using JdeScoping.ConfigManager.Constants;
using JdeScoping.ConfigManager.Core.Constants;
using JdeScoping.ConfigManager.ViewModels.Dialogs;
namespace JdeScoping.ConfigManager.Tests.ViewModels.Dialogs;
@@ -1,4 +1,4 @@
using JdeScoping.ConfigManager.Services;
using JdeScoping.ConfigManager.Core.Services;
using JdeScoping.ConfigManager.ViewModels.Dialogs;
namespace JdeScoping.ConfigManager.Tests.ViewModels.Dialogs;
@@ -1,4 +1,4 @@
using JdeScoping.ConfigManager.Models;
using JdeScoping.ConfigManager.Core.Models;
using JdeScoping.ConfigManager.ViewModels.Forms;
namespace JdeScoping.ConfigManager.Tests.ViewModels.Forms;
@@ -1,4 +1,4 @@
using JdeScoping.ConfigManager.Models;
using JdeScoping.ConfigManager.Core.Models;
using JdeScoping.ConfigManager.ViewModels.Forms;
namespace JdeScoping.ConfigManager.Tests.ViewModels.Forms;
@@ -1,6 +1,7 @@
using JdeScoping.ConfigManager.Models;
using JdeScoping.ConfigManager.Core.Models;
using JdeScoping.ConfigManager.Core.Services;
using JdeScoping.ConfigManager.Core.Services.SecureStore;
using JdeScoping.ConfigManager.Services;
using JdeScoping.ConfigManager.Services.SecureStore;
using JdeScoping.ConfigManager.ViewModels.Forms;
namespace JdeScoping.ConfigManager.Tests.ViewModels.Forms;
@@ -1,4 +1,4 @@
using JdeScoping.ConfigManager.Models;
using JdeScoping.ConfigManager.Core.Models;
using JdeScoping.ConfigManager.ViewModels.Forms;
namespace JdeScoping.ConfigManager.Tests.ViewModels.Forms;
@@ -1,4 +1,4 @@
using JdeScoping.ConfigManager.Models;
using JdeScoping.ConfigManager.Core.Models;
using JdeScoping.ConfigManager.ViewModels.Forms;
namespace JdeScoping.ConfigManager.Tests.ViewModels.Forms;
@@ -1,4 +1,4 @@
using JdeScoping.ConfigManager.Models;
using JdeScoping.ConfigManager.Core.Models;
using JdeScoping.ConfigManager.ViewModels.Forms;
namespace JdeScoping.ConfigManager.Tests.ViewModels.Forms;
@@ -1,4 +1,4 @@
using JdeScoping.ConfigManager.Models;
using JdeScoping.ConfigManager.Core.Models;
using JdeScoping.ConfigManager.ViewModels.Forms;
namespace JdeScoping.ConfigManager.Tests.ViewModels.Forms;
@@ -1,4 +1,4 @@
using JdeScoping.ConfigManager.Models;
using JdeScoping.ConfigManager.Core.Models;
using JdeScoping.ConfigManager.ViewModels.Forms;
namespace JdeScoping.ConfigManager.Tests.ViewModels.Forms;
@@ -1,7 +1,8 @@
using JdeScoping.ConfigManager.Constants;
using JdeScoping.ConfigManager.Models;
using JdeScoping.ConfigManager.Core.Constants;
using JdeScoping.ConfigManager.Core.Models;
using JdeScoping.ConfigManager.Core.Services;
using JdeScoping.ConfigManager.Core.Services.SecureStore;
using JdeScoping.ConfigManager.Services;
using JdeScoping.ConfigManager.Services.SecureStore;
using JdeScoping.ConfigManager.ViewModels;
using JdeScoping.ConfigManager.ViewModels.Forms;
using JdeScoping.DataSync.Configuration;