083ceb04000274851619ce8ff3e092f237529012
[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 _0xcaac=['uniqueid','join','[CM][%s][%s]\x20Contact\x20not\x20found','data4','[CM][%s][%s]\x20Autocreate\x20enabled','isNil','firstName','calleridname','<unknown>','Unknown','destcalleridname','createContact','push','[CM][%s][%s]\x20Contact\x20created:%s','[CM][%s][%s]\x20Autocreate\x20disabled','user:%s','format','trigger:%s','action','toLowerCase','merge','lodash','bluebird','ioredis','../../../../config/environment','../../../../config/logger','redis','localhost','socket.io-emitter','info','[CM][%s][%s]','stringify','data2','xmd-contactid','ListId','data3','split','phone','$or','map','routeId','destcalleridnum','calleridnum','fax','updatedAt','union','resolve','then','getContacts','isEmpty','length'];(function(_0xd580e2,_0x109182){var _0x4d955f=function(_0x568fff){while(--_0x568fff){_0xd580e2['push'](_0xd580e2['shift']());}};_0x4d955f(++_0x109182);}(_0xcaac,0x1ad));var _0xccaa=function(_0x4591d1,_0x17c61a){_0x4591d1=_0x4591d1-0x0;var _0x5e4f71=_0xcaac[_0x4591d1];return _0x5e4f71;};'use strict';var _=require(_0xccaa('0x0'));var BPromise=require(_0xccaa('0x1'));var Redis=require(_0xccaa('0x2'));var util=require('util');var config=require(_0xccaa('0x3'));var logger=require(_0xccaa('0x4'))('trigger');var cmContactRpc=require('../../rpc/cmContact');config[_0xccaa('0x5')]=_['defaults'](config[_0xccaa('0x5')],{'host':_0xccaa('0x6'),'port':0x18eb});var io=require(_0xccaa('0x7'))(new Redis(config['redis']));function emit(_0x31da43,_0x2c86bf,_0x22194c,_0x1695e6,_0x4bdaf1){logger[_0xccaa('0x8')](_0xccaa('0x9'),_0x31da43,_0x2c86bf['id'],_0x22194c,_0x1695e6,JSON[_0xccaa('0xa')](_0x4bdaf1));io['to'](_0x22194c)['emit'](_0x1695e6,_0x4bdaf1);}exports['exec']=function(_0x41cb66,_0x7aaad5,_0x436bcc,_0x43ba8f){var _0x51088f,_0xa55f7d;var _0xc5b66a={};var _0x1c38a0=Number(_0x436bcc['data1']);var _0xa7ab75=_0x436bcc[_0xccaa('0xb')]?Boolean(Number(_0x436bcc['data2'])):![];var _0x33c9bc;if(_0x43ba8f[_0xccaa('0xc')]){_0xc5b66a['id']=_0x43ba8f[_0xccaa('0xc')];}if(!_0xc5b66a['id']){_0xc5b66a[_0xccaa('0xd')]=_0x1c38a0;_0x33c9bc=_0x436bcc['data3']&&_0x436bcc[_0xccaa('0xe')]!=='0'?_0x436bcc[_0xccaa('0xe')][_0xccaa('0xf')](','):[_0xccaa('0x10')];_0xc5b66a[_0xccaa('0x11')]=_[_0xccaa('0x12')](_0x33c9bc,function(_0x1d3cb8){var _0x3c8adb={};_0x3c8adb[_0x1d3cb8]=_0x43ba8f[_0xccaa('0x13')]?_0x43ba8f[_0xccaa('0x14')]:_0x43ba8f[_0xccaa('0x15')];return _0x3c8adb;});}var _0xb0da0c=['id','firstName','lastName','phone','mobile',_0xccaa('0x16'),_0xccaa('0xd'),'createdAt','scheduledAt',_0xccaa('0x17')];var _0x5b79bd=_[_0xccaa('0x18')](_0xb0da0c,_0x33c9bc);BPromise[_0xccaa('0x19')]()[_0xccaa('0x1a')](cmContactRpc[_0xccaa('0x1b')]({'attributes':_0x5b79bd,'where':_0xc5b66a}))[_0xccaa('0x1a')](function(_0x11e324){_0xa55f7d=_0x11e324;if(!_[_0xccaa('0x1c')](_0xa55f7d)){if(_0xa55f7d[_0xccaa('0x1d')]===0x1){_0x51088f=_0xa55f7d[0x0];logger[_0xccaa('0x8')]('[CM][%s][%s]\x20Contact\x20found:%s',_0x43ba8f['uniqueid'],_0x7aaad5['id'],_0x51088f['id']);}else{logger['info']('[CM][%s][%s]\x20Multiple\x20contacts\x20found:[%s]',_0x43ba8f[_0xccaa('0x1e')],_0x7aaad5['id'],_[_0xccaa('0x12')](_0xa55f7d,'id')[_0xccaa('0x1f')](','));}return;}else{logger[_0xccaa('0x8')](_0xccaa('0x20'),_0x43ba8f[_0xccaa('0x1e')],_0x7aaad5['id']);var _0x196e30={'ListId':_0x1c38a0};var _0x425c30=_0x436bcc[_0xccaa('0x21')]&&_0x436bcc[_0xccaa('0x21')]!=='0'?_0x436bcc[_0xccaa('0x21')]:_0xccaa('0x10');if(_0xa7ab75){logger[_0xccaa('0x8')](_0xccaa('0x22'),_0x43ba8f[_0xccaa('0x1e')],_0x7aaad5['id']);_0x196e30[_0x425c30]=_[_0xccaa('0x23')](_0x43ba8f['routeId'])?_0x43ba8f[_0xccaa('0x15')]:_0x43ba8f['destcalleridnum'];if(_['isNil'](_0x43ba8f['routeId'])){_0x196e30[_0xccaa('0x24')]=_0x43ba8f[_0xccaa('0x25')]&&_0x43ba8f[_0xccaa('0x25')]!==_0xccaa('0x26')?_0x43ba8f['calleridname']:_0xccaa('0x27');}else{_0x196e30[_0xccaa('0x24')]=_0x43ba8f[_0xccaa('0x28')]&&_0x43ba8f[_0xccaa('0x28')]!==_0xccaa('0x26')?_0x43ba8f[_0xccaa('0x28')]:_0xccaa('0x27');}return BPromise[_0xccaa('0x19')]()[_0xccaa('0x1a')](cmContactRpc[_0xccaa('0x29')](_0x196e30))[_0xccaa('0x1a')](function(_0xb8a7f7){_0x51088f=_0xb8a7f7;_0xa55f7d[_0xccaa('0x2a')](_0xb8a7f7);if(_0x51088f){logger[_0xccaa('0x8')](_0xccaa('0x2b'),_0x43ba8f['uniqueid'],_0x7aaad5['id'],_0x51088f['id']);}return;});}else{logger[_0xccaa('0x8')](_0xccaa('0x2c'),_0x43ba8f[_0xccaa('0x1e')],_0x7aaad5['id']);_0x196e30[_0x425c30]=_[_0xccaa('0x23')](_0x43ba8f[_0xccaa('0x13')])?_0x43ba8f[_0xccaa('0x15')]:_0x43ba8f[_0xccaa('0x14')];if(_['isNil'](_0x43ba8f['routeId'])){_0x196e30[_0xccaa('0x24')]=_0x43ba8f['calleridname']&&_0x43ba8f[_0xccaa('0x25')]!==_0xccaa('0x26')?_0x43ba8f['calleridname']:'Unknown';}else{_0x196e30[_0xccaa('0x24')]=_0x43ba8f[_0xccaa('0x28')]&&_0x43ba8f['destcalleridname']!=='<unknown>'?_0x43ba8f['destcalleridname']:_0xccaa('0x27');}_0x51088f=_0x196e30;_0xa55f7d[_0xccaa('0x2a')](_0x196e30);return;}}})[_0xccaa('0x1a')](function(){if(_0x41cb66){emit(_0x43ba8f[_0xccaa('0x1e')],_0x7aaad5,util['format'](_0xccaa('0x2d'),_0x41cb66['name']),util[_0xccaa('0x2e')](_0xccaa('0x2f'),_0x436bcc[_0xccaa('0x30')][_0xccaa('0x31')]()),{'evt':_[_0xccaa('0x32')](_0x43ba8f,{'autoCreate':_0xa7ab75}),'contact':_0x51088f===undefined?{}:_0x51088f,'contacts':_0xa55f7d[_0xccaa('0x1d')]===0x0?undefined:_0xa55f7d});}});};