From adb1f3deb85bc754df7fb0a589e420bf90240717 Mon Sep 17 00:00:00 2001 From: Jack Thomas Date: Sat, 30 May 2020 15:46:14 +0100 Subject: [PATCH] Page import: improve table promises --- src/messaging/type/add/page.js | 38 ++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/src/messaging/type/add/page.js b/src/messaging/type/add/page.js index 9b814c3..99b5565 100755 --- a/src/messaging/type/add/page.js +++ b/src/messaging/type/add/page.js @@ -251,31 +251,33 @@ const addScenes = async (data) => { } }; +const addRollTable = async (table, folder) => { + let rollTable = await RollTable.create({ + name: table.name, + formula: `1d${table.max}`, + folder: folder._id, + flags: { + vtta: { + dndbeyond: { + rollTableId: table.id, + }, + }, + }, + }); + await rollTable.createEmbeddedEntity("TableResult", table.results); + return rollTable; +}; + const addRollTables = async (data) => { // folderName, rollTables, sourcebook) => { const folderName = data.title; const rollTables = data.rollTables; let folder = await getFolder([folderName], "RollTable", data.book); - let tables = []; - for (let data of rollTables) { - console.log(data); - let rollTable = await RollTable.create({ - name: data.name, - formula: `1d${data.max}`, - folder: folder._id, - flags: { - vtta: { - dndbeyond: { - rollTableId: data.id, - }, - }, - }, - }); - await rollTable.createEmbeddedEntity("TableResult", data.results); - tables.push(rollTable); - } + const tables = await Promise.all(rollTables.map(async (table) => { + return addRollTable(table, folder); + })); return tables; };