Built motion from commit 96f8de6d.|2.6.3
[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 _0xb7ea=['bluebird','ioredis','trigger','redis','defaults','localhost','socket.io-emitter','info','[CM][%s][%s]','stringify','emit','exec','data2','isNil','data5','xmd-contactid','ListId','data3','split','phone','$or','map','destcalleridnum','routeId','firstName','lastName','mobile','createdAt','scheduledAt','then','getContacts','isEmpty','length','[CM][%s][%s]\x20Contact\x20found:%s','[CM][%s][%s]\x20Multiple\x20contacts\x20found:[%s]','uniqueid','join','[CM][%s][%s]\x20Contact\x20not\x20found','data4','[CM][%s][%s]\x20Autocreate\x20enabled','calleridnum','calleridname','Unknown','destcalleridname','<unknown>','resolve','createContact','[CM][%s][%s]\x20Contact\x20created:%s','[CM][%s][%s]\x20Autocreate\x20disabled','push','format','user:%s','action'];(function(_0x31cc0e,_0x24ba4c){var _0x144862=function(_0x4d236e){while(--_0x4d236e){_0x31cc0e['push'](_0x31cc0e['shift']());}};_0x144862(++_0x24ba4c);}(_0xb7ea,0x6a));var _0xab7e=function(_0x502a32,_0x23d261){_0x502a32=_0x502a32-0x0;var _0x30191c=_0xb7ea[_0x502a32];return _0x30191c;};'use strict';var _=require('lodash');var BPromise=require(_0xab7e('0x0'));var Redis=require(_0xab7e('0x1'));var util=require('util');var config=require('../../../../config/environment');var logger=require('../../../../config/logger')(_0xab7e('0x2'));var cmContactRpc=require('../../rpc/cmContact');config[_0xab7e('0x3')]=_[_0xab7e('0x4')](config[_0xab7e('0x3')],{'host':_0xab7e('0x5'),'port':0x18eb});var io=require(_0xab7e('0x6'))(new Redis(config[_0xab7e('0x3')]));function emit(_0x2b2deb,_0x5f4e4b,_0x4f928d,_0x21680f,_0x5e6408){logger[_0xab7e('0x7')](_0xab7e('0x8'),_0x2b2deb,_0x5f4e4b['id'],_0x4f928d,_0x21680f,JSON[_0xab7e('0x9')](_0x5e6408));io['to'](_0x4f928d)[_0xab7e('0xa')](_0x21680f,_0x5e6408);}exports[_0xab7e('0xb')]=function(_0x565204,_0x357603,_0x340269,_0x1053a6){var _0x52f260,_0x166739;var _0x4aa9bb={};var _0x3fd766;var _0x43fe2b=Number(_0x340269['data1']);var _0x3bf166=_0x340269[_0xab7e('0xc')]?Boolean(Number(_0x340269[_0xab7e('0xc')])):![];var _0x228d71;var _0x449760=![];if(!_[_0xab7e('0xd')](_0x340269['data5'])){if(_0x340269[_0xab7e('0xe')]=='1')_0x449760=!![];}if(!_0x449760){if(_0x1053a6[_0xab7e('0xf')]){_0x4aa9bb['id']=_0x1053a6[_0xab7e('0xf')];}}if(!_0x4aa9bb['id']){_0x4aa9bb[_0xab7e('0x10')]=_0x43fe2b;_0x228d71=_0x340269[_0xab7e('0x11')]&&_0x340269[_0xab7e('0x11')]!=='0'?_0x340269[_0xab7e('0x11')][_0xab7e('0x12')](','):[_0xab7e('0x13')];_0x4aa9bb[_0xab7e('0x14')]=_[_0xab7e('0x15')](_0x228d71,function(_0x5dbde3){var _0x17d29a={};_0x17d29a[_0x5dbde3]=_0x1053a6['routeId']?_0x1053a6[_0xab7e('0x16')]:_0x1053a6['calleridnum'];return _0x17d29a;});_0x3fd766=_0x1053a6[_0xab7e('0x17')]?_0x1053a6['destcalleridnum']:_0x1053a6['calleridnum'];}var _0x2f39ea=['id',_0xab7e('0x18'),_0xab7e('0x19'),_0xab7e('0x13'),_0xab7e('0x1a'),'fax',_0xab7e('0x10'),_0xab7e('0x1b'),_0xab7e('0x1c'),'updatedAt'];var _0x162ed3=_['union'](_0x2f39ea,_0x228d71);BPromise['resolve']()[_0xab7e('0x1d')](cmContactRpc[_0xab7e('0x1e')]({'attributes':_0x162ed3,'where':_0x4aa9bb,'phone':_0x3fd766}))[_0xab7e('0x1d')](function(_0x3e312d){_0x166739=_0x3e312d;if(!_[_0xab7e('0x1f')](_0x166739)){if(_0x166739[_0xab7e('0x20')]===0x1){_0x52f260=_0x166739[0x0];logger[_0xab7e('0x7')](_0xab7e('0x21'),_0x1053a6['uniqueid'],_0x357603['id'],_0x52f260['id']);}else{logger['info'](_0xab7e('0x22'),_0x1053a6[_0xab7e('0x23')],_0x357603['id'],_[_0xab7e('0x15')](_0x166739,'id')[_0xab7e('0x24')](','));}return;}else{logger[_0xab7e('0x7')](_0xab7e('0x25'),_0x1053a6['uniqueid'],_0x357603['id']);var _0x3475fd={'ListId':_0x43fe2b};var _0x4f7609=_0x340269[_0xab7e('0x26')]&&_0x340269[_0xab7e('0x26')]!=='0'?_0x340269[_0xab7e('0x26')]:'phone';if(_0x3bf166){logger[_0xab7e('0x7')](_0xab7e('0x27'),_0x1053a6[_0xab7e('0x23')],_0x357603['id']);_0x3475fd[_0x4f7609]=_['isNil'](_0x1053a6[_0xab7e('0x17')])?_0x1053a6[_0xab7e('0x28')]:_0x1053a6[_0xab7e('0x16')];if(_[_0xab7e('0xd')](_0x1053a6['routeId'])){_0x3475fd['firstName']=_0x1053a6[_0xab7e('0x29')]&&_0x1053a6[_0xab7e('0x29')]!=='<unknown>'?_0x1053a6['calleridname']:_0xab7e('0x2a');}else{_0x3475fd[_0xab7e('0x18')]=_0x1053a6['destcalleridname']&&_0x1053a6[_0xab7e('0x2b')]!==_0xab7e('0x2c')?_0x1053a6['destcalleridname']:_0xab7e('0x2a');}return BPromise[_0xab7e('0x2d')]()[_0xab7e('0x1d')](cmContactRpc[_0xab7e('0x2e')](_0x3475fd))[_0xab7e('0x1d')](function(_0x4fc4b0){_0x52f260=_0x4fc4b0;_0x166739['push'](_0x4fc4b0);if(_0x52f260){logger[_0xab7e('0x7')](_0xab7e('0x2f'),_0x1053a6[_0xab7e('0x23')],_0x357603['id'],_0x52f260['id']);}return;});}else{logger[_0xab7e('0x7')](_0xab7e('0x30'),_0x1053a6['uniqueid'],_0x357603['id']);_0x3475fd[_0x4f7609]=_[_0xab7e('0xd')](_0x1053a6[_0xab7e('0x17')])?_0x1053a6[_0xab7e('0x28')]:_0x1053a6[_0xab7e('0x16')];if(_[_0xab7e('0xd')](_0x1053a6[_0xab7e('0x17')])){_0x3475fd[_0xab7e('0x18')]=_0x1053a6[_0xab7e('0x29')]&&_0x1053a6[_0xab7e('0x29')]!==_0xab7e('0x2c')?_0x1053a6[_0xab7e('0x29')]:_0xab7e('0x2a');}else{_0x3475fd[_0xab7e('0x18')]=_0x1053a6[_0xab7e('0x2b')]&&_0x1053a6[_0xab7e('0x2b')]!==_0xab7e('0x2c')?_0x1053a6[_0xab7e('0x2b')]:_0xab7e('0x2a');}_0x52f260=_0x3475fd;_0x166739[_0xab7e('0x31')](_0x3475fd);return;}}})['then'](function(){if(_0x565204){emit(_0x1053a6[_0xab7e('0x23')],_0x357603,util[_0xab7e('0x32')](_0xab7e('0x33'),_0x565204['name']),util[_0xab7e('0x32')]('trigger:%s',_0x340269[_0xab7e('0x34')]['toLowerCase']()),{'evt':_['merge'](_0x1053a6,{'autoCreate':_0x3bf166}),'contact':_0x52f260===undefined?{}:_0x52f260,'contacts':_0x166739[_0xab7e('0x20')]===0x0?undefined:_0x166739});}});};