c4400aa15cc3bd8a69939263d4499512c11dc85c
[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 _0xa30a=['getFilteredInteractions','rows','tracked','user','clone','phone','fax','mobile','updateUser','getAcceptParams','messageId','payload','agent','UserId','updateMessageById','message','updateInteractionById','capitalize','InteractionId','logAcceptMessage','sendRoutingAcceptEvent','findContactById','findAgentById','manual','SIP/','name','isNewInteraction','assign','interaction','sendInteractionOpenedEvent','accept','sendAmiAcceptEvent','lodash','./accept-message','./sql-utils','findAll','skipInteractionsQuery','getInteractionsQuery','then','search','parseAdvancedSearchFilter','parseQueryParameters','body','contact','where','default','filter','having','read','tags','checkAccountsRestrictions','group','i.id','ids','count','clause','order','forEach','DESC','closed','getClosedOrderClause'];(function(_0x3a7d2c,_0x180ea0){var _0x389df9=function(_0x1259b8){while(--_0x1259b8){_0x3a7d2c['push'](_0x3a7d2c['shift']());}};_0x389df9(++_0x180ea0);}(_0xa30a,0xd7));var _0xaa30=function(_0x20a584,_0xe384a5){_0x20a584=_0x20a584-0x0;var _0x4b41a8=_0xa30a[_0x20a584];return _0x4b41a8;};'use strict';var _=require(_0xaa30('0x0'));var acceptUtils=require(_0xaa30('0x1'));var sqlUtils=require(_0xaa30('0x2'));var utils=require('./utils');exports[_0xaa30('0x3')]=function(_0x1ebf61,_0x36f517,_0x2901b7,_0x2a9b06,_0x271425){var _0x102ad7={'count':0x0,'rows':[]};var _0x555947=sqlUtils[_0xaa30('0x4')](_0x1ebf61,_0x2901b7,_0x36f517);if(_0x555947){return Promise['resolve'](_0x102ad7);}var _0x8af448=sqlUtils[_0xaa30('0x5')](_0x1ebf61);var _0x42dc22={};return Promise['resolve']()[_0xaa30('0x6')](function(){if(_0x36f517[_0xaa30('0x7')]){return sqlUtils[_0xaa30('0x8')](_0x36f517[_0xaa30('0x7')],_0x271425);}else{return sqlUtils[_0xaa30('0x9')](_0x1ebf61,_0x36f517,_0x271425);}})[_0xaa30('0x6')](function(_0x56f686){_0x8af448['where'](_0x56f686[_0xaa30('0xa')]);_0x8af448['where'](_0x56f686[_0xaa30('0xb')]);_0x8af448[_0xaa30('0xc')](_0x56f686[_0xaa30('0xd')]);_0x8af448[_0xaa30('0xc')](_0x56f686['fields']);_0x8af448[_0xaa30('0xc')](_0x56f686[_0xaa30('0xe')]);_0x8af448[_0xaa30('0xc')](_0x56f686['user']);_0x8af448[_0xaa30('0xf')](_0x56f686[_0xaa30('0x10')]);_0x42dc22=_0x56f686[_0xaa30('0x11')];return sqlUtils[_0xaa30('0x12')](_0x1ebf61,_0x2901b7,_0x36f517);})[_0xaa30('0x6')](function(_0x31aa0b){_0x8af448[_0xaa30('0xc')](_0x31aa0b);_0x8af448[_0xaa30('0x13')](_0xaa30('0x14'));var _0xfae724=_0x36f517['search']?_0x42dc22[_0xaa30('0x15')]:_0x36f517['tag'];return sqlUtils['countFilteredInteractions'](_0x8af448,_0xfae724);})[_0xaa30('0x6')](function(_0x153939){_0x102ad7[_0xaa30('0x16')]=_0x153939['length'];if(_0x102ad7['count']===0x0){return[];}_0x8af448['having'](_0x42dc22[_0xaa30('0x17')]);if(_0x2a9b06['order']){_0x2a9b06[_0xaa30('0x18')][_0xaa30('0x19')](function(_0x48561d){var _0x4e29f9=_0x48561d[0x0]==='contactName'?_0x48561d[0x0]:'i.'+_0x48561d[0x0];_0x8af448[_0xaa30('0x18')](_0x4e29f9,_0x48561d[0x1]===_0xaa30('0x1a')?![]:!![]);if(_0x48561d[0x0]===_0xaa30('0x1b')){var _0x35ec07=sqlUtils[_0xaa30('0x1c')](_0x1ebf61,_0x36f517);_0x8af448['order'](_0x35ec07,_0x48561d[0x1]===_0xaa30('0x1a')?![]:!![]);}});}return sqlUtils[_0xaa30('0x1d')](_0x1ebf61,_0x8af448,_0x36f517,_0x2a9b06);})[_0xaa30('0x6')](function(_0x2d9e35){_0x102ad7[_0xaa30('0x1e')]=_0x2d9e35;return _0x102ad7;})['catch'](function(_0x325b42){throw _0x325b42;});};exports[_0xaa30('0x1f')]=function(_0x2fecdd,_0x326f84){return function(_0x57d1ca,_0x14d7fa,_0x1be54c){var _0x19ba52=_0x57d1ca[_0xaa30('0x20')];var _0x97b038={};var _0x2a59ce=_0x57d1ca['query'];if(_0x97b038){_0x97b038=_[_0xaa30('0x21')](_0x57d1ca[_0xaa30('0xa')]);_0x97b038=_['omit'](_0x97b038,[_0xaa30('0xa'),'html',_0xaa30('0x22'),_0xaa30('0x23'),_0xaa30('0x24')]);}utils[_0xaa30('0x25')](_0x19ba52,_0x97b038,_0x2a59ce,_0x2fecdd,_0x326f84);_0x1be54c(null);};};function acceptMessage(_0x37b4a6,_0xc10b8f){var _0x6ff09a={'agent':{},'channel':_0xc10b8f};var _0x39f708=acceptUtils[_0xaa30('0x26')](_0x37b4a6);var _0x43fb30=_0x39f708[_0xaa30('0x27')];var _0x43003f=_0x39f708[_0xaa30('0x28')];var _0x46abb9=_0x39f708[_0xaa30('0x20')];_0x6ff09a[_0xaa30('0x29')]['id']=_0x43003f[_0xaa30('0x2a')];return acceptUtils[_0xaa30('0x2b')](_0xc10b8f,_0x43fb30,_0x43003f)['then'](function(_0x3f5ac0){_0x6ff09a[_0xaa30('0x2c')]=_0x3f5ac0;return acceptUtils[_0xaa30('0x2d')](_0xc10b8f,_0x3f5ac0[_[_0xaa30('0x2e')](_0xc10b8f)+_0xaa30('0x2f')],_0x43003f[_0xaa30('0x2a')]);})['then'](function(_0x5addbf){_0x6ff09a['interaction']=_0x5addbf;utils[_0xaa30('0x30')](_0xc10b8f,_0x46abb9,_0x5addbf['id'],_0x43003f);return acceptUtils[_0xaa30('0x31')](_0xc10b8f,_0x6ff09a);})[_0xaa30('0x6')](function(_0x198595){return acceptUtils[_0xaa30('0x32')](_0x198595['message']['ContactId']);})[_0xaa30('0x6')](function(_0x2d26fb){_0x6ff09a['message'][_0xaa30('0xb')]=_0x2d26fb;return _0x43003f['UserId']?acceptUtils[_0xaa30('0x33')](_0x43003f['UserId']):null;})[_0xaa30('0x6')](function(_0x18e702){_0x6ff09a['message'][_0xaa30('0x29')]=_0x18e702;if(_0x43003f[_0xaa30('0x34')]){var _0x3dd1ed={'interface':_0xaa30('0x35')+_0x46abb9[_0xaa30('0x36')],'channel':_0xc10b8f,'motionChannel':_0xc10b8f};return acceptUtils[_0xaa30('0x37')](_0xc10b8f,_0x6ff09a['interaction']['id'],_0x6ff09a[_0xaa30('0x2c')]['id'])[_0xaa30('0x6')](function(_0x53dd7c){if(_0x53dd7c){var _0x3769ea=Object[_0xaa30('0x38')]({},_0x6ff09a[_0xaa30('0x39')],_0x3dd1ed,{'contact':_0x6ff09a['message']['contact']});return acceptUtils[_0xaa30('0x3a')](_0xc10b8f,_0x3769ea);}})[_0xaa30('0x6')](function(){Object[_0xaa30('0x38')](_0x6ff09a[_0xaa30('0x2c')],_0x3dd1ed,{'event':_0xaa30('0x3b')});return acceptUtils[_0xaa30('0x3c')](_0xc10b8f,_0x6ff09a);});}})['then'](function(){return _0x6ff09a;});}exports['acceptMessage']=acceptMessage;