Built motion from commit (unavailable).|2.5.25
[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 _0x1a11=['[CM][%s][%s]\x20Contact\x20found:%s','uniqueid','[CM][%s][%s]\x20Multiple\x20contacts\x20found:[%s]','join','data4','[CM][%s][%s]\x20Autocreate\x20enabled','isNil','calleridnum','calleridname','<unknown>','destcalleridname','Unknown','createContact','push','[CM][%s][%s]\x20Autocreate\x20disabled','format','user:%s','trigger:%s','action','toLowerCase','bluebird','../../../../config/environment','../../../../config/logger','trigger','redis','defaults','localhost','socket.io-emitter','info','stringify','exec','data1','data2','xmd-contactid','ListId','data3','phone','$or','map','routeId','destcalleridnum','firstName','lastName','mobile','createdAt','scheduledAt','updatedAt','resolve','then','getContacts','length'];(function(_0x27a5b4,_0x394324){var _0xead9a=function(_0x5cbea4){while(--_0x5cbea4){_0x27a5b4['push'](_0x27a5b4['shift']());}};_0xead9a(++_0x394324);}(_0x1a11,0x113));var _0x11a1=function(_0x307cff,_0x5d3726){_0x307cff=_0x307cff-0x0;var _0x1be243=_0x1a11[_0x307cff];return _0x1be243;};'use strict';var _=require('lodash');var BPromise=require(_0x11a1('0x0'));var Redis=require('ioredis');var util=require('util');var config=require(_0x11a1('0x1'));var logger=require(_0x11a1('0x2'))(_0x11a1('0x3'));var cmContactRpc=require('../../rpc/cmContact');config[_0x11a1('0x4')]=_[_0x11a1('0x5')](config['redis'],{'host':_0x11a1('0x6'),'port':0x18eb});var io=require(_0x11a1('0x7'))(new Redis(config[_0x11a1('0x4')]));function emit(_0x194d61,_0x8a9ab0,_0x2c42b4,_0x4ba100,_0x3c9eb9){logger[_0x11a1('0x8')]('[CM][%s][%s]',_0x194d61,_0x8a9ab0['id'],_0x2c42b4,_0x4ba100,JSON[_0x11a1('0x9')](_0x3c9eb9));io['to'](_0x2c42b4)['emit'](_0x4ba100,_0x3c9eb9);}exports[_0x11a1('0xa')]=function(_0xda9889,_0x50cf48,_0x58deaa,_0x2be0aa){var _0x558e6b,_0x359457;var _0x139fa4={};var _0x3c60d6=Number(_0x58deaa[_0x11a1('0xb')]);var _0x7fde43=_0x58deaa[_0x11a1('0xc')]?Boolean(Number(_0x58deaa[_0x11a1('0xc')])):![];var _0x4cc570;if(_0x2be0aa['xmd-contactid']){_0x139fa4['id']=_0x2be0aa[_0x11a1('0xd')];}if(!_0x139fa4['id']){_0x139fa4[_0x11a1('0xe')]=_0x3c60d6;_0x4cc570=_0x58deaa[_0x11a1('0xf')]&&_0x58deaa['data3']!=='0'?_0x58deaa['data3']['split'](','):[_0x11a1('0x10')];_0x139fa4[_0x11a1('0x11')]=_[_0x11a1('0x12')](_0x4cc570,function(_0x1b472f){var _0x25e485={};_0x25e485[_0x1b472f]=_0x2be0aa[_0x11a1('0x13')]?_0x2be0aa[_0x11a1('0x14')]:_0x2be0aa['calleridnum'];return _0x25e485;});}var _0x39d5fc=['id',_0x11a1('0x15'),_0x11a1('0x16'),_0x11a1('0x10'),_0x11a1('0x17'),'fax',_0x11a1('0xe'),_0x11a1('0x18'),_0x11a1('0x19'),_0x11a1('0x1a')];var _0x1254e5=_['union'](_0x39d5fc,_0x4cc570);BPromise[_0x11a1('0x1b')]()[_0x11a1('0x1c')](cmContactRpc[_0x11a1('0x1d')]({'attributes':_0x1254e5,'where':_0x139fa4}))[_0x11a1('0x1c')](function(_0x58b492){_0x359457=_0x58b492;if(!_['isEmpty'](_0x359457)){if(_0x359457[_0x11a1('0x1e')]===0x1){_0x558e6b=_0x359457[0x0];logger[_0x11a1('0x8')](_0x11a1('0x1f'),_0x2be0aa[_0x11a1('0x20')],_0x50cf48['id'],_0x558e6b['id']);}else{logger[_0x11a1('0x8')](_0x11a1('0x21'),_0x2be0aa['uniqueid'],_0x50cf48['id'],_[_0x11a1('0x12')](_0x359457,'id')[_0x11a1('0x22')](','));}return;}else{logger[_0x11a1('0x8')]('[CM][%s][%s]\x20Contact\x20not\x20found',_0x2be0aa[_0x11a1('0x20')],_0x50cf48['id']);var _0x888c06={'ListId':_0x3c60d6};var _0x13d8de=_0x58deaa['data4']&&_0x58deaa[_0x11a1('0x23')]!=='0'?_0x58deaa[_0x11a1('0x23')]:'phone';if(_0x7fde43){logger[_0x11a1('0x8')](_0x11a1('0x24'),_0x2be0aa[_0x11a1('0x20')],_0x50cf48['id']);_0x888c06[_0x13d8de]=_[_0x11a1('0x25')](_0x2be0aa[_0x11a1('0x13')])?_0x2be0aa[_0x11a1('0x26')]:_0x2be0aa['destcalleridnum'];if(_[_0x11a1('0x25')](_0x2be0aa[_0x11a1('0x13')])){_0x888c06[_0x11a1('0x15')]=_0x2be0aa[_0x11a1('0x27')]&&_0x2be0aa[_0x11a1('0x27')]!==_0x11a1('0x28')?_0x2be0aa[_0x11a1('0x27')]:'Unknown';}else{_0x888c06['firstName']=_0x2be0aa[_0x11a1('0x29')]&&_0x2be0aa[_0x11a1('0x29')]!=='<unknown>'?_0x2be0aa[_0x11a1('0x29')]:_0x11a1('0x2a');}return BPromise['resolve']()[_0x11a1('0x1c')](cmContactRpc[_0x11a1('0x2b')](_0x888c06))[_0x11a1('0x1c')](function(_0xa92d2a){_0x558e6b=_0xa92d2a;_0x359457[_0x11a1('0x2c')](_0xa92d2a);if(_0x558e6b){logger['info']('[CM][%s][%s]\x20Contact\x20created:%s',_0x2be0aa['uniqueid'],_0x50cf48['id'],_0x558e6b['id']);}return;});}else{logger[_0x11a1('0x8')](_0x11a1('0x2d'),_0x2be0aa[_0x11a1('0x20')],_0x50cf48['id']);_0x888c06[_0x13d8de]=_[_0x11a1('0x25')](_0x2be0aa['routeId'])?_0x2be0aa[_0x11a1('0x26')]:_0x2be0aa[_0x11a1('0x14')];if(_[_0x11a1('0x25')](_0x2be0aa['routeId'])){_0x888c06[_0x11a1('0x15')]=_0x2be0aa[_0x11a1('0x27')]&&_0x2be0aa['calleridname']!=='<unknown>'?_0x2be0aa[_0x11a1('0x27')]:_0x11a1('0x2a');}else{_0x888c06[_0x11a1('0x15')]=_0x2be0aa[_0x11a1('0x29')]&&_0x2be0aa[_0x11a1('0x29')]!==_0x11a1('0x28')?_0x2be0aa[_0x11a1('0x29')]:_0x11a1('0x2a');}_0x558e6b=_0x888c06;_0x359457['push'](_0x888c06);return;}}})[_0x11a1('0x1c')](function(){if(_0xda9889){emit(_0x2be0aa[_0x11a1('0x20')],_0x50cf48,util[_0x11a1('0x2e')](_0x11a1('0x2f'),_0xda9889['name']),util['format'](_0x11a1('0x30'),_0x58deaa[_0x11a1('0x31')][_0x11a1('0x32')]()),{'evt':_['merge'](_0x2be0aa,{'autoCreate':_0x7fde43}),'contact':_0x558e6b===undefined?{}:_0x558e6b,'contacts':_0x359457[_0x11a1('0x1e')]===0x0?undefined:_0x359457});}});};