happychat-service
Advanced tools
Comparing version 0.12.2 to 0.12.3
@@ -6,3 +6,3 @@ 'use strict'; | ||
}); | ||
exports.getClosedChatsOlderThan = exports.getNextAssignableChat = exports.haveAssignableChat = exports.getChatGroups = exports.getChatLocale = exports.isAssigningChat = exports.isChatStatusClosed = exports.isChatStatusNew = exports.getChatStatus = exports.getChats = exports.getChat = exports.getChatOperator = exports.getMissedChats = exports.getAbandonedChats = exports.getOperatorAbandonedChats = exports.getAllMissedChats = exports.getAllNewChats = exports.getChatsWithStatus = exports.getAllChats = exports.getOpenChatMembers = exports.getChatMembers = exports.getOpenChatsForOperator = exports.getChatsForOperator = exports.selectChatlist = undefined; | ||
exports.getClosedChatsOlderThan = exports.getNextAssignableChat = exports.haveAssignableChat = exports.getAllAssignableChats = exports.getChatGroups = exports.getChatLocale = exports.isAssigningChat = exports.isChatStatusClosed = exports.isChatStatusNew = exports.getChatStatus = exports.getChats = exports.getChat = exports.getChatOperator = exports.getMissedChats = exports.getAbandonedChats = exports.getOperatorAbandonedChats = exports.getAllMissedChats = exports.getAllNewChats = exports.getChatsWithStatus = exports.getAllChats = exports.getOpenChatMembers = exports.getChatMembers = exports.getOpenChatsForOperator = exports.getChatsForOperator = exports.selectChatlist = undefined; | ||
@@ -154,4 +154,8 @@ var _ramda = require('ramda'); | ||
var getAssignableChats = (0, _ramda.compose)((0, _ramda.filter)((0, _ramda.compose)((0, _ramda.anyPass)((0, _ramda.map)(_ramda.equals, [_reducer.STATUS_PENDING])), _reducer.statusView)), _ramda.values, selectChatlist); | ||
var findPending = (0, _ramda.filter)((0, _ramda.compose)((0, _ramda.anyPass)((0, _ramda.map)(_ramda.equals, [_reducer.STATUS_PENDING])), _reducer.statusView)); | ||
var getAssignableChats = (0, _ramda.compose)(findPending, _ramda.values, selectChatlist); | ||
var getAllAssignableChats = exports.getAllAssignableChats = (0, _ramda.compose)(mapToChat, findPending, _ramda.values, selectChatlist); | ||
var haveAssignableChat = exports.haveAssignableChat = (0, _ramda.compose)(_ramda.not, _ramda.isEmpty, getAssignableChats); | ||
@@ -158,0 +162,0 @@ |
@@ -518,15 +518,34 @@ 'use strict'; | ||
var chat = (0, _selectors.getNextAssignableChat)(store.getState()); | ||
var locale = (0, _selectors.getChatLocale)(chat.id, store.getState()); | ||
var groups = (0, _selectors.getChatGroups)(chat.id, store.getState()); | ||
var chats = (0, _selectors.getAllAssignableChats)(store.getState()); | ||
var _iteratorNormalCompletion = true; | ||
var _didIteratorError = false; | ||
var _iteratorError = undefined; | ||
debug('checking capacity to assign chat', locale, groups); | ||
try { | ||
for (var _iterator = chats[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { | ||
var chat = _step.value; | ||
if (!(0, _selectors2.haveAvailableCapacity)(locale, groups, store.getState())) { | ||
// TODO: Set chat as missed and let other chats through | ||
log('no capacity to assign chat', chat.id, locale, groups); | ||
return; | ||
var locale = (0, _selectors.getChatLocale)(chat.id, store.getState()); | ||
var groups = (0, _selectors.getChatGroups)(chat.id, store.getState()); | ||
debug('checking capacity to assign chat', locale, groups); | ||
if ((0, _selectors2.haveAvailableCapacity)(locale, groups, store.getState())) { | ||
return store.dispatch((0, _actions.assignChat)(chat)); | ||
} | ||
log('no capacity to assign chat', chat.id, locale, groups); | ||
} | ||
} catch (err) { | ||
_didIteratorError = true; | ||
_iteratorError = err; | ||
} finally { | ||
try { | ||
if (!_iteratorNormalCompletion && _iterator.return) { | ||
_iterator.return(); | ||
} | ||
} finally { | ||
if (_didIteratorError) { | ||
throw _iteratorError; | ||
} | ||
} | ||
} | ||
store.dispatch((0, _actions.assignChat)(chat)); | ||
}; | ||
@@ -533,0 +552,0 @@ |
{ | ||
"name": "happychat-service", | ||
"version": "0.12.2", | ||
"version": "0.12.3", | ||
"description": "Socket.IO based chat server for happychat.", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
129859
2794