diff options
| -rw-r--r-- | lib/data.dart | 1 | ||||
| -rw-r--r-- | lib/db.dart | 18 |
2 files changed, 19 insertions, 0 deletions
diff --git a/lib/data.dart b/lib/data.dart index e4d7524..ca350e5 100644 --- a/lib/data.dart +++ b/lib/data.dart @@ -70,6 +70,7 @@ class AppState with ChangeNotifier { void setFqdn(String value) { fqdn = value; + unawaited(db.setServerFqdn(value)); } void process(MachineEvent event) { diff --git a/lib/db.dart b/lib/db.dart index a39db1d..0b2cf7a 100644 --- a/lib/db.dart +++ b/lib/db.dart @@ -69,4 +69,22 @@ CREATE TABLE "key_value" ( return result[0]['value']; } + + Future<void> setServerFqdn(String value) async { + Database? db = await _dbCompleter.future; + if (db == null) return; + + String? current = await getServerFqdn(); + if (current == null) { + db.execute( + 'INSERT INTO key_value (key, value) VALUES (\'server_fqdn\', ?);', + <Object?>[value], + ); + } else { + db.execute( + 'UPDATE key_value SET value = ? WHERE key = \'server_fqdn\';', + <Object?>[value], + ); + } + } } |
