Built motion from commit 10af8726.|2.6.34
[motion2.git] / server / components / interaction / service.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x570d=['contact','findAgentById','manual','SIP/','name','assign','sendInteractionOpenedEvent','accept','sendAmiAcceptEvent','acceptMessage','lodash','./sql-utils','./utils','resolve','then','search','parseAdvancedSearchFilter','parseQueryParameters','where','body','default','fields','user','checkAccountsRestrictions','group','i.id','ids','tag','countFilteredInteractions','count','length','order','contactName','DESC','getFilteredInteractions','catch','tracked','query','phone','fax','mobile','updateUser','getAcceptParams','messageId','UserId','updateMessageById','message','updateInteractionById','capitalize','InteractionId','logAcceptMessage','findContactById','ContactId'];(function(_0x225fb6,_0x191747){var _0x50cfe2=function(_0x519a17){while(--_0x519a17){_0x225fb6['push'](_0x225fb6['shift']());}};_0x50cfe2(++_0x191747);}(_0x570d,0x113));var _0xd570=function(_0x284540,_0x55261d){_0x284540=_0x284540-0x0;var _0x5239dc=_0x570d[_0x284540];return _0x5239dc;};'use strict';var _=require(_0xd570('0x0'));var acceptUtils=require('./accept-message');var sqlUtils=require(_0xd570('0x1'));var utils=require(_0xd570('0x2'));exports['findAll']=function(_0x3b6732,_0x3893d4,_0x3a4497,_0x12fd7e,_0x3f8f74){var _0x538125={'count':0x0,'rows':[]};var _0x2314e4=sqlUtils['skipInteractionsQuery'](_0x3b6732,_0x3a4497,_0x3893d4);if(_0x2314e4){return Promise[_0xd570('0x3')](_0x538125);}var _0x1426d3=sqlUtils['getInteractionsQuery'](_0x3b6732);var _0x39b813={};return Promise[_0xd570('0x3')]()[_0xd570('0x4')](function(){if(_0x3893d4[_0xd570('0x5')]){return sqlUtils[_0xd570('0x6')](_0x3893d4[_0xd570('0x5')],_0x3f8f74);}else{return sqlUtils[_0xd570('0x7')](_0x3b6732,_0x3893d4,_0x3f8f74);}})[_0xd570('0x4')](function(_0x31a5ac){_0x1426d3[_0xd570('0x8')](_0x31a5ac[_0xd570('0x9')]);_0x1426d3['where'](_0x31a5ac['contact']);_0x1426d3[_0xd570('0x8')](_0x31a5ac[_0xd570('0xa')]);_0x1426d3[_0xd570('0x8')](_0x31a5ac[_0xd570('0xb')]);_0x1426d3['where'](_0x31a5ac['filter']);_0x1426d3[_0xd570('0x8')](_0x31a5ac[_0xd570('0xc')]);_0x1426d3['having'](_0x31a5ac['read']);_0x39b813=_0x31a5ac['tags'];return sqlUtils[_0xd570('0xd')](_0x3b6732,_0x3a4497,_0x3893d4);})[_0xd570('0x4')](function(_0xf4988){_0x1426d3[_0xd570('0x8')](_0xf4988);_0x1426d3[_0xd570('0xe')](_0xd570('0xf'));var _0x41a42d=_0x3893d4['search']?_0x39b813[_0xd570('0x10')]:_0x3893d4[_0xd570('0x11')];return sqlUtils[_0xd570('0x12')](_0x1426d3,_0x41a42d);})[_0xd570('0x4')](function(_0x913c65){_0x538125[_0xd570('0x13')]=_0x913c65[_0xd570('0x14')];if(_0x538125[_0xd570('0x13')]===0x0){return[];}_0x1426d3['having'](_0x39b813['clause']);if(_0x12fd7e[_0xd570('0x15')]){_0x12fd7e[_0xd570('0x15')]['forEach'](function(_0x5bbe70){var _0x365b80=_0x5bbe70[0x0]===_0xd570('0x16')?_0x5bbe70[0x0]:'i.'+_0x5bbe70[0x0];_0x1426d3[_0xd570('0x15')](_0x365b80,_0x5bbe70[0x1]===_0xd570('0x17')?![]:!![]);if(_0x5bbe70[0x0]==='closed'){var _0x1d0634=sqlUtils['getClosedOrderClause'](_0x3b6732,_0x3893d4);_0x1426d3[_0xd570('0x15')](_0x1d0634,_0x5bbe70[0x1]==='DESC'?![]:!![]);}});}return sqlUtils[_0xd570('0x18')](_0x3b6732,_0x1426d3,_0x3893d4,_0x12fd7e);})[_0xd570('0x4')](function(_0x439ddc){_0x538125['rows']=_0x439ddc;return _0x538125;})[_0xd570('0x19')](function(_0x188fc2){throw _0x188fc2;});};exports[_0xd570('0x1a')]=function(_0x11ebbf,_0x55d074){return function(_0x5c81d2,_0x4dab24,_0x59bb7c){var _0x679897=_0x5c81d2[_0xd570('0xc')];var _0x582d90={};var _0x405849=_0x5c81d2[_0xd570('0x1b')];if(_0x582d90){_0x582d90=_['clone'](_0x5c81d2['body']);_0x582d90=_['omit'](_0x582d90,[_0xd570('0x9'),'html',_0xd570('0x1c'),_0xd570('0x1d'),_0xd570('0x1e')]);}utils[_0xd570('0x1f')](_0x679897,_0x582d90,_0x405849,_0x11ebbf,_0x55d074);_0x59bb7c(null);};};function acceptMessage(_0x230a94,_0xab2a87){var _0x582f42={'agent':{},'channel':_0xab2a87};var _0xa7c326=acceptUtils[_0xd570('0x20')](_0x230a94);var _0x57fe59=_0xa7c326[_0xd570('0x21')];var _0x2f6d96=_0xa7c326['payload'];var _0x43697d=_0xa7c326[_0xd570('0xc')];_0x582f42['agent']['id']=_0x2f6d96[_0xd570('0x22')];return acceptUtils[_0xd570('0x23')](_0xab2a87,_0x57fe59,_0x2f6d96)[_0xd570('0x4')](function(_0xbbca20){_0x582f42[_0xd570('0x24')]=_0xbbca20;return acceptUtils[_0xd570('0x25')](_0xab2a87,_0xbbca20[_[_0xd570('0x26')](_0xab2a87)+_0xd570('0x27')],_0x2f6d96[_0xd570('0x22')]);})[_0xd570('0x4')](function(_0x276c53){_0x582f42['interaction']=_0x276c53;utils[_0xd570('0x28')](_0xab2a87,_0x43697d,_0x276c53['id'],_0x2f6d96);return acceptUtils['sendRoutingAcceptEvent'](_0xab2a87,_0x582f42);})[_0xd570('0x4')](function(_0x541111){return acceptUtils[_0xd570('0x29')](_0x541111[_0xd570('0x24')][_0xd570('0x2a')]);})['then'](function(_0x2a5c62){_0x582f42['message'][_0xd570('0x2b')]=_0x2a5c62;return _0x2f6d96['UserId']?acceptUtils[_0xd570('0x2c')](_0x2f6d96[_0xd570('0x22')]):null;})[_0xd570('0x4')](function(_0x51ad3f){_0x582f42[_0xd570('0x24')]['agent']=_0x51ad3f;if(_0x2f6d96[_0xd570('0x2d')]){var _0x45c17f={'interface':_0xd570('0x2e')+_0x43697d[_0xd570('0x2f')],'channel':_0xab2a87,'motionChannel':_0xab2a87};return acceptUtils['isNewInteraction'](_0xab2a87,_0x582f42['interaction']['id'],_0x582f42[_0xd570('0x24')]['id'])['then'](function(_0x28725b){if(_0x28725b){var _0x4190d5=Object[_0xd570('0x30')]({},_0x582f42['interaction'],_0x45c17f,{'contact':_0x582f42[_0xd570('0x24')][_0xd570('0x2b')]});return acceptUtils[_0xd570('0x31')](_0xab2a87,_0x4190d5);}})[_0xd570('0x4')](function(){Object[_0xd570('0x30')](_0x582f42[_0xd570('0x24')],_0x45c17f,{'event':_0xd570('0x32')});return acceptUtils[_0xd570('0x33')](_0xab2a87,_0x582f42);});}})[_0xd570('0x4')](function(){return _0x582f42;});}exports[_0xd570('0x34')]=acceptMessage;