aboutsummaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
Diffstat (limited to 'src/server')
-rw-r--r--src/server/ApiManagers/UploadManager.ts23
-rw-r--r--src/server/websocket.ts2
2 files changed, 14 insertions, 11 deletions
diff --git a/src/server/ApiManagers/UploadManager.ts b/src/server/ApiManagers/UploadManager.ts
index e98498489..d6950d46a 100644
--- a/src/server/ApiManagers/UploadManager.ts
+++ b/src/server/ApiManagers/UploadManager.ts
@@ -142,7 +142,9 @@ export default class UploadManager extends ApiManager {
const field = doc.fields[key];
if (field === undefined || field === null) { continue; }
- if (field.__type === "proxy" || field.__type === "prefetch_proxy") {
+ if (field.__type === "Doc") {
+ mapFn(field);
+ } else if (field.__type === "proxy" || field.__type === "prefetch_proxy") {
field.fieldId = getId(field.fieldId);
} else if (field.__type === "script" || field.__type === "computed") {
if (field.captures) {
@@ -189,22 +191,23 @@ export default class UploadManager extends ApiManager {
}
});
const json = zip.getEntry("doc.json");
- let docs: any;
try {
const data = JSON.parse(json.getData().toString("utf8"));
- docs = data.docs;
- id = data.id;
- docs = Object.keys(docs).map(key => docs[key]);
+ const datadocs = data.docs;
+ id = getId(data.id);
+ const docs = Object.keys(datadocs).map(key => datadocs[key]);
docs.forEach(mapFn);
- await Promise.all(docs.map((doc: any) => new Promise(res => Database.Instance.replace(doc.id, doc, (err, r) => {
- err && console.log(err);
- res();
- }, true))));
+ await Promise.all(docs.map((doc: any) => new Promise(res => {
+ Database.Instance.replace(doc.id, doc, (err, r) => {
+ err && console.log(err);
+ res();
+ }, true);
+ })));
} catch (e) { console.log(e); }
unlink(path_2, () => { });
}
SolrManager.update();
- res.send(JSON.stringify(id ? getId(id) : "error"));
+ res.send(JSON.stringify(id || "error"));
} catch (e) { console.log(e); }
resolve();
});
diff --git a/src/server/websocket.ts b/src/server/websocket.ts
index 6850f0601..7e3c4da82 100644
--- a/src/server/websocket.ts
+++ b/src/server/websocket.ts
@@ -299,7 +299,7 @@ export namespace WebSocket {
diff.diff.$set = diff.diff.$remFromSet; delete diff.diff.$remFromSet;
const updatefield = Array.from(Object.keys(diff.diff.$set))[0];
const remListItems = diff.diff.$set[updatefield].fields;
- const curList = (curListItems as any)?.fields?.[updatefield.replace("fields.", "")]?.fields || [];
+ const curList = (curListItems as any)?.fields?.[updatefield.replace("fields.", "")]?.fields.filter((f: any) => f !== null) || [];
diff.diff.$set[updatefield].fields = curList?.filter((curItem: any) => !remListItems.some((remItem: any) => remItem.fieldId ? remItem.fieldId === curItem.fieldId : remItem.heading ? remItem.heading === curItem.heading : remItem === curItem));
const sendBack = diff.diff.length !== diff.diff.$set[updatefield].fields.length;
delete diff.diff.length;