Make type changes on Dexie items
This commit is contained in:
@@ -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<Token>("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<Map>("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<Asset>("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<Token>("tokens").bulkAdd(newTokens);
|
||||
}
|
||||
if (newMaps.length > 0) {
|
||||
await db.table("maps").bulkAdd(newMaps);
|
||||
await db.table<Map>("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<Asset>("assets").bulkAdd(newAssets);
|
||||
}
|
||||
if (newMapGroups.length > 0) {
|
||||
const mapGroup = await db.table("groups").get("maps");
|
||||
await db
|
||||
.table("groups")
|
||||
.table<Group>("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<Group>("groups").update("tokens", {
|
||||
items: [...newTokenGroups, ...tokenGroup.items],
|
||||
});
|
||||
}
|
||||
|
||||
@@ -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<Map>("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<Asset>("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<Asset>("assets").bulkDelete(assetsToDelete);
|
||||
}
|
||||
} catch {}
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user