Files
zkldi_Tachi/database-seeds/scripts/rerunners/fix-goal-ids.js
T
zkldi 95840c0ec2 fix: seeds and maybe tests?
tests are hanging on my local machine but might not be remotely
2023-01-19 16:39:56 +00:00

58 lines
1.3 KiB
JavaScript

const logger = require("../logger");
const { MutateCollection, ReadCollection, WriteCollection, CreateGoalID } = require("../util");
const translateMap = new Map();
const origGoals = ReadCollection("goals.json", true);
MutateCollection("goals.json", (goals) => {
logger.info("Updating goals.");
for (const goal of goals) {
const expectedGoalID = CreateGoalID(goal.charts, goal.criteria, goal.game, goal.playtype);
if (expectedGoalID !== goal.goalID) {
translateMap.set(goal.goalID, expectedGoalID);
goal.goalID = expectedGoalID;
}
}
return goals;
});
try {
MutateCollection("quests.json", (quests) => {
logger.info("Updating Quests.");
for (const quest of quests) {
const newQuestData = [];
for (const qd of quest.questData) {
const goals = [];
for (const goal of qd.goals) {
if (translateMap.has(goal.goalID)) {
goals.push({ ...goal, goalID: translateMap.get(goal.goalID) });
} else {
goals.push(goal);
}
}
newQuestData.push({
...qd,
goals,
});
}
quest.questData = newQuestData;
}
logger.info("Done.");
return quests;
});
} catch (err) {
logger.error("Failed to update tables.json, reverting all auto-folder fixes.", { err });
WriteCollection("goals.json", origGoals);
}