Built motion from commit (unavailable).|2.5.22
[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 _0x0df2=['routeId','destcalleridnum','calleridnum','firstName','lastName','fax','ListId','createdAt','updatedAt','union','resolve','then','isEmpty','info','[CM][%s][%s]\x20Contact\x20found:%s','uniqueid','[CM][%s][%s]\x20Multiple\x20contacts\x20found:[%s]','map','join','[CM][%s][%s]\x20Contact\x20not\x20found','data4','[CM][%s][%s]\x20Autocreate\x20enabled','isNil','calleridname','<unknown>','Unknown','destcalleridname','push','[CM][%s][%s]\x20Contact\x20created:%s','[CM][%s][%s]\x20Autocreate\x20disabled','format','user:%s','name','trigger:%s','toLowerCase','merge','length','bluebird','ioredis','trigger','defaults','redis','localhost','socket.io-emitter','[CM][%s][%s]','stringify','emit','data1','data2','xmd-contactid','data3','split','phone'];(function(_0x434f6a,_0x24e3c3){var _0x32d4c0=function(_0x39d4a6){while(--_0x39d4a6){_0x434f6a['push'](_0x434f6a['shift']());}};_0x32d4c0(++_0x24e3c3);}(_0x0df2,0xf9));var _0x20df=function(_0xca54f9,_0x1d837b){_0xca54f9=_0xca54f9-0x0;var _0x183c63=_0x0df2[_0xca54f9];return _0x183c63;};'use strict';var _=require('lodash');var BPromise=require(_0x20df('0x0'));var Redis=require(_0x20df('0x1'));var util=require('util');var config=require('../../../../config/environment');var logger=require('../../../../config/logger')(_0x20df('0x2'));var cmContactRpc=require('../../rpc/cmContact');config['redis']=_[_0x20df('0x3')](config[_0x20df('0x4')],{'host':_0x20df('0x5'),'port':0x18eb});var io=require(_0x20df('0x6'))(new Redis(config['redis']));function emit(_0x49a552,_0x3dfb02,_0x194d2,_0xe5ab91,_0x20057e){logger['info'](_0x20df('0x7'),_0x49a552,_0x3dfb02['id'],_0x194d2,_0xe5ab91,JSON[_0x20df('0x8')](_0x20057e));io['to'](_0x194d2)[_0x20df('0x9')](_0xe5ab91,_0x20057e);}exports['exec']=function(_0x5bea95,_0x3a16b3,_0x2ebda9,_0x28dbd1){var _0x2f48fc,_0xfb9503;var _0x496b11={};var _0x1b3d78=Number(_0x2ebda9[_0x20df('0xa')]);var _0x36e984=_0x2ebda9['data2']?Boolean(Number(_0x2ebda9[_0x20df('0xb')])):![];var _0x44741a;if(_0x28dbd1['xmd-contactid']){_0x496b11['id']=_0x28dbd1[_0x20df('0xc')];}if(!_0x496b11['id']){_0x496b11['ListId']=_0x1b3d78;_0x44741a=_0x2ebda9[_0x20df('0xd')]&&_0x2ebda9[_0x20df('0xd')]!=='0'?_0x2ebda9[_0x20df('0xd')][_0x20df('0xe')](','):[_0x20df('0xf')];_0x496b11['$or']=_['map'](_0x44741a,function(_0x3e86ec){var _0x3e7261={};_0x3e7261[_0x3e86ec]=_0x28dbd1[_0x20df('0x10')]?_0x28dbd1[_0x20df('0x11')]:_0x28dbd1[_0x20df('0x12')];return _0x3e7261;});}var _0x34faad=['id',_0x20df('0x13'),_0x20df('0x14'),_0x20df('0xf'),'mobile',_0x20df('0x15'),_0x20df('0x16'),_0x20df('0x17'),'scheduledAt',_0x20df('0x18')];var _0x4bcb95=_[_0x20df('0x19')](_0x34faad,_0x44741a);BPromise[_0x20df('0x1a')]()[_0x20df('0x1b')](cmContactRpc['getContacts']({'attributes':_0x4bcb95,'where':_0x496b11}))['then'](function(_0x21df74){_0xfb9503=_0x21df74;if(!_[_0x20df('0x1c')](_0xfb9503)){if(_0xfb9503['length']===0x1){_0x2f48fc=_0xfb9503[0x0];logger[_0x20df('0x1d')](_0x20df('0x1e'),_0x28dbd1[_0x20df('0x1f')],_0x3a16b3['id'],_0x2f48fc['id']);}else{logger['info'](_0x20df('0x20'),_0x28dbd1[_0x20df('0x1f')],_0x3a16b3['id'],_[_0x20df('0x21')](_0xfb9503,'id')[_0x20df('0x22')](','));}return;}else{logger[_0x20df('0x1d')](_0x20df('0x23'),_0x28dbd1[_0x20df('0x1f')],_0x3a16b3['id']);var _0xa1ce14={'ListId':_0x1b3d78};var _0x52455b=_0x2ebda9[_0x20df('0x24')]&&_0x2ebda9[_0x20df('0x24')]!=='0'?_0x2ebda9['data4']:_0x20df('0xf');if(_0x36e984){logger[_0x20df('0x1d')](_0x20df('0x25'),_0x28dbd1[_0x20df('0x1f')],_0x3a16b3['id']);_0xa1ce14[_0x52455b]=_[_0x20df('0x26')](_0x28dbd1['routeId'])?_0x28dbd1['calleridnum']:_0x28dbd1[_0x20df('0x11')];if(_[_0x20df('0x26')](_0x28dbd1[_0x20df('0x10')])){_0xa1ce14[_0x20df('0x13')]=_0x28dbd1[_0x20df('0x27')]&&_0x28dbd1['calleridname']!==_0x20df('0x28')?_0x28dbd1[_0x20df('0x27')]:_0x20df('0x29');}else{_0xa1ce14['firstName']=_0x28dbd1[_0x20df('0x2a')]&&_0x28dbd1[_0x20df('0x2a')]!==_0x20df('0x28')?_0x28dbd1[_0x20df('0x2a')]:'Unknown';}return BPromise[_0x20df('0x1a')]()[_0x20df('0x1b')](cmContactRpc['createContact'](_0xa1ce14))['then'](function(_0x33031a){_0x2f48fc=_0x33031a;_0xfb9503[_0x20df('0x2b')](_0x33031a);if(_0x2f48fc){logger[_0x20df('0x1d')](_0x20df('0x2c'),_0x28dbd1['uniqueid'],_0x3a16b3['id'],_0x2f48fc['id']);}return;});}else{logger[_0x20df('0x1d')](_0x20df('0x2d'),_0x28dbd1[_0x20df('0x1f')],_0x3a16b3['id']);_0xa1ce14[_0x52455b]=_[_0x20df('0x26')](_0x28dbd1[_0x20df('0x10')])?_0x28dbd1[_0x20df('0x12')]:_0x28dbd1['destcalleridnum'];if(_[_0x20df('0x26')](_0x28dbd1[_0x20df('0x10')])){_0xa1ce14[_0x20df('0x13')]=_0x28dbd1[_0x20df('0x27')]&&_0x28dbd1[_0x20df('0x27')]!==_0x20df('0x28')?_0x28dbd1[_0x20df('0x27')]:_0x20df('0x29');}else{_0xa1ce14[_0x20df('0x13')]=_0x28dbd1[_0x20df('0x2a')]&&_0x28dbd1[_0x20df('0x2a')]!==_0x20df('0x28')?_0x28dbd1[_0x20df('0x2a')]:_0x20df('0x29');}_0x2f48fc=_0xa1ce14;_0xfb9503[_0x20df('0x2b')](_0xa1ce14);return;}}})['then'](function(){if(_0x5bea95){emit(_0x28dbd1[_0x20df('0x1f')],_0x3a16b3,util[_0x20df('0x2e')](_0x20df('0x2f'),_0x5bea95[_0x20df('0x30')]),util[_0x20df('0x2e')](_0x20df('0x31'),_0x2ebda9['action'][_0x20df('0x32')]()),{'evt':_[_0x20df('0x33')](_0x28dbd1,{'autoCreate':_0x36e984}),'contact':_0x2f48fc===undefined?{}:_0x2f48fc,'contacts':_0xfb9503[_0x20df('0x34')]===0x0?undefined:_0xfb9503});}});};