Built motion from commit e02f907f.|2.6.14
[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 _0x9dff=['trigger:%s','action','toLowerCase','merge','ioredis','util','../../../../config/environment','trigger','../../rpc/cmContact','redis','localhost','socket.io-emitter','info','[CM][%s][%s]','stringify','emit','exec','data1','data2','data5','xmd-contactid','ListId','data3','phone','$or','routeId','destcalleridnum','calleridnum','firstName','lastName','fax','createdAt','scheduledAt','updatedAt','union','resolve','then','isEmpty','length','[CM][%s][%s]\x20Contact\x20found:%s','uniqueid','[CM][%s][%s]\x20Multiple\x20contacts\x20found:[%s]','map','[CM][%s][%s]\x20Contact\x20not\x20found','data4','isNil','calleridname','Unknown','destcalleridname','<unknown>','push','[CM][%s][%s]\x20Contact\x20created:%s','[CM][%s][%s]\x20Autocreate\x20disabled','format','user:%s'];(function(_0x5a9c0c,_0x4ec485){var _0x53c77d=function(_0x1cf384){while(--_0x1cf384){_0x5a9c0c['push'](_0x5a9c0c['shift']());}};_0x53c77d(++_0x4ec485);}(_0x9dff,0x117));var _0xf9df=function(_0x16b9ed,_0x56517a){_0x16b9ed=_0x16b9ed-0x0;var _0x66b1f8=_0x9dff[_0x16b9ed];return _0x66b1f8;};'use strict';var _=require('lodash');var BPromise=require('bluebird');var Redis=require(_0xf9df('0x0'));var util=require(_0xf9df('0x1'));var config=require(_0xf9df('0x2'));var logger=require('../../../../config/logger')(_0xf9df('0x3'));var cmContactRpc=require(_0xf9df('0x4'));config[_0xf9df('0x5')]=_['defaults'](config[_0xf9df('0x5')],{'host':_0xf9df('0x6'),'port':0x18eb});var io=require(_0xf9df('0x7'))(new Redis(config['redis']));function emit(_0x3643e4,_0x2919ac,_0x578e27,_0xd1b532,_0x595277){logger[_0xf9df('0x8')](_0xf9df('0x9'),_0x3643e4,_0x2919ac['id'],_0x578e27,_0xd1b532,JSON[_0xf9df('0xa')](_0x595277));io['to'](_0x578e27)[_0xf9df('0xb')](_0xd1b532,_0x595277);}exports[_0xf9df('0xc')]=function(_0x559448,_0x2261e9,_0x55101c,_0x36cab5){var _0x34f3d1,_0x323659;var _0x2e863a={};var _0x81199c;var _0x32ada2=Number(_0x55101c[_0xf9df('0xd')]);var _0x179342=_0x55101c[_0xf9df('0xe')]?Boolean(Number(_0x55101c[_0xf9df('0xe')])):![];var _0x2e2963;var _0x56270f=![];if(!_['isNil'](_0x55101c[_0xf9df('0xf')])){if(_0x55101c[_0xf9df('0xf')]=='1')_0x56270f=!![];}if(!_0x56270f){if(_0x36cab5[_0xf9df('0x10')]){_0x2e863a['id']=_0x36cab5[_0xf9df('0x10')];}}if(!_0x2e863a['id']){_0x2e863a[_0xf9df('0x11')]=_0x32ada2;_0x2e2963=_0x55101c[_0xf9df('0x12')]&&_0x55101c[_0xf9df('0x12')]!=='0'?_0x55101c['data3']['split'](','):[_0xf9df('0x13')];_0x2e863a[_0xf9df('0x14')]=_['map'](_0x2e2963,function(_0x2164ac){var _0x579413={};_0x579413[_0x2164ac]=_0x36cab5[_0xf9df('0x15')]?_0x36cab5[_0xf9df('0x16')]:_0x36cab5['calleridnum'];return _0x579413;});_0x81199c=_0x36cab5[_0xf9df('0x15')]?_0x36cab5[_0xf9df('0x16')]:_0x36cab5[_0xf9df('0x17')];}var _0x15a037=['id',_0xf9df('0x18'),_0xf9df('0x19'),_0xf9df('0x13'),'mobile',_0xf9df('0x1a'),_0xf9df('0x11'),_0xf9df('0x1b'),_0xf9df('0x1c'),_0xf9df('0x1d')];var _0x4dad1e=_[_0xf9df('0x1e')](_0x15a037,_0x2e2963);BPromise[_0xf9df('0x1f')]()[_0xf9df('0x20')](cmContactRpc['getContacts']({'attributes':_0x4dad1e,'where':_0x2e863a,'phone':_0x81199c}))[_0xf9df('0x20')](function(_0x2630f8){_0x323659=_0x2630f8;if(!_[_0xf9df('0x21')](_0x323659)){if(_0x323659[_0xf9df('0x22')]===0x1){_0x34f3d1=_0x323659[0x0];logger[_0xf9df('0x8')](_0xf9df('0x23'),_0x36cab5[_0xf9df('0x24')],_0x2261e9['id'],_0x34f3d1['id']);}else{logger[_0xf9df('0x8')](_0xf9df('0x25'),_0x36cab5[_0xf9df('0x24')],_0x2261e9['id'],_[_0xf9df('0x26')](_0x323659,'id')['join'](','));}return;}else{logger[_0xf9df('0x8')](_0xf9df('0x27'),_0x36cab5[_0xf9df('0x24')],_0x2261e9['id']);var _0x49fee7={'ListId':_0x32ada2};var _0x4d0ff0=_0x55101c[_0xf9df('0x28')]&&_0x55101c['data4']!=='0'?_0x55101c['data4']:'phone';if(_0x179342){logger[_0xf9df('0x8')]('[CM][%s][%s]\x20Autocreate\x20enabled',_0x36cab5[_0xf9df('0x24')],_0x2261e9['id']);_0x49fee7[_0x4d0ff0]=_[_0xf9df('0x29')](_0x36cab5[_0xf9df('0x15')])?_0x36cab5[_0xf9df('0x17')]:_0x36cab5[_0xf9df('0x16')];if(_[_0xf9df('0x29')](_0x36cab5[_0xf9df('0x15')])){_0x49fee7[_0xf9df('0x18')]=_0x36cab5[_0xf9df('0x2a')]&&_0x36cab5[_0xf9df('0x2a')]!=='<unknown>'?_0x36cab5[_0xf9df('0x2a')]:_0xf9df('0x2b');}else{_0x49fee7[_0xf9df('0x18')]=_0x36cab5[_0xf9df('0x2c')]&&_0x36cab5[_0xf9df('0x2c')]!==_0xf9df('0x2d')?_0x36cab5['destcalleridname']:'Unknown';}return BPromise[_0xf9df('0x1f')]()[_0xf9df('0x20')](cmContactRpc['createContact'](_0x49fee7))[_0xf9df('0x20')](function(_0x228fd5){_0x34f3d1=_0x228fd5;_0x323659[_0xf9df('0x2e')](_0x228fd5);if(_0x34f3d1){logger[_0xf9df('0x8')](_0xf9df('0x2f'),_0x36cab5[_0xf9df('0x24')],_0x2261e9['id'],_0x34f3d1['id']);}return;});}else{logger[_0xf9df('0x8')](_0xf9df('0x30'),_0x36cab5[_0xf9df('0x24')],_0x2261e9['id']);_0x49fee7[_0x4d0ff0]=_[_0xf9df('0x29')](_0x36cab5[_0xf9df('0x15')])?_0x36cab5[_0xf9df('0x17')]:_0x36cab5['destcalleridnum'];if(_[_0xf9df('0x29')](_0x36cab5['routeId'])){_0x49fee7[_0xf9df('0x18')]=_0x36cab5[_0xf9df('0x2a')]&&_0x36cab5['calleridname']!==_0xf9df('0x2d')?_0x36cab5[_0xf9df('0x2a')]:'Unknown';}else{_0x49fee7['firstName']=_0x36cab5['destcalleridname']&&_0x36cab5[_0xf9df('0x2c')]!==_0xf9df('0x2d')?_0x36cab5[_0xf9df('0x2c')]:_0xf9df('0x2b');}_0x34f3d1=_0x49fee7;_0x323659['push'](_0x49fee7);return;}}})['then'](function(){if(_0x559448){emit(_0x36cab5[_0xf9df('0x24')],_0x2261e9,util[_0xf9df('0x31')](_0xf9df('0x32'),_0x559448['name']),util[_0xf9df('0x31')](_0xf9df('0x33'),_0x55101c[_0xf9df('0x34')][_0xf9df('0x35')]()),{'evt':_[_0xf9df('0x36')](_0x36cab5,{'autoCreate':_0x179342}),'contact':_0x34f3d1===undefined?{}:_0x34f3d1,'contacts':_0x323659[_0xf9df('0x22')]===0x0?undefined:_0x323659});}});};