Last active
October 16, 2017 13:47
-
-
Save slavic18/4ee1c8620e9aada432e513db4e1b70be to your computer and use it in GitHub Desktop.
Example of node socket controller.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const EventsController = require('./events'); | |
const UsersController = require('./users'); | |
const socketsController = function (io) { | |
io.sockets.on('connection', function (socket) { | |
// login socket | |
if (!socket.decoded_token) { | |
console.log("Disconnecting unauthorized socket ", socket.id); | |
socket.disconnect('unauthorized'); | |
} else { | |
UsersController.initSocket(socket); | |
} | |
socket.on('getCurrentState', function (data) { | |
if (data.state) { | |
socket.currentState = { | |
type: data.state | |
}; | |
if (data.stateFrom) { | |
socket.currentState.from = new Date(data.stateFrom); | |
} | |
if (data.stateTo) { | |
socket.currentState.to = new Date(data.stateTo); | |
} | |
} | |
EventsController.getSocket(socket); | |
}); | |
socket.on('entryEvent', function (data) { | |
socket.join(data.eventId); | |
}); | |
socket.on('createNewEvent', function (data) { | |
EventsController.postSocket(data, socket, io); | |
}); | |
socket.on('disconnect', function () { | |
console.log('disconnect user'); | |
if (typeof socket.authUser !== 'undefined') { | |
socket.emit('reconnect'); | |
} | |
}); | |
}); | |
}; | |
module.exports = socketsController; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment