Built motion from commit (unavailable).|2.5.13
[motion2.git] / server / services / ami / trigger / cmContact / index.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 _0x6fcc=['length','[CM][%s][%s]\x20Contact\x20found:%s','uniqueid','join','[CM][%s][%s]\x20Contact\x20not\x20found','data4','phone','[CM][%s][%s]\x20Autocreate\x20enabled','isNil','routeId','calleridname','<unknown>','Unknown','destcalleridname','push','[CM][%s][%s]\x20Contact\x20created:%s','[CM][%s][%s]\x20Autocreate\x20disabled','format','user:%s','name','trigger:%s','action','toLowerCase','merge','bluebird','ioredis','util','../../../../config/environment','../../rpc/cmContact','redis','defaults','localhost','socket.io-emitter','info','[CM][%s][%s]','stringify','emit','exec','data1','data2','xmd-contactid','ListId','data3','split','$or','map','destcalleridnum','calleridnum','firstName','lastName','mobile','fax','createdAt','scheduledAt','updatedAt','union','resolve','then','getContacts','isEmpty'];(function(_0x193300,_0x576615){var _0x528734=function(_0x55d75f){while(--_0x55d75f){_0x193300['push'](_0x193300['shift']());}};_0x528734(++_0x576615);}(_0x6fcc,0x108));var _0xc6fc=function(_0x14f7fe,_0x5132c4){_0x14f7fe=_0x14f7fe-0x0;var _0x3d8309=_0x6fcc[_0x14f7fe];return _0x3d8309;};'use strict';var _=require('lodash');var BPromise=require(_0xc6fc('0x0'));var Redis=require(_0xc6fc('0x1'));var util=require(_0xc6fc('0x2'));var config=require(_0xc6fc('0x3'));var logger=require('../../../../config/logger')('trigger');var cmContactRpc=require(_0xc6fc('0x4'));config[_0xc6fc('0x5')]=_[_0xc6fc('0x6')](config[_0xc6fc('0x5')],{'host':_0xc6fc('0x7'),'port':0x18eb});var io=require(_0xc6fc('0x8'))(new Redis(config[_0xc6fc('0x5')]));function emit(_0x560b20,_0x2e32b6,_0x22df13,_0x20ee66,_0x35dc96){logger[_0xc6fc('0x9')](_0xc6fc('0xa'),_0x560b20,_0x2e32b6['id'],_0x22df13,_0x20ee66,JSON[_0xc6fc('0xb')](_0x35dc96));io['to'](_0x22df13)[_0xc6fc('0xc')](_0x20ee66,_0x35dc96);}exports[_0xc6fc('0xd')]=function(_0x3d7a33,_0xae7b30,_0x38eef0,_0x3b8083){var _0x2e5b2e,_0x80ceca;var _0x66fb00={};var _0x209b79=Number(_0x38eef0[_0xc6fc('0xe')]);var _0x1edc4a=_0x38eef0[_0xc6fc('0xf')]?Boolean(Number(_0x38eef0[_0xc6fc('0xf')])):![];var _0x2626a3;if(_0x3b8083[_0xc6fc('0x10')]){_0x66fb00['id']=_0x3b8083[_0xc6fc('0x10')];}if(!_0x66fb00['id']){_0x66fb00[_0xc6fc('0x11')]=_0x209b79;_0x2626a3=_0x38eef0[_0xc6fc('0x12')]&&_0x38eef0['data3']!=='0'?_0x38eef0[_0xc6fc('0x12')][_0xc6fc('0x13')](','):['phone'];_0x66fb00[_0xc6fc('0x14')]=_[_0xc6fc('0x15')](_0x2626a3,function(_0x4789a5){var _0x4860c5={};_0x4860c5[_0x4789a5]=_0x3b8083['routeId']?_0x3b8083[_0xc6fc('0x16')]:_0x3b8083[_0xc6fc('0x17')];return _0x4860c5;});}var _0x42eb66=['id',_0xc6fc('0x18'),_0xc6fc('0x19'),'phone',_0xc6fc('0x1a'),_0xc6fc('0x1b'),_0xc6fc('0x11'),_0xc6fc('0x1c'),_0xc6fc('0x1d'),_0xc6fc('0x1e')];var _0x1c130e=_[_0xc6fc('0x1f')](_0x42eb66,_0x2626a3);BPromise[_0xc6fc('0x20')]()[_0xc6fc('0x21')](cmContactRpc[_0xc6fc('0x22')]({'attributes':_0x1c130e,'where':_0x66fb00}))[_0xc6fc('0x21')](function(_0x906d96){_0x80ceca=_0x906d96;if(!_[_0xc6fc('0x23')](_0x80ceca)){if(_0x80ceca[_0xc6fc('0x24')]===0x1){_0x2e5b2e=_0x80ceca[0x0];logger[_0xc6fc('0x9')](_0xc6fc('0x25'),_0x3b8083[_0xc6fc('0x26')],_0xae7b30['id'],_0x2e5b2e['id']);}else{logger[_0xc6fc('0x9')]('[CM][%s][%s]\x20Multiple\x20contacts\x20found:[%s]',_0x3b8083[_0xc6fc('0x26')],_0xae7b30['id'],_['map'](_0x80ceca,'id')[_0xc6fc('0x27')](','));}return;}else{logger['info'](_0xc6fc('0x28'),_0x3b8083[_0xc6fc('0x26')],_0xae7b30['id']);var _0x342730={'ListId':_0x209b79};var _0x55cbd1=_0x38eef0['data4']&&_0x38eef0[_0xc6fc('0x29')]!=='0'?_0x38eef0[_0xc6fc('0x29')]:_0xc6fc('0x2a');if(_0x1edc4a){logger[_0xc6fc('0x9')](_0xc6fc('0x2b'),_0x3b8083[_0xc6fc('0x26')],_0xae7b30['id']);_0x342730[_0x55cbd1]=_[_0xc6fc('0x2c')](_0x3b8083['routeId'])?_0x3b8083['calleridnum']:_0x3b8083[_0xc6fc('0x16')];if(_['isNil'](_0x3b8083[_0xc6fc('0x2d')])){_0x342730[_0xc6fc('0x18')]=_0x3b8083[_0xc6fc('0x2e')]&&_0x3b8083['calleridname']!==_0xc6fc('0x2f')?_0x3b8083['calleridname']:_0xc6fc('0x30');}else{_0x342730['firstName']=_0x3b8083[_0xc6fc('0x31')]&&_0x3b8083[_0xc6fc('0x31')]!=='<unknown>'?_0x3b8083['destcalleridname']:_0xc6fc('0x30');}return BPromise[_0xc6fc('0x20')]()[_0xc6fc('0x21')](cmContactRpc['createContact'](_0x342730))[_0xc6fc('0x21')](function(_0x52651c){_0x2e5b2e=_0x52651c;_0x80ceca[_0xc6fc('0x32')](_0x52651c);if(_0x2e5b2e){logger[_0xc6fc('0x9')](_0xc6fc('0x33'),_0x3b8083[_0xc6fc('0x26')],_0xae7b30['id'],_0x2e5b2e['id']);}return;});}else{logger[_0xc6fc('0x9')](_0xc6fc('0x34'),_0x3b8083[_0xc6fc('0x26')],_0xae7b30['id']);_0x342730[_0x55cbd1]=_[_0xc6fc('0x2c')](_0x3b8083[_0xc6fc('0x2d')])?_0x3b8083[_0xc6fc('0x17')]:_0x3b8083[_0xc6fc('0x16')];if(_['isNil'](_0x3b8083[_0xc6fc('0x2d')])){_0x342730[_0xc6fc('0x18')]=_0x3b8083[_0xc6fc('0x2e')]&&_0x3b8083[_0xc6fc('0x2e')]!==_0xc6fc('0x2f')?_0x3b8083[_0xc6fc('0x2e')]:_0xc6fc('0x30');}else{_0x342730[_0xc6fc('0x18')]=_0x3b8083[_0xc6fc('0x31')]&&_0x3b8083['destcalleridname']!==_0xc6fc('0x2f')?_0x3b8083[_0xc6fc('0x31')]:_0xc6fc('0x30');}_0x2e5b2e=_0x342730;_0x80ceca['push'](_0x342730);return;}}})['then'](function(){if(_0x3d7a33){emit(_0x3b8083[_0xc6fc('0x26')],_0xae7b30,util[_0xc6fc('0x35')](_0xc6fc('0x36'),_0x3d7a33[_0xc6fc('0x37')]),util[_0xc6fc('0x35')](_0xc6fc('0x38'),_0x38eef0[_0xc6fc('0x39')][_0xc6fc('0x3a')]()),{'evt':_[_0xc6fc('0x3b')](_0x3b8083,{'autoCreate':_0x1edc4a}),'contact':_0x2e5b2e===undefined?{}:_0x2e5b2e,'contacts':_0x80ceca[_0xc6fc('0x24')]===0x0?undefined:_0x80ceca});}});};