summaryrefslogtreecommitdiff
path: root/data.js
diff options
context:
space:
mode:
authorsowgro <tpoke.ferrari@gmail.com>2023-09-02 19:12:47 -0400
committersowgro <tpoke.ferrari@gmail.com>2023-09-02 19:12:47 -0400
commite4450c8417624b71d779cb4f41692538f9165e10 (patch)
treeb70826542223ecdf8a7a259f61b0a1abb8a217d8 /data.js
downloadsowbot3-e4450c8417624b71d779cb4f41692538f9165e10.tar.gz
sowbot3-e4450c8417624b71d779cb4f41692538f9165e10.tar.bz2
sowbot3-e4450c8417624b71d779cb4f41692538f9165e10.zip
first commit
Diffstat (limited to 'data.js')
-rw-r--r--data.js71
1 files changed, 71 insertions, 0 deletions
diff --git a/data.js b/data.js
new file mode 100644
index 0000000..5eacfb9
--- /dev/null
+++ b/data.js
@@ -0,0 +1,71 @@
+const fs = require('fs')
+var exec = require('child_process').exec, child;
+
+// file stuff
+let contentlist = new Map()
+const dataFilePath = "data.json"
+contentlist = readDataFromFile()
+// require('./regcmd.js')
+
+//saved data is restored
+function readDataFromFile() {
+ console.log('restoreing saved data...')
+ mapData = new Map()
+ let rawData = fs.readFileSync(dataFilePath);
+ var jsonData = JSON.parse(rawData);
+ for( key in jsonData ){
+ mapData.set(key,jsonData[key])
+ }
+ return mapData
+ console.log("done")
+ }
+
+//data is saved to json
+function writeDataToFile(jsonData) {
+ let data = JSON.stringify(jsonData);
+ fs.writeFileSync(dataFilePath, data);
+ }
+
+function saveData() {
+ console.log('saving...')
+ let jsonObject = {};
+ contentlist.forEach((value, key) => {
+ jsonObject[key] = value
+ });
+ writeDataToFile(jsonObject)
+ regcmd();
+ console.log('saved')
+ }
+
+function regcmd() {
+ child = exec('node regcmd.js {{args}}',
+ function (error, stdout, stderr) {
+ console.log('stdout: ' + stdout);
+ console.log('stderr: ' + stderr);
+ if (error !== null) {
+ console.log('exec error: ' + error);
+ }
+});
+}
+
+this.add = function(key, value) {
+ contentlist.set(key, value);
+ saveData();
+}
+
+this.remove = function(key) {
+ contentlist.delete(key);
+ saveData();
+}
+
+this.get = function(key) {
+ return contentlist.get(key);
+}
+
+this.getList = function() {
+ var list = [];
+ for (entry of contentlist.keys()) {
+ list.push({name: entry, value: entry});
+ }
+ return list
+}