Store contact and feedback logs in /database.logjson rather than /_logs/*.json
authorNick Downing <nick@ndcode.org>
Fri, 7 Jan 2022 23:14:50 +0000 (10:14 +1100)
committerNick Downing <nick@ndcode.org>
Fri, 7 Jan 2022 23:14:50 +0000 (10:14 +1100)
.gitignore
contact/index.html.jst
feedback.html.jst

index d9822db..cbdda53 100644 (file)
@@ -5,7 +5,6 @@
 .*.less
 .*.min
 .*.svg
-/_logs
 /_zet/site.*
 /database.logjson
 /node_modules
index f8bdb38..2125210 100644 (file)
@@ -31,12 +31,17 @@ return async env => {
         date = new XDate()
         query.date = date.toUTCString()
 
-        await env.site.ensure_dir('/_logs')
-        env.site.modify_json(
-          `/_logs/contact_${date.toUTCString('yyyyMMdd')}.json`,
-          [],
-          async result => {result.value.push(query)}
-        )
+        let transaction = env.site.database.Transaction()
+        ;(
+          await (
+            await (
+              await (
+                await transaction.get({})
+              ).get('logs', {})
+            ).get(date.toUTCString('yyyyMMdd'), {})
+          ).get('contact', [])
+        ).push(transaction.json_to_logjson(query))
+        transaction.commit()
 
         // send email (asynchronously)
         let emailjs_contact = await env.site.get_emailjs(
index 11d951f..38fe202 100644 (file)
@@ -24,12 +24,17 @@ return async env => {
     date = new XDate()
     query.date = date.toUTCString()
 
-    await env.site.ensure_dir('/_logs')
-    env.site.modify_json(
-      `/_logs/feedback_${date.toUTCString('yyyyMMdd')}.json`,
-      [],
-      async result => {result.value.push(query)}
-    )
+    let transaction = env.site.database.Transaction()
+    ;(
+      await (
+        await (
+          await (
+            await transaction.get({})
+          ).get('logs', {})
+        ).get(date.toUTCString('yyyyMMdd'), {})
+      ).get('feedback', [])
+    ).push(transaction.json_to_logjson(query))
+    transaction.commit()
 
     // send email (asynchronously)
     let emailjs_feedback = await env.site.get_emailjs(