mirror of
https://github.com/ajisaacs/OpenNest.git
synced 2026-11-07 04:15:43 -05:00
feat(server): share machines, post settings, clamps and nest defaults
Schema v13 adds shared_settings and shared_setting_revisions behind /api/settings: one revision-guarded JSON document per kind and key, with every revision (deletions included) kept with who saved it. Recreating a deleted document continues its revision count. OpenNest.Data gains the client (RemoteSharedSettings), a synchronous store that keeps the last copy read for offline use and refuses writes while the server is unreachable (SharedSettingsStore), a machine provider over it, and JSON parse/serialize entry points for clamp settings and nest defaults. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
9f3c22dc4f
commit
90e2fd2e6e
20 files changed
+1266
-60
No files matched your search
@@ -342,7 +342,7 @@ public sealed partial class NestDatabase : IDisposable
|
||||
command.Transaction = transaction;
|
||||
command.CommandText = "PRAGMA user_version";
|
||||
var version = (long)command.ExecuteScalar()!;
|
||||
if (version > 12) throw new InvalidOperationException("Database schema is newer than this server.");
|
||||
if (version > 13) throw new InvalidOperationException("Database schema is newer than this server.");
|
||||
if (version == 0)
|
||||
{
|
||||
command.CommandText = """
|
||||
@@ -429,6 +429,12 @@ public sealed partial class NestDatabase : IDisposable
|
||||
}
|
||||
if (version < 12)
|
||||
AddUnits(command);
|
||||
if (version < 13)
|
||||
{
|
||||
// Settings every workstation shares, empty until a workstation uploads its own.
|
||||
command.CommandText = SharedSettingSchema;
|
||||
command.ExecuteNonQuery();
|
||||
}
|
||||
transaction.Commit();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user