Built motion from commit 449495f6.|2.6.27
[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 _0xdb2d=['fax','updatedAt','union','getContacts','isEmpty','length','uniqueid','[CM][%s][%s]\x20Multiple\x20contacts\x20found:[%s]','map','join','[CM][%s][%s]\x20Contact\x20not\x20found','data4','[CM][%s][%s]\x20Autocreate\x20enabled','calleridname','Unknown','destcalleridname','<unknown>','resolve','createContact','then','push','[CM][%s][%s]\x20Contact\x20created:%s','format','name','action','toLowerCase','merge','lodash','bluebird','ioredis','util','../../../../config/environment','trigger','redis','defaults','localhost','socket.io-emitter','info','stringify','emit','exec','data1','data2','isNil','data5','xmd-contactid','ListId','data3','phone','routeId','destcalleridnum','calleridnum','firstName','lastName','mobile'];(function(_0x14add3,_0x13ce8d){var _0x4a174f=function(_0x2b3ed7){while(--_0x2b3ed7){_0x14add3['push'](_0x14add3['shift']());}};_0x4a174f(++_0x13ce8d);}(_0xdb2d,0x19c));var _0xddb2=function(_0x56d9d7,_0x5aa064){_0x56d9d7=_0x56d9d7-0x0;var _0x5bb9e8=_0xdb2d[_0x56d9d7];return _0x5bb9e8;};'use strict';var _=require(_0xddb2('0x0'));var BPromise=require(_0xddb2('0x1'));var Redis=require(_0xddb2('0x2'));var util=require(_0xddb2('0x3'));var config=require(_0xddb2('0x4'));var logger=require('../../../../config/logger')(_0xddb2('0x5'));var cmContactRpc=require('../../rpc/cmContact');config[_0xddb2('0x6')]=_[_0xddb2('0x7')](config[_0xddb2('0x6')],{'host':_0xddb2('0x8'),'port':0x18eb});var io=require(_0xddb2('0x9'))(new Redis(config['redis']));function emit(_0xb5650e,_0x4b6968,_0x23a871,_0x1c721a,_0x37115f){logger[_0xddb2('0xa')]('[CM][%s][%s]',_0xb5650e,_0x4b6968['id'],_0x23a871,_0x1c721a,JSON[_0xddb2('0xb')](_0x37115f));io['to'](_0x23a871)[_0xddb2('0xc')](_0x1c721a,_0x37115f);}exports[_0xddb2('0xd')]=function(_0x26b0e2,_0x36a01a,_0x3a883d,_0x482f86){var _0x24c721,_0x10c29e;var _0x405267={};var _0x45fc32;var _0xabbb2c=Number(_0x3a883d[_0xddb2('0xe')]);var _0x26a6f7=_0x3a883d[_0xddb2('0xf')]?Boolean(Number(_0x3a883d['data2'])):![];var _0x2c444a;var _0x3fb777=![];if(!_[_0xddb2('0x10')](_0x3a883d['data5'])){if(_0x3a883d[_0xddb2('0x11')]=='1')_0x3fb777=!![];}if(!_0x3fb777){if(_0x482f86['xmd-contactid']){_0x405267['id']=_0x482f86[_0xddb2('0x12')];}}if(!_0x405267['id']){_0x405267[_0xddb2('0x13')]=_0xabbb2c;_0x2c444a=_0x3a883d[_0xddb2('0x14')]&&_0x3a883d[_0xddb2('0x14')]!=='0'?_0x3a883d[_0xddb2('0x14')]['split'](','):[_0xddb2('0x15')];_0x405267['$or']=_['map'](_0x2c444a,function(_0x72e5c6){var _0x251e58={};_0x251e58[_0x72e5c6]=_0x482f86[_0xddb2('0x16')]?_0x482f86[_0xddb2('0x17')]:_0x482f86[_0xddb2('0x18')];return _0x251e58;});_0x45fc32=_0x482f86[_0xddb2('0x16')]?_0x482f86[_0xddb2('0x17')]:_0x482f86['calleridnum'];}var _0x5c8057=['id',_0xddb2('0x19'),_0xddb2('0x1a'),'phone',_0xddb2('0x1b'),_0xddb2('0x1c'),_0xddb2('0x13'),'createdAt','scheduledAt',_0xddb2('0x1d')];var _0x40a129=_[_0xddb2('0x1e')](_0x5c8057,_0x2c444a);BPromise['resolve']()['then'](cmContactRpc[_0xddb2('0x1f')]({'attributes':_0x40a129,'where':_0x405267,'phone':_0x45fc32}))['then'](function(_0x4e3e24){_0x10c29e=_0x4e3e24;if(!_[_0xddb2('0x20')](_0x10c29e)){if(_0x10c29e[_0xddb2('0x21')]===0x1){_0x24c721=_0x10c29e[0x0];logger[_0xddb2('0xa')]('[CM][%s][%s]\x20Contact\x20found:%s',_0x482f86[_0xddb2('0x22')],_0x36a01a['id'],_0x24c721['id']);}else{logger['info'](_0xddb2('0x23'),_0x482f86[_0xddb2('0x22')],_0x36a01a['id'],_[_0xddb2('0x24')](_0x10c29e,'id')[_0xddb2('0x25')](','));}return;}else{logger[_0xddb2('0xa')](_0xddb2('0x26'),_0x482f86[_0xddb2('0x22')],_0x36a01a['id']);var _0x6cee6d={'ListId':_0xabbb2c};var _0x341de8=_0x3a883d[_0xddb2('0x27')]&&_0x3a883d[_0xddb2('0x27')]!=='0'?_0x3a883d['data4']:'phone';if(_0x26a6f7){logger['info'](_0xddb2('0x28'),_0x482f86[_0xddb2('0x22')],_0x36a01a['id']);_0x6cee6d[_0x341de8]=_[_0xddb2('0x10')](_0x482f86[_0xddb2('0x16')])?_0x482f86['calleridnum']:_0x482f86['destcalleridnum'];if(_['isNil'](_0x482f86[_0xddb2('0x16')])){_0x6cee6d[_0xddb2('0x19')]=_0x482f86[_0xddb2('0x29')]&&_0x482f86[_0xddb2('0x29')]!=='<unknown>'?_0x482f86[_0xddb2('0x29')]:_0xddb2('0x2a');}else{_0x6cee6d[_0xddb2('0x19')]=_0x482f86[_0xddb2('0x2b')]&&_0x482f86[_0xddb2('0x2b')]!==_0xddb2('0x2c')?_0x482f86['destcalleridname']:_0xddb2('0x2a');}return BPromise[_0xddb2('0x2d')]()['then'](cmContactRpc[_0xddb2('0x2e')](_0x6cee6d))[_0xddb2('0x2f')](function(_0x118bc1){_0x24c721=_0x118bc1;_0x10c29e[_0xddb2('0x30')](_0x118bc1);if(_0x24c721){logger['info'](_0xddb2('0x31'),_0x482f86[_0xddb2('0x22')],_0x36a01a['id'],_0x24c721['id']);}return;});}else{logger['info']('[CM][%s][%s]\x20Autocreate\x20disabled',_0x482f86[_0xddb2('0x22')],_0x36a01a['id']);_0x6cee6d[_0x341de8]=_[_0xddb2('0x10')](_0x482f86[_0xddb2('0x16')])?_0x482f86[_0xddb2('0x18')]:_0x482f86[_0xddb2('0x17')];if(_[_0xddb2('0x10')](_0x482f86[_0xddb2('0x16')])){_0x6cee6d[_0xddb2('0x19')]=_0x482f86[_0xddb2('0x29')]&&_0x482f86[_0xddb2('0x29')]!==_0xddb2('0x2c')?_0x482f86[_0xddb2('0x29')]:_0xddb2('0x2a');}else{_0x6cee6d[_0xddb2('0x19')]=_0x482f86[_0xddb2('0x2b')]&&_0x482f86[_0xddb2('0x2b')]!==_0xddb2('0x2c')?_0x482f86[_0xddb2('0x2b')]:'Unknown';}_0x24c721=_0x6cee6d;_0x10c29e[_0xddb2('0x30')](_0x6cee6d);return;}}})[_0xddb2('0x2f')](function(){if(_0x26b0e2){emit(_0x482f86[_0xddb2('0x22')],_0x36a01a,util[_0xddb2('0x32')]('user:%s',_0x26b0e2[_0xddb2('0x33')]),util[_0xddb2('0x32')]('trigger:%s',_0x3a883d[_0xddb2('0x34')][_0xddb2('0x35')]()),{'evt':_[_0xddb2('0x36')](_0x482f86,{'autoCreate':_0x26a6f7}),'contact':_0x24c721===undefined?{}:_0x24c721,'contacts':_0x10c29e['length']===0x0?undefined:_0x10c29e});}});};