7fb68aed7622bffc62918481f5c2e6ad38c09a4a
[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 _0xd3a3=['createContact','push','[CM][%s][%s]\x20Contact\x20created:%s','[CM][%s][%s]\x20Autocreate\x20disabled','user:%s','format','trigger:%s','action','toLowerCase','lodash','bluebird','ioredis','util','../../../../config/environment','trigger','redis','localhost','socket.io-emitter','info','[CM][%s][%s]','stringify','emit','exec','data1','data2','isNil','xmd-contactid','ListId','data3','split','$or','map','routeId','destcalleridnum','calleridnum','lastName','mobile','fax','createdAt','updatedAt','union','resolve','then','getContacts','length','uniqueid','[CM][%s][%s]\x20Multiple\x20contacts\x20found:[%s]','join','[CM][%s][%s]\x20Contact\x20not\x20found','data4','phone','[CM][%s][%s]\x20Autocreate\x20enabled','firstName','calleridname','<unknown>','Unknown','destcalleridname'];(function(_0x3e06c6,_0x979d11){var _0x3453b3=function(_0x1a606c){while(--_0x1a606c){_0x3e06c6['push'](_0x3e06c6['shift']());}};_0x3453b3(++_0x979d11);}(_0xd3a3,0x126));var _0x3d3a=function(_0x1c3f0b,_0x33a5f8){_0x1c3f0b=_0x1c3f0b-0x0;var _0x4ad86c=_0xd3a3[_0x1c3f0b];return _0x4ad86c;};'use strict';var _=require(_0x3d3a('0x0'));var BPromise=require(_0x3d3a('0x1'));var Redis=require(_0x3d3a('0x2'));var util=require(_0x3d3a('0x3'));var config=require(_0x3d3a('0x4'));var logger=require('../../../../config/logger')(_0x3d3a('0x5'));var cmContactRpc=require('../../rpc/cmContact');config['redis']=_['defaults'](config[_0x3d3a('0x6')],{'host':_0x3d3a('0x7'),'port':0x18eb});var io=require(_0x3d3a('0x8'))(new Redis(config['redis']));function emit(_0x2e12d5,_0x278100,_0x459da1,_0x421dff,_0x184c9a){logger[_0x3d3a('0x9')](_0x3d3a('0xa'),_0x2e12d5,_0x278100['id'],_0x459da1,_0x421dff,JSON[_0x3d3a('0xb')](_0x184c9a));io['to'](_0x459da1)[_0x3d3a('0xc')](_0x421dff,_0x184c9a);}exports[_0x3d3a('0xd')]=function(_0x518e8b,_0x12c9bc,_0x527abf,_0x3723ab){var _0x44549a,_0x41f64b;var _0x3b0122={};var _0x4a5247;var _0xd14317=Number(_0x527abf[_0x3d3a('0xe')]);var _0x3c1a73=_0x527abf[_0x3d3a('0xf')]?Boolean(Number(_0x527abf[_0x3d3a('0xf')])):![];var _0x4a4f21;var _0x3b2b0b=![];if(!_[_0x3d3a('0x10')](_0x527abf['data5'])){if(_0x527abf['data5']=='1')_0x3b2b0b=!![];}if(!_0x3b2b0b){if(_0x3723ab['xmd-contactid']){_0x3b0122['id']=_0x3723ab[_0x3d3a('0x11')];}}if(!_0x3b0122['id']){_0x3b0122[_0x3d3a('0x12')]=_0xd14317;_0x4a4f21=_0x527abf[_0x3d3a('0x13')]&&_0x527abf[_0x3d3a('0x13')]!=='0'?_0x527abf['data3'][_0x3d3a('0x14')](','):['phone'];_0x3b0122[_0x3d3a('0x15')]=_[_0x3d3a('0x16')](_0x4a4f21,function(_0x2c712d){var _0x2a60c1={};_0x2a60c1[_0x2c712d]=_0x3723ab[_0x3d3a('0x17')]?_0x3723ab[_0x3d3a('0x18')]:_0x3723ab['calleridnum'];return _0x2a60c1;});_0x4a5247=_0x3723ab['routeId']?_0x3723ab[_0x3d3a('0x18')]:_0x3723ab[_0x3d3a('0x19')];}var _0x302bf1=['id','firstName',_0x3d3a('0x1a'),'phone',_0x3d3a('0x1b'),_0x3d3a('0x1c'),_0x3d3a('0x12'),_0x3d3a('0x1d'),'scheduledAt',_0x3d3a('0x1e')];var _0x4435da=_[_0x3d3a('0x1f')](_0x302bf1,_0x4a4f21);BPromise[_0x3d3a('0x20')]()[_0x3d3a('0x21')](cmContactRpc[_0x3d3a('0x22')]({'attributes':_0x4435da,'where':_0x3b0122,'phone':_0x4a5247}))['then'](function(_0x599f39){_0x41f64b=_0x599f39;if(!_['isEmpty'](_0x41f64b)){if(_0x41f64b[_0x3d3a('0x23')]===0x1){_0x44549a=_0x41f64b[0x0];logger['info']('[CM][%s][%s]\x20Contact\x20found:%s',_0x3723ab[_0x3d3a('0x24')],_0x12c9bc['id'],_0x44549a['id']);}else{logger[_0x3d3a('0x9')](_0x3d3a('0x25'),_0x3723ab['uniqueid'],_0x12c9bc['id'],_[_0x3d3a('0x16')](_0x41f64b,'id')[_0x3d3a('0x26')](','));}return;}else{logger[_0x3d3a('0x9')](_0x3d3a('0x27'),_0x3723ab[_0x3d3a('0x24')],_0x12c9bc['id']);var _0x8f2dd3={'ListId':_0xd14317};var _0xf6bf9c=_0x527abf[_0x3d3a('0x28')]&&_0x527abf[_0x3d3a('0x28')]!=='0'?_0x527abf[_0x3d3a('0x28')]:_0x3d3a('0x29');if(_0x3c1a73){logger[_0x3d3a('0x9')](_0x3d3a('0x2a'),_0x3723ab[_0x3d3a('0x24')],_0x12c9bc['id']);_0x8f2dd3[_0xf6bf9c]=_[_0x3d3a('0x10')](_0x3723ab[_0x3d3a('0x17')])?_0x3723ab[_0x3d3a('0x19')]:_0x3723ab[_0x3d3a('0x18')];if(_['isNil'](_0x3723ab[_0x3d3a('0x17')])){_0x8f2dd3[_0x3d3a('0x2b')]=_0x3723ab[_0x3d3a('0x2c')]&&_0x3723ab[_0x3d3a('0x2c')]!==_0x3d3a('0x2d')?_0x3723ab[_0x3d3a('0x2c')]:_0x3d3a('0x2e');}else{_0x8f2dd3[_0x3d3a('0x2b')]=_0x3723ab[_0x3d3a('0x2f')]&&_0x3723ab[_0x3d3a('0x2f')]!=='<unknown>'?_0x3723ab[_0x3d3a('0x2f')]:_0x3d3a('0x2e');}return BPromise['resolve']()[_0x3d3a('0x21')](cmContactRpc[_0x3d3a('0x30')](_0x8f2dd3))[_0x3d3a('0x21')](function(_0x2d925f){_0x44549a=_0x2d925f;_0x41f64b[_0x3d3a('0x31')](_0x2d925f);if(_0x44549a){logger['info'](_0x3d3a('0x32'),_0x3723ab[_0x3d3a('0x24')],_0x12c9bc['id'],_0x44549a['id']);}return;});}else{logger['info'](_0x3d3a('0x33'),_0x3723ab[_0x3d3a('0x24')],_0x12c9bc['id']);_0x8f2dd3[_0xf6bf9c]=_[_0x3d3a('0x10')](_0x3723ab[_0x3d3a('0x17')])?_0x3723ab['calleridnum']:_0x3723ab[_0x3d3a('0x18')];if(_[_0x3d3a('0x10')](_0x3723ab['routeId'])){_0x8f2dd3[_0x3d3a('0x2b')]=_0x3723ab[_0x3d3a('0x2c')]&&_0x3723ab['calleridname']!==_0x3d3a('0x2d')?_0x3723ab['calleridname']:_0x3d3a('0x2e');}else{_0x8f2dd3[_0x3d3a('0x2b')]=_0x3723ab['destcalleridname']&&_0x3723ab[_0x3d3a('0x2f')]!==_0x3d3a('0x2d')?_0x3723ab[_0x3d3a('0x2f')]:_0x3d3a('0x2e');}_0x44549a=_0x8f2dd3;_0x41f64b['push'](_0x8f2dd3);return;}}})[_0x3d3a('0x21')](function(){if(_0x518e8b){emit(_0x3723ab['uniqueid'],_0x12c9bc,util['format'](_0x3d3a('0x34'),_0x518e8b['name']),util[_0x3d3a('0x35')](_0x3d3a('0x36'),_0x527abf[_0x3d3a('0x37')][_0x3d3a('0x38')]()),{'evt':_['merge'](_0x3723ab,{'autoCreate':_0x3c1a73}),'contact':_0x44549a===undefined?{}:_0x44549a,'contacts':_0x41f64b['length']===0x0?undefined:_0x41f64b});}});};