feat: add IDataProvider interface and LocalJsonProvider with JSON file CRUD

One JSON file per machine named by GUID, stored in a configurable directory.
Supports save, load, list (as summaries), and delete with IO-error retry.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-27 20:19:56 -04:00
parent 98453243fc
commit a6e813bc85
3 changed files with 261 additions and 0 deletions

View File

@@ -0,0 +1,9 @@
namespace OpenNest.Data;
public interface IDataProvider
{
IReadOnlyList<MachineSummary> GetMachines();
MachineConfig? GetMachine(Guid id);
void SaveMachine(MachineConfig machine);
void DeleteMachine(Guid id);
}