aboutsummaryrefslogtreecommitdiff
path: root/src/server/remapUrl.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/remapUrl.ts')
-rw-r--r--src/server/remapUrl.ts69
1 files changed, 40 insertions, 29 deletions
diff --git a/src/server/remapUrl.ts b/src/server/remapUrl.ts
index b8e17ec66..ca7ca241f 100644
--- a/src/server/remapUrl.ts
+++ b/src/server/remapUrl.ts
@@ -1,58 +1,69 @@
-import { Database } from "./database";
-import { resolvedPorts } from "./server_Initialization";
+import { URL } from 'url';
+import { Database } from './database';
+import { resolvedPorts } from './SocketData';
-//npx ts-node src/server/remapUrl.ts
+// npx ts-node src/server/remapUrl.ts
const suffixMap: { [type: string]: true } = {
- "video": true,
- "pdf": true,
- "audio": true,
- "web": true,
- "image": true,
- "map": true,
+ video: true,
+ pdf: true,
+ audio: true,
+ web: true,
+ image: true,
+ map: true,
};
async function update() {
- await new Promise(res => setTimeout(res, 10));
- console.log("update");
+ await new Promise(res => {
+ setTimeout(res, 10);
+ });
+ console.log('update');
const cursor = await Database.Instance.query({});
- console.log("Cleared");
+ console.log('Cleared');
const updates: [string, any][] = [];
function updateDoc(doc: any) {
- if (doc.__type !== "Doc") {
+ if (doc.__type !== 'Doc') {
return;
}
- const fields = doc.fields;
+ const { fields } = doc;
if (!fields) {
return;
}
- const update: any = {
- };
+ const updated: any = {};
let dynfield = false;
- for (const key in fields) {
+ Array.from(Object.keys(fields)).forEach(key => {
const value = fields[key];
if (value && value.__type && suffixMap[value.__type]) {
const url = new URL(value.url);
- if (url.href.includes("localhost") && url.href.includes("Bill")) {
+ if (url.href.includes('localhost') && url.href.includes('Bill')) {
dynfield = true;
- update.$set = { ["fields." + key + ".url"]: `${url.protocol}//dash-web.eastus2.cloudapp.azure.com:${resolvedPorts.server}${url.pathname}` };
+ updated.$set = { ['fields.' + key + '.url']: `${url.protocol}//dash-web.eastus2.cloudapp.azure.com:${resolvedPorts.server}${url.pathname}` };
}
}
- }
+ });
if (dynfield) {
- updates.push([doc._id, update]);
+ updates.push([doc._id, updated]);
}
}
await cursor.forEach(updateDoc);
- await Promise.all(updates.map(doc => {
- console.log(doc[0], doc[1]);
- return new Promise<void>(res => Database.Instance.update(doc[0], doc[1], () => {
- console.log("wrote " + JSON.stringify(doc[1]));
- res();
- }, false));
- }));
- console.log("Done");
+ await Promise.all(
+ updates.map(doc => {
+ console.log(doc[0], doc[1]);
+ return new Promise<void>(res => {
+ Database.Instance.update(
+ doc[0],
+ doc[1],
+ () => {
+ console.log('wrote ' + JSON.stringify(doc[1]));
+ res();
+ },
+ false
+ );
+ });
+ })
+ );
+ console.log('Done');
// await Promise.all(updates.map(update => {
// return limit(() => Search.updateDocument(update));
// }));