import eventBus from "../utils/broadcast-channel-pubsub"; import createPlayerService from "../services/scoresaber/player"; import log from "../utils/logger"; let initialized = false; export default (dlManager) => { if (initialized) { log.debug(`Command processor already initialized.`, "CmdProcessor"); return; } const playerService = createPlayerService(); eventBus.on("data-imported", () => { if (window) window.location.reload(); }); eventBus.on("player-add-cmd", async ({ playerId }) => { await dlManager.enqueuePlayer(playerId); }); eventBus.on( "player-remove-cmd", async ({ playerId, purgeScores = false }) => { if (!playerId) return; await playerService.remove(playerId, purgeScores); } ); eventBus.on("dl-manager-pause-cmd", () => { log.debug("Pause Dl Manager", "CmdProcessor"); dlManager.pause(); }); eventBus.on("dl-manager-unpause-cmd", () => { log.debug("Unpause Dl Manager", "CmdProcessor"); dlManager.start(); }); initialized = true; log.info(`Command processor initialized`, "CmdProcessor"); };