Built motion from commit da24aabd.|2.6.20
[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 _0x6528=['then','getContacts','isEmpty','length','[CM][%s][%s]\x20Contact\x20found:%s','uniqueid','[CM][%s][%s]\x20Contact\x20not\x20found','data4','[CM][%s][%s]\x20Autocreate\x20enabled','calleridname','<unknown>','destcalleridname','Unknown','push','[CM][%s][%s]\x20Contact\x20created:%s','[CM][%s][%s]\x20Autocreate\x20disabled','format','user:%s','name','action','toLowerCase','merge','lodash','bluebird','ioredis','../../../../config/environment','../../rpc/cmContact','redis','defaults','localhost','socket.io-emitter','info','[CM][%s][%s]','emit','exec','data2','isNil','data5','xmd-contactid','ListId','data3','split','phone','$or','map','routeId','destcalleridnum','calleridnum','firstName','mobile','fax','createdAt','scheduledAt','union','resolve'];(function(_0x40b2ed,_0x2b1765){var _0x18397d=function(_0xc6a86f){while(--_0xc6a86f){_0x40b2ed['push'](_0x40b2ed['shift']());}};_0x18397d(++_0x2b1765);}(_0x6528,0x160));var _0x8652=function(_0x593567,_0x537f33){_0x593567=_0x593567-0x0;var _0x2e1562=_0x6528[_0x593567];return _0x2e1562;};'use strict';var _=require(_0x8652('0x0'));var BPromise=require(_0x8652('0x1'));var Redis=require(_0x8652('0x2'));var util=require('util');var config=require(_0x8652('0x3'));var logger=require('../../../../config/logger')('trigger');var cmContactRpc=require(_0x8652('0x4'));config[_0x8652('0x5')]=_[_0x8652('0x6')](config['redis'],{'host':_0x8652('0x7'),'port':0x18eb});var io=require(_0x8652('0x8'))(new Redis(config[_0x8652('0x5')]));function emit(_0x41b9d0,_0x4a3479,_0xa77081,_0x350737,_0x3c9cad){logger[_0x8652('0x9')](_0x8652('0xa'),_0x41b9d0,_0x4a3479['id'],_0xa77081,_0x350737,JSON['stringify'](_0x3c9cad));io['to'](_0xa77081)[_0x8652('0xb')](_0x350737,_0x3c9cad);}exports[_0x8652('0xc')]=function(_0x15e2ae,_0x1836f1,_0x26fc2d,_0x4edbb4){var _0x2da864,_0x2afa1b;var _0x972f35={};var _0x13869d;var _0x148851=Number(_0x26fc2d['data1']);var _0x22700e=_0x26fc2d[_0x8652('0xd')]?Boolean(Number(_0x26fc2d[_0x8652('0xd')])):![];var _0x29544a;var _0x497423=![];if(!_[_0x8652('0xe')](_0x26fc2d[_0x8652('0xf')])){if(_0x26fc2d[_0x8652('0xf')]=='1')_0x497423=!![];}if(!_0x497423){if(_0x4edbb4['xmd-contactid']){_0x972f35['id']=_0x4edbb4[_0x8652('0x10')];}}if(!_0x972f35['id']){_0x972f35[_0x8652('0x11')]=_0x148851;_0x29544a=_0x26fc2d[_0x8652('0x12')]&&_0x26fc2d[_0x8652('0x12')]!=='0'?_0x26fc2d[_0x8652('0x12')][_0x8652('0x13')](','):[_0x8652('0x14')];_0x972f35[_0x8652('0x15')]=_[_0x8652('0x16')](_0x29544a,function(_0x4448fc){var _0x4bcfbd={};_0x4bcfbd[_0x4448fc]=_0x4edbb4[_0x8652('0x17')]?_0x4edbb4[_0x8652('0x18')]:_0x4edbb4[_0x8652('0x19')];return _0x4bcfbd;});_0x13869d=_0x4edbb4[_0x8652('0x17')]?_0x4edbb4[_0x8652('0x18')]:_0x4edbb4[_0x8652('0x19')];}var _0x506003=['id',_0x8652('0x1a'),'lastName',_0x8652('0x14'),_0x8652('0x1b'),_0x8652('0x1c'),_0x8652('0x11'),_0x8652('0x1d'),_0x8652('0x1e'),'updatedAt'];var _0x5c2d34=_[_0x8652('0x1f')](_0x506003,_0x29544a);BPromise[_0x8652('0x20')]()[_0x8652('0x21')](cmContactRpc[_0x8652('0x22')]({'attributes':_0x5c2d34,'where':_0x972f35,'phone':_0x13869d}))[_0x8652('0x21')](function(_0x251fcf){_0x2afa1b=_0x251fcf;if(!_[_0x8652('0x23')](_0x2afa1b)){if(_0x2afa1b[_0x8652('0x24')]===0x1){_0x2da864=_0x2afa1b[0x0];logger[_0x8652('0x9')](_0x8652('0x25'),_0x4edbb4[_0x8652('0x26')],_0x1836f1['id'],_0x2da864['id']);}else{logger[_0x8652('0x9')]('[CM][%s][%s]\x20Multiple\x20contacts\x20found:[%s]',_0x4edbb4['uniqueid'],_0x1836f1['id'],_[_0x8652('0x16')](_0x2afa1b,'id')['join'](','));}return;}else{logger[_0x8652('0x9')](_0x8652('0x27'),_0x4edbb4[_0x8652('0x26')],_0x1836f1['id']);var _0x5e6aa0={'ListId':_0x148851};var _0x48c895=_0x26fc2d[_0x8652('0x28')]&&_0x26fc2d['data4']!=='0'?_0x26fc2d[_0x8652('0x28')]:_0x8652('0x14');if(_0x22700e){logger[_0x8652('0x9')](_0x8652('0x29'),_0x4edbb4['uniqueid'],_0x1836f1['id']);_0x5e6aa0[_0x48c895]=_['isNil'](_0x4edbb4['routeId'])?_0x4edbb4[_0x8652('0x19')]:_0x4edbb4['destcalleridnum'];if(_[_0x8652('0xe')](_0x4edbb4[_0x8652('0x17')])){_0x5e6aa0[_0x8652('0x1a')]=_0x4edbb4[_0x8652('0x2a')]&&_0x4edbb4['calleridname']!==_0x8652('0x2b')?_0x4edbb4[_0x8652('0x2a')]:'Unknown';}else{_0x5e6aa0[_0x8652('0x1a')]=_0x4edbb4[_0x8652('0x2c')]&&_0x4edbb4[_0x8652('0x2c')]!==_0x8652('0x2b')?_0x4edbb4['destcalleridname']:_0x8652('0x2d');}return BPromise[_0x8652('0x20')]()[_0x8652('0x21')](cmContactRpc['createContact'](_0x5e6aa0))[_0x8652('0x21')](function(_0x1b1b49){_0x2da864=_0x1b1b49;_0x2afa1b[_0x8652('0x2e')](_0x1b1b49);if(_0x2da864){logger[_0x8652('0x9')](_0x8652('0x2f'),_0x4edbb4[_0x8652('0x26')],_0x1836f1['id'],_0x2da864['id']);}return;});}else{logger['info'](_0x8652('0x30'),_0x4edbb4[_0x8652('0x26')],_0x1836f1['id']);_0x5e6aa0[_0x48c895]=_['isNil'](_0x4edbb4[_0x8652('0x17')])?_0x4edbb4[_0x8652('0x19')]:_0x4edbb4[_0x8652('0x18')];if(_[_0x8652('0xe')](_0x4edbb4[_0x8652('0x17')])){_0x5e6aa0['firstName']=_0x4edbb4[_0x8652('0x2a')]&&_0x4edbb4[_0x8652('0x2a')]!==_0x8652('0x2b')?_0x4edbb4[_0x8652('0x2a')]:_0x8652('0x2d');}else{_0x5e6aa0['firstName']=_0x4edbb4[_0x8652('0x2c')]&&_0x4edbb4[_0x8652('0x2c')]!==_0x8652('0x2b')?_0x4edbb4['destcalleridname']:_0x8652('0x2d');}_0x2da864=_0x5e6aa0;_0x2afa1b[_0x8652('0x2e')](_0x5e6aa0);return;}}})[_0x8652('0x21')](function(){if(_0x15e2ae){emit(_0x4edbb4['uniqueid'],_0x1836f1,util[_0x8652('0x31')](_0x8652('0x32'),_0x15e2ae[_0x8652('0x33')]),util[_0x8652('0x31')]('trigger:%s',_0x26fc2d[_0x8652('0x34')][_0x8652('0x35')]()),{'evt':_[_0x8652('0x36')](_0x4edbb4,{'autoCreate':_0x22700e}),'contact':_0x2da864===undefined?{}:_0x2da864,'contacts':_0x2afa1b[_0x8652('0x24')]===0x0?undefined:_0x2afa1b});}});};