a339ee9a3a3592435d408d7879047a2da832a95a
[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 _0x7c80=['group','i.id','ids','tag','countFilteredInteractions','count','length','clause','order','forEach','closed','getClosedOrderClause','DESC','rows','tracked','clone','body','omit','fax','mobile','updateUser','payload','agent','UserId','updateMessageById','message','updateInteractionById','capitalize','InteractionId','interaction','logAcceptMessage','sendRoutingAcceptEvent','ContactId','contact','findAgentById','manual','SIP/','name','isNewInteraction','assign','sendInteractionOpenedEvent','accept','sendAmiAcceptEvent','acceptMessage','lodash','./accept-message','findAll','skipInteractionsQuery','getInteractionsQuery','resolve','then','search','parseAdvancedSearchFilter','parseQueryParameters','where','default','fields','user','having','read'];(function(_0x552804,_0x3c3d1e){var _0x32be66=function(_0x14c213){while(--_0x14c213){_0x552804['push'](_0x552804['shift']());}};_0x32be66(++_0x3c3d1e);}(_0x7c80,0xa4));var _0x07c8=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x7c80[_0x3dd15e];return _0x231fd0;};'use strict';var _=require(_0x07c8('0x0'));var acceptUtils=require(_0x07c8('0x1'));var sqlUtils=require('./sql-utils');var utils=require('./utils');exports[_0x07c8('0x2')]=function(_0x17fa86,_0xae0c43,_0x519dd3,_0x19356e,_0x750fb2){var _0x2f652b={'count':0x0,'rows':[]};var _0x530b95=sqlUtils[_0x07c8('0x3')](_0x17fa86,_0x519dd3,_0xae0c43);if(_0x530b95){return Promise['resolve'](_0x2f652b);}var _0x4a5354=sqlUtils[_0x07c8('0x4')](_0x17fa86);var _0xc0c7bf={};return Promise[_0x07c8('0x5')]()[_0x07c8('0x6')](function(){if(_0xae0c43[_0x07c8('0x7')]){return sqlUtils[_0x07c8('0x8')](_0xae0c43['search'],_0x750fb2);}else{return sqlUtils[_0x07c8('0x9')](_0x17fa86,_0xae0c43,_0x750fb2);}})['then'](function(_0x4e6beb){_0x4a5354[_0x07c8('0xa')](_0x4e6beb['body']);_0x4a5354[_0x07c8('0xa')](_0x4e6beb['contact']);_0x4a5354['where'](_0x4e6beb[_0x07c8('0xb')]);_0x4a5354[_0x07c8('0xa')](_0x4e6beb[_0x07c8('0xc')]);_0x4a5354[_0x07c8('0xa')](_0x4e6beb['filter']);_0x4a5354[_0x07c8('0xa')](_0x4e6beb[_0x07c8('0xd')]);_0x4a5354[_0x07c8('0xe')](_0x4e6beb[_0x07c8('0xf')]);_0xc0c7bf=_0x4e6beb['tags'];return sqlUtils['checkAccountsRestrictions'](_0x17fa86,_0x519dd3,_0xae0c43);})[_0x07c8('0x6')](function(_0x533754){_0x4a5354[_0x07c8('0xa')](_0x533754);_0x4a5354[_0x07c8('0x10')](_0x07c8('0x11'));var _0x3997e7=_0xae0c43[_0x07c8('0x7')]?_0xc0c7bf[_0x07c8('0x12')]:_0xae0c43[_0x07c8('0x13')];return sqlUtils[_0x07c8('0x14')](_0x4a5354,_0x3997e7);})[_0x07c8('0x6')](function(_0x1a85c0){_0x2f652b[_0x07c8('0x15')]=_0x1a85c0[_0x07c8('0x16')];if(_0x2f652b[_0x07c8('0x15')]===0x0){return[];}_0x4a5354[_0x07c8('0xe')](_0xc0c7bf[_0x07c8('0x17')]);if(_0x19356e[_0x07c8('0x18')]){_0x19356e[_0x07c8('0x18')][_0x07c8('0x19')](function(_0x53421c){var _0xf3adc7=_0x53421c[0x0]==='contactName'?_0x53421c[0x0]:'i.'+_0x53421c[0x0];_0x4a5354['order'](_0xf3adc7,_0x53421c[0x1]==='DESC'?![]:!![]);if(_0x53421c[0x0]===_0x07c8('0x1a')){var _0x270875=sqlUtils[_0x07c8('0x1b')](_0x17fa86,_0xae0c43);_0x4a5354[_0x07c8('0x18')](_0x270875,_0x53421c[0x1]===_0x07c8('0x1c')?![]:!![]);}});}return sqlUtils['getFilteredInteractions'](_0x17fa86,_0x4a5354,_0xae0c43,_0x19356e);})[_0x07c8('0x6')](function(_0x278561){_0x2f652b[_0x07c8('0x1d')]=_0x278561;return _0x2f652b;})['catch'](function(_0xefbb7d){throw _0xefbb7d;});};exports[_0x07c8('0x1e')]=function(_0x3e3965,_0x470fe1){return function(_0x15e1bf,_0x3f482c,_0x4ae36a){var _0x265c81=_0x15e1bf['user'];var _0x56da28={};var _0x4b34a7=_0x15e1bf['query'];if(_0x56da28){_0x56da28=_[_0x07c8('0x1f')](_0x15e1bf[_0x07c8('0x20')]);_0x56da28=_[_0x07c8('0x21')](_0x56da28,['body','html','phone',_0x07c8('0x22'),_0x07c8('0x23')]);}utils[_0x07c8('0x24')](_0x265c81,_0x56da28,_0x4b34a7,_0x3e3965,_0x470fe1);_0x4ae36a(null);};};function acceptMessage(_0x6dbc13,_0x129455){var _0x3161a4={'agent':{},'channel':_0x129455};var _0x1ff6b9=acceptUtils['getAcceptParams'](_0x6dbc13);var _0x2e317d=_0x1ff6b9['messageId'];var _0xd851e0=_0x1ff6b9[_0x07c8('0x25')];var _0x50dbec=_0x1ff6b9[_0x07c8('0xd')];_0x3161a4[_0x07c8('0x26')]['id']=_0xd851e0[_0x07c8('0x27')];return acceptUtils[_0x07c8('0x28')](_0x129455,_0x2e317d,_0xd851e0)[_0x07c8('0x6')](function(_0x22aab3){_0x3161a4[_0x07c8('0x29')]=_0x22aab3;return acceptUtils[_0x07c8('0x2a')](_0x129455,_0x22aab3[_[_0x07c8('0x2b')](_0x129455)+_0x07c8('0x2c')],_0xd851e0[_0x07c8('0x27')]);})[_0x07c8('0x6')](function(_0x45d0d0){_0x3161a4[_0x07c8('0x2d')]=_0x45d0d0;utils[_0x07c8('0x2e')](_0x129455,_0x50dbec,_0x45d0d0['id'],_0xd851e0);return acceptUtils[_0x07c8('0x2f')](_0x129455,_0x3161a4);})[_0x07c8('0x6')](function(_0x12516c){return acceptUtils['findContactById'](_0x12516c[_0x07c8('0x29')][_0x07c8('0x30')]);})['then'](function(_0x1a3996){_0x3161a4[_0x07c8('0x29')][_0x07c8('0x31')]=_0x1a3996;return _0xd851e0[_0x07c8('0x27')]?acceptUtils[_0x07c8('0x32')](_0xd851e0[_0x07c8('0x27')]):null;})[_0x07c8('0x6')](function(_0x5f4467){_0x3161a4[_0x07c8('0x29')][_0x07c8('0x26')]=_0x5f4467;if(_0xd851e0[_0x07c8('0x33')]){var _0x16e574={'interface':_0x07c8('0x34')+_0x50dbec[_0x07c8('0x35')],'channel':_0x129455,'motionChannel':_0x129455};return acceptUtils[_0x07c8('0x36')](_0x129455,_0x3161a4[_0x07c8('0x2d')]['id'],_0x3161a4[_0x07c8('0x29')]['id'])['then'](function(_0x45eaea){if(_0x45eaea){var _0x2246cc=Object[_0x07c8('0x37')]({},_0x3161a4[_0x07c8('0x2d')],_0x16e574,{'contact':_0x3161a4[_0x07c8('0x29')][_0x07c8('0x31')]});return acceptUtils[_0x07c8('0x38')](_0x129455,_0x2246cc);}})[_0x07c8('0x6')](function(){Object['assign'](_0x3161a4['message'],_0x16e574,{'event':_0x07c8('0x39')});return acceptUtils[_0x07c8('0x3a')](_0x129455,_0x3161a4);});}})['then'](function(){return _0x3161a4;});}exports[_0x07c8('0x3b')]=acceptMessage;