Built motion from commit 953226e6.|2.6.32
[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 _0x3b48=['join','[CM][%s][%s]\x20Contact\x20not\x20found','data4','[CM][%s][%s]\x20Autocreate\x20enabled','calleridname','<unknown>','Unknown','destcalleridname','resolve','createContact','push','[CM][%s][%s]\x20Contact\x20created:%s','[CM][%s][%s]\x20Autocreate\x20disabled','format','user:%s','name','trigger:%s','action','toLowerCase','merge','lodash','bluebird','ioredis','util','../../../../config/environment','../../../../config/logger','trigger','redis','localhost','socket.io-emitter','info','[CM][%s][%s]','emit','exec','data2','isNil','data5','xmd-contactid','ListId','data3','split','$or','map','routeId','destcalleridnum','calleridnum','firstName','mobile','fax','createdAt','scheduledAt','updatedAt','union','then','isEmpty','length','[CM][%s][%s]\x20Contact\x20found:%s','uniqueid','[CM][%s][%s]\x20Multiple\x20contacts\x20found:[%s]'];(function(_0x1cca1b,_0x143f37){var _0x246bb2=function(_0x11cab0){while(--_0x11cab0){_0x1cca1b['push'](_0x1cca1b['shift']());}};_0x246bb2(++_0x143f37);}(_0x3b48,0x1b1));var _0x83b4=function(_0x2effe3,_0x564748){_0x2effe3=_0x2effe3-0x0;var _0x25e799=_0x3b48[_0x2effe3];return _0x25e799;};'use strict';var _=require(_0x83b4('0x0'));var BPromise=require(_0x83b4('0x1'));var Redis=require(_0x83b4('0x2'));var util=require(_0x83b4('0x3'));var config=require(_0x83b4('0x4'));var logger=require(_0x83b4('0x5'))(_0x83b4('0x6'));var cmContactRpc=require('../../rpc/cmContact');config['redis']=_['defaults'](config[_0x83b4('0x7')],{'host':_0x83b4('0x8'),'port':0x18eb});var io=require(_0x83b4('0x9'))(new Redis(config[_0x83b4('0x7')]));function emit(_0x1e9cc6,_0x3a722c,_0x11e7d6,_0x29592d,_0x252fde){logger[_0x83b4('0xa')](_0x83b4('0xb'),_0x1e9cc6,_0x3a722c['id'],_0x11e7d6,_0x29592d,JSON['stringify'](_0x252fde));io['to'](_0x11e7d6)[_0x83b4('0xc')](_0x29592d,_0x252fde);}exports[_0x83b4('0xd')]=function(_0x497495,_0x206795,_0x37cf50,_0x56ca33){var _0x1dba25,_0x42ceb0;var _0x5ba70a={};var _0x311acd;var _0x21cfd5=Number(_0x37cf50['data1']);var _0x39ae2d=_0x37cf50['data2']?Boolean(Number(_0x37cf50[_0x83b4('0xe')])):![];var _0x62b2c2;var _0x486a0a=![];if(!_[_0x83b4('0xf')](_0x37cf50['data5'])){if(_0x37cf50[_0x83b4('0x10')]=='1')_0x486a0a=!![];}if(!_0x486a0a){if(_0x56ca33[_0x83b4('0x11')]){_0x5ba70a['id']=_0x56ca33['xmd-contactid'];}}if(!_0x5ba70a['id']){_0x5ba70a[_0x83b4('0x12')]=_0x21cfd5;_0x62b2c2=_0x37cf50[_0x83b4('0x13')]&&_0x37cf50['data3']!=='0'?_0x37cf50[_0x83b4('0x13')][_0x83b4('0x14')](','):['phone'];_0x5ba70a[_0x83b4('0x15')]=_[_0x83b4('0x16')](_0x62b2c2,function(_0x3350f2){var _0x294fd5={};_0x294fd5[_0x3350f2]=_0x56ca33[_0x83b4('0x17')]?_0x56ca33[_0x83b4('0x18')]:_0x56ca33[_0x83b4('0x19')];return _0x294fd5;});_0x311acd=_0x56ca33[_0x83b4('0x17')]?_0x56ca33[_0x83b4('0x18')]:_0x56ca33[_0x83b4('0x19')];}var _0x243b9a=['id',_0x83b4('0x1a'),'lastName','phone',_0x83b4('0x1b'),_0x83b4('0x1c'),_0x83b4('0x12'),_0x83b4('0x1d'),_0x83b4('0x1e'),_0x83b4('0x1f')];var _0x55a4bd=_[_0x83b4('0x20')](_0x243b9a,_0x62b2c2);BPromise['resolve']()[_0x83b4('0x21')](cmContactRpc['getContacts']({'attributes':_0x55a4bd,'where':_0x5ba70a,'phone':_0x311acd}))['then'](function(_0xea8e58){_0x42ceb0=_0xea8e58;if(!_[_0x83b4('0x22')](_0x42ceb0)){if(_0x42ceb0[_0x83b4('0x23')]===0x1){_0x1dba25=_0x42ceb0[0x0];logger[_0x83b4('0xa')](_0x83b4('0x24'),_0x56ca33[_0x83b4('0x25')],_0x206795['id'],_0x1dba25['id']);}else{logger[_0x83b4('0xa')](_0x83b4('0x26'),_0x56ca33[_0x83b4('0x25')],_0x206795['id'],_[_0x83b4('0x16')](_0x42ceb0,'id')[_0x83b4('0x27')](','));}return;}else{logger[_0x83b4('0xa')](_0x83b4('0x28'),_0x56ca33[_0x83b4('0x25')],_0x206795['id']);var _0xbfde6c={'ListId':_0x21cfd5};var _0x53cdd8=_0x37cf50[_0x83b4('0x29')]&&_0x37cf50['data4']!=='0'?_0x37cf50[_0x83b4('0x29')]:'phone';if(_0x39ae2d){logger[_0x83b4('0xa')](_0x83b4('0x2a'),_0x56ca33[_0x83b4('0x25')],_0x206795['id']);_0xbfde6c[_0x53cdd8]=_[_0x83b4('0xf')](_0x56ca33[_0x83b4('0x17')])?_0x56ca33[_0x83b4('0x19')]:_0x56ca33[_0x83b4('0x18')];if(_[_0x83b4('0xf')](_0x56ca33['routeId'])){_0xbfde6c[_0x83b4('0x1a')]=_0x56ca33[_0x83b4('0x2b')]&&_0x56ca33[_0x83b4('0x2b')]!==_0x83b4('0x2c')?_0x56ca33[_0x83b4('0x2b')]:_0x83b4('0x2d');}else{_0xbfde6c[_0x83b4('0x1a')]=_0x56ca33[_0x83b4('0x2e')]&&_0x56ca33['destcalleridname']!==_0x83b4('0x2c')?_0x56ca33[_0x83b4('0x2e')]:_0x83b4('0x2d');}return BPromise[_0x83b4('0x2f')]()[_0x83b4('0x21')](cmContactRpc[_0x83b4('0x30')](_0xbfde6c))[_0x83b4('0x21')](function(_0x2386f0){_0x1dba25=_0x2386f0;_0x42ceb0[_0x83b4('0x31')](_0x2386f0);if(_0x1dba25){logger[_0x83b4('0xa')](_0x83b4('0x32'),_0x56ca33[_0x83b4('0x25')],_0x206795['id'],_0x1dba25['id']);}return;});}else{logger[_0x83b4('0xa')](_0x83b4('0x33'),_0x56ca33[_0x83b4('0x25')],_0x206795['id']);_0xbfde6c[_0x53cdd8]=_[_0x83b4('0xf')](_0x56ca33[_0x83b4('0x17')])?_0x56ca33[_0x83b4('0x19')]:_0x56ca33[_0x83b4('0x18')];if(_[_0x83b4('0xf')](_0x56ca33[_0x83b4('0x17')])){_0xbfde6c['firstName']=_0x56ca33[_0x83b4('0x2b')]&&_0x56ca33[_0x83b4('0x2b')]!=='<unknown>'?_0x56ca33[_0x83b4('0x2b')]:_0x83b4('0x2d');}else{_0xbfde6c[_0x83b4('0x1a')]=_0x56ca33[_0x83b4('0x2e')]&&_0x56ca33[_0x83b4('0x2e')]!=='<unknown>'?_0x56ca33[_0x83b4('0x2e')]:_0x83b4('0x2d');}_0x1dba25=_0xbfde6c;_0x42ceb0[_0x83b4('0x31')](_0xbfde6c);return;}}})['then'](function(){if(_0x497495){emit(_0x56ca33[_0x83b4('0x25')],_0x206795,util[_0x83b4('0x34')](_0x83b4('0x35'),_0x497495[_0x83b4('0x36')]),util['format'](_0x83b4('0x37'),_0x37cf50[_0x83b4('0x38')][_0x83b4('0x39')]()),{'evt':_[_0x83b4('0x3a')](_0x56ca33,{'autoCreate':_0x39ae2d}),'contact':_0x1dba25===undefined?{}:_0x1dba25,'contacts':_0x42ceb0[_0x83b4('0x23')]===0x0?undefined:_0x42ceb0});}});};