From d326f24f65bf9a89e21e12ff8a8d60eabbe44bd5 Mon Sep 17 00:00:00 2001 From: zkldi <20380519+zkldi@users.noreply.github.com> Date: Thu, 25 Nov 2021 08:58:45 +0000 Subject: [PATCH] Add main script for l.v. folders --- .../rerunners/add-level-version-folders.js | 65 +++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 database-seeds/scripts/rerunners/add-level-version-folders.js diff --git a/database-seeds/scripts/rerunners/add-level-version-folders.js b/database-seeds/scripts/rerunners/add-level-version-folders.js new file mode 100644 index 000000000..c20226137 --- /dev/null +++ b/database-seeds/scripts/rerunners/add-level-version-folders.js @@ -0,0 +1,65 @@ +const { FormatGame } = require("tachi-common"); +const { MutateCollection, CreateFolderID } = require("../util"); + +const ptFolders = {}; + +module.exports = function AddLevelVersionFolders(name, game, playtypes, version, levels) { + MutateCollection("folders.json", (folders) => { + for (const level of levels) { + const folder = { + title: `Level ${level} (${name})`, + game, + type: "charts", + data: { + level, + versions: version + }, + inactive: false, + searchTerms: [], + } + + for (const playtype of playtypes) { + const folderID = CreateFolderID(folder.data, folder.game, playtype); + + const realFolder = Object.assign({ playtype, folderID }, folder); + + if (ptFolders[playtype]) { + ptFolders[playtype].push(realFolder); + } else { + ptFolders[playtype] = [realFolder]; + } + + folders.push(realFolder); + } + } + + return folders; + }); + + MutateCollection("tables.json", (tables) => { + for (const playtype of playtypes) { + tables.push({ + tableID: `${game}-${playtype}-${version}-levels`, + description: `Levels for ${FormatGame(game, playtype)} in ${name}.`, + folders: ptFolders[playtype].map(e => e.folderID), + game, + playtype, + inactive: false, + }); + } + + + return tables; + }); +} + + + +// usage: + +// const levels = []; +// for (let i = 1; i <= 12; i++) { +// levels.push(i.toString()) +// } +// +// addLevelVersionFolders("CastHour", "iidx", ["SP", "DP"], "29", levels); \ No newline at end of file