Files
zkldi_Tachi/database-seeds/scripts/rerunners/fix-folder-ids.js
T

60 lines
1.1 KiB
JavaScript

const logger = require("../logger");
const {
MutateCollection,
CreateFolderID,
ReadCollection,
WriteCollection,
} = require("../util");
const translateMap = new Map();
const origFolders = ReadCollection("folders.json", true);
MutateCollection("folders.json", (folders) => {
logger.info("Updating Folders.");
for (const folder of folders) {
const newFolderID = CreateFolderID(
folder.data,
folder.game,
folder.playtype
);
translateMap.set(folder.folderID, newFolderID);
folder.folderID = newFolderID;
}
return folders;
});
try {
MutateCollection("tables.json", (tables) => {
logger.info("Updating Tables.");
for (const table of tables) {
table.folders = table.folders.map((e) => {
const newFolderID = translateMap.get(e);
if (!newFolderID) {
throw new Error(
`${e} doesn't exist as a folderID? Can't autofix.`
);
}
return newFolderID;
});
}
logger.info("Done.");
return tables;
});
} catch (err) {
logger.error(
"Failed to update tables.json, reverting all auto-folder fixes.",
{ err }
);
WriteCollection("folders.json", origFolders);
}