45 lines
1.1 KiB
JavaScript
45 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');
|
||
|
}
|