mirror of
https://github.com/zkldi/Tachi.git
synced 2026-09-27 17:38:11 +03:00
60 lines
1.1 KiB
JavaScript
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);
|
|
}
|