58 lines
1.4 KiB
JavaScript
58 lines
1.4 KiB
JavaScript
|
|
NGApp.factory('eventSocket', function (socketFactory, $rootScope) {
|
|
// $rootScope.$on('userAuth', function(e, data) {
|
|
var myIoSocket = io.connect('https://chat.cockpit.la');
|
|
|
|
mySocket = socketFactory({
|
|
ioSocket: myIoSocket
|
|
});
|
|
|
|
return mySocket;
|
|
});
|
|
|
|
NGApp.factory('SocketService', function(eventSocket, AccountService, $rootScope) {
|
|
var service = {};
|
|
service.socket = eventSocket;
|
|
|
|
service.socket.on('connect', function (data) {
|
|
console.debug('Connected to socket.io');
|
|
|
|
service.socket.emit('auth', {
|
|
token: $.cookie('token'),
|
|
phpsessid: $.cookie('PHPSESSID'),
|
|
host: location.host
|
|
});
|
|
|
|
service.socket.emit('event.subscribe', 'user.preference.' + AccountService.user.id_admin);
|
|
|
|
if (AccountService.user && AccountService.user.prefs && AccountService.user.prefs['notification-desktop-support-all'] == '1') {
|
|
console.debug('Subscribing to all tickets');
|
|
service.socket.emit('event.subscribe', 'ticket.all');
|
|
} else {
|
|
console.debug('Unsubscribing to all tickets');
|
|
service.socket.emit('event.unsubscribe', 'ticket.all');
|
|
}
|
|
});
|
|
|
|
|
|
$rootScope.$on('user-preference', function(e, data) {
|
|
if (!service.socket) {
|
|
return;
|
|
}
|
|
console.log('Broadcasting preference change', data);
|
|
|
|
service.socket.emit('event.broadcast', {
|
|
to: {room: 'user.preference.' + AccountService.user.id_admin},
|
|
event: 'user.preference',
|
|
payload: {
|
|
key: data.key,
|
|
value: data.value
|
|
}
|
|
});
|
|
});
|
|
|
|
|
|
return service;
|
|
});
|
|
|