From acfc84b4064a6f41aed18e009ea1a81e0ceab7ba Mon Sep 17 00:00:00 2001 From: nthouliss Date: Fri, 1 Apr 2022 17:07:38 +1100 Subject: [PATCH] Make type changes on Dexie items --- src/modals/ImportExportModal.tsx | 16 ++++++++-------- src/workers/DatabaseWorker.ts | 15 ++++++++------- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/src/modals/ImportExportModal.tsx b/src/modals/ImportExportModal.tsx index ff3f17b..1163c99 100644 --- a/src/modals/ImportExportModal.tsx +++ b/src/modals/ImportExportModal.tsx @@ -201,7 +201,7 @@ function ImportExportModal({ let newTokens: Token[] = []; if (checkedTokens.length > 0) { const tokenIds = checkedTokens.map((token) => token.id); - const tokensToAdd: Token[] = await importDB.table("tokens").bulkGet(tokenIds); + const tokensToAdd: Token[] = await importDB.table("tokens").bulkGet(tokenIds); for (let token of tokensToAdd) { if (token) { // Generate new ids @@ -240,7 +240,7 @@ function ImportExportModal({ let newStates: MapState[] = []; if (checkedMaps.length > 0) { const mapIds = checkedMaps.map((map) => map.id); - const mapsToAdd = await importDB.table("maps").bulkGet(mapIds); + const mapsToAdd = await importDB.table("maps").bulkGet(mapIds); for (let map of mapsToAdd) { let state: MapState = await importDB.table("states").get(map.id); // Apply new token ids to imported state @@ -295,7 +295,7 @@ function ImportExportModal({ // Add assets with new ids const assetsToAdd = await importDB - .table("assets") + .table("assets") .bulkGet(Object.keys(newAssetIds)); let newAssets: Asset[] = []; const processedAssetIds: string[] = [] @@ -380,26 +380,26 @@ function ImportExportModal({ ], async () => { if (newTokens.length > 0) { - await db.table("tokens").bulkAdd(newTokens); + await db.table("tokens").bulkAdd(newTokens); } if (newMaps.length > 0) { - await db.table("maps").bulkAdd(newMaps); + await db.table("maps").bulkAdd(newMaps); } if (newStates.length > 0) { await db.table("states").bulkAdd(newStates); } if (newAssets.length > 0) { - await db.table("assets").bulkAdd(newAssets); + await db.table("assets").bulkAdd(newAssets); } if (newMapGroups.length > 0) { const mapGroup = await db.table("groups").get("maps"); await db - .table("groups") + .table("groups") .update("maps", { items: [...newMapGroups, ...mapGroup.items] }); } if (newTokenGroups.length > 0) { const tokenGroup = await db.table("groups").get("tokens"); - await db.table("groups").update("tokens", { + await db.table("groups").update("tokens", { items: [...newTokenGroups, ...tokenGroup.items], }); } diff --git a/src/workers/DatabaseWorker.ts b/src/workers/DatabaseWorker.ts index 4665445..33c807e 100644 --- a/src/workers/DatabaseWorker.ts +++ b/src/workers/DatabaseWorker.ts @@ -12,6 +12,7 @@ import blobToBuffer from "../helpers/blobToBuffer"; import { Map } from "../types/Map"; import { Token } from "../types/Token"; +import { Asset } from "../types/Asset"; type ProgressCallback = (progress: ExportProgress) => boolean; @@ -34,7 +35,7 @@ let service = { // Load entire table let items: T[] = []; // Use a cursor instead of toArray to prevent IPC max size error - await db.table(table).each((item) => { + await db.table(table).each((item: any) => { items.push(item); }); @@ -77,7 +78,7 @@ let service = { let db = getDatabase({}); // Add assets for selected maps and tokens - const maps = await db + const maps: Map[] = await db .table("maps") .where("id") .anyOf(mapIds) @@ -125,7 +126,7 @@ let service = { return false; }; - const data = await exportDB(db as any, { + const data = await exportDB(db, { progressCallback, filter, numRowsPerChunk: 1, @@ -176,7 +177,7 @@ let service = { importMeta.data.databaseVersion, false ); - await importInto(importDB as any, data, { + await importInto(importDB, data, { progressCallback, acceptNameDiff: true, overwriteValues: true, @@ -207,10 +208,10 @@ let service = { const assetSizes: { id: string; size: number }[] = []; await db - .table("assets") + .table("assets") .where("owner") .notEqual(userId) - .each((asset) => { + .each((asset: Asset) => { assetSizes.push({ id: asset.id, size: asset.file.byteLength }); }); const totalSize = assetSizes.reduce((acc, cur) => acc + cur.size, 0); @@ -226,7 +227,7 @@ let service = { break; } } - await db.table("assets").bulkDelete(assetsToDelete); + await db.table("assets").bulkDelete(assetsToDelete); } } catch {} },