bensaufley/code-words-api

View on GitHub
lib/sockets/socket-notifier.js

Summary

Maintainability
A
0 mins
Test Coverage
'use strict';

let config = require('../../config'),
    WebSocket = require('ws');

const GAMES_INDEXED = 'GAMES_INDEXED',
      GAME_UPDATED = 'GAME_UPDATED',
      GAME_REMOVED = 'GAME_REMOVED';

class SocketNotifier {
  constructor(userId) {
    this.userId = userId;
  }

  event(event, payload) {
    let ws = config.sockets[this.userId];
    if (!ws || ws.readyState !== WebSocket.OPEN) return;

    ws.send(JSON.stringify({ event, payload }));
  }
}

module.exports = {
  GAMES_INDEXED,
  GAME_UPDATED,
  GAME_REMOVED,
  SocketNotifier
};