This repository has been archived on 2023-10-27. You can view files and clone it, but cannot push or open issues or pull requests.
Files
scoresaber-reloaded/src/network/command-processor.js
2023-10-17 23:41:42 +01:00

49 lines
1.1 KiB
JavaScript

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");
};