« get me outta code hell

web-routes: make search corpuses available at /search-data - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2024-05-01 19:33:24 -0300
committer(quasar) nebula <qznebula@protonmail.com>2024-05-31 12:11:44 -0300
commitb7183b9b1553f2c051644af92b4dc19eea705826 (patch)
tree1f90198dc47615394fb442a3f3c5c6d6a75604cc
parent3b2f391d291e37e0c39a3fc4c7a406c4b6da12b1 (diff)
web-routes: make search corpuses available at /search-data
-rw-r--r--src/url-spec.js5
-rw-r--r--src/web-routes.js12
2 files changed, 17 insertions, 0 deletions
diff --git a/src/url-spec.js b/src/url-spec.js
index b1d201a4..39f79459 100644
--- a/src/url-spec.js
+++ b/src/url-spec.js
@@ -118,6 +118,11 @@ const urlSpec = {
     prefix: 'thumb/',
     paths: genericPaths,
   },
+
+  searchData: {
+    prefix: 'search-data/',
+    paths: genericPaths,
+  },
 };
 
 // This gets automatically switched in place when working from a baseDirectory,
diff --git a/src/web-routes.js b/src/web-routes.js
index 619d5c62..6b1335ac 100644
--- a/src/web-routes.js
+++ b/src/web-routes.js
@@ -53,6 +53,18 @@ export async function identifyDynamicWebRoutes({
       {from: path.resolve(mediaPath), to: ['media.root']},
       {from: path.resolve(mediaCachePath), to: ['thumb.root']},
     ]),
+
+    () => {
+      if (!wikiCachePath) return [];
+
+      const from =
+        path.resolve(path.join(wikiCachePath, 'search'));
+
+      return (
+        readdir(from).then(
+          () => [{from, to: ['searchData.root']}],
+          () => []));
+    },
   ];
 
   const routeCheckPromises =