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

45 lines
1.1 KiB
JavaScript
Raw Normal View History

2023-10-17 21:42:37 +01:00
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');
}