Updated Syncer

Added check for syncing.  If we are syncing, we should be expecting file
changes, and not do anything.
This commit is contained in:
Mario Steele 2025-07-30 12:52:31 -05:00
parent f9af985de4
commit e2c356a723

View file

@ -29,6 +29,7 @@ public class Syncer<T> : ISyncer where T : class, IDataModel, new()
private string _restEndpoint;
private bool _isDirty = false;
private bool _syncing = false;
public Syncer(DBSyncWatcher watcher, string dbPath, string dbName, string restEndpoint)
{
@ -97,6 +98,8 @@ public class Syncer<T> : ISyncer where T : class, IDataModel, new()
{
if (dbName != _dbName)
return;
if (_syncing)
return;
T? entry;
try
@ -129,6 +132,7 @@ public class Syncer<T> : ISyncer where T : class, IDataModel, new()
{
if (!_isDirty)
return;
_syncing = true;
Console.WriteLine($"Syncing {_dbPath}...");
var json = new List<string>();
foreach (var entry in _entries)
@ -136,5 +140,6 @@ public class Syncer<T> : ISyncer where T : class, IDataModel, new()
File.WriteAllLines(_dbPath, json);
Console.WriteLine($"Updated {_dbPath}.");
_isDirty = false;
_syncing = false;
}
}