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

49 lines
1.1 KiB
JavaScript
Raw Normal View History

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