Built motion from commit (unavailable).|2.5.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 _0xd9da=['merge','length','lodash','bluebird','ioredis','../../../../config/environment','../../../../config/logger','../../rpc/cmContact','redis','localhost','info','[CM][%s][%s]','stringify','exec','data2','xmd-contactid','ListId','data3','split','phone','$or','map','destcalleridnum','firstName','lastName','mobile','fax','createdAt','updatedAt','union','resolve','then','getContacts','isEmpty','[CM][%s][%s]\x20Contact\x20found:%s','uniqueid','[CM][%s][%s]\x20Multiple\x20contacts\x20found:[%s]','join','[CM][%s][%s]\x20Contact\x20not\x20found','data4','[CM][%s][%s]\x20Autocreate\x20enabled','isNil','routeId','calleridnum','calleridname','<unknown>','Unknown','destcalleridname','createContact','push','[CM][%s][%s]\x20Contact\x20created:%s','format','user:%s','name','action','toLowerCase'];(function(_0x53ccf2,_0x13cb67){var _0x5a2964=function(_0x3b0514){while(--_0x3b0514){_0x53ccf2['push'](_0x53ccf2['shift']());}};_0x5a2964(++_0x13cb67);}(_0xd9da,0xe2));var _0xad9d=function(_0x1035c1,_0x2d8583){_0x1035c1=_0x1035c1-0x0;var _0x308d67=_0xd9da[_0x1035c1];return _0x308d67;};'use strict';var _=require(_0xad9d('0x0'));var BPromise=require(_0xad9d('0x1'));var Redis=require(_0xad9d('0x2'));var util=require('util');var config=require(_0xad9d('0x3'));var logger=require(_0xad9d('0x4'))('trigger');var cmContactRpc=require(_0xad9d('0x5'));config[_0xad9d('0x6')]=_['defaults'](config[_0xad9d('0x6')],{'host':_0xad9d('0x7'),'port':0x18eb});var io=require('socket.io-emitter')(new Redis(config[_0xad9d('0x6')]));function emit(_0x3ce9a2,_0x4efa88,_0xbf07df,_0x276de7,_0x82ff3b){logger[_0xad9d('0x8')](_0xad9d('0x9'),_0x3ce9a2,_0x4efa88['id'],_0xbf07df,_0x276de7,JSON[_0xad9d('0xa')](_0x82ff3b));io['to'](_0xbf07df)['emit'](_0x276de7,_0x82ff3b);}exports[_0xad9d('0xb')]=function(_0x527507,_0x18946b,_0x2171ae,_0x588710){var _0x3e21af,_0x496848;var _0xe2260b={};var _0xadd89=Number(_0x2171ae['data1']);var _0x47a093=_0x2171ae[_0xad9d('0xc')]?Boolean(Number(_0x2171ae[_0xad9d('0xc')])):![];var _0x560fe7;if(_0x588710[_0xad9d('0xd')]){_0xe2260b['id']=_0x588710['xmd-contactid'];}if(!_0xe2260b['id']){_0xe2260b[_0xad9d('0xe')]=_0xadd89;_0x560fe7=_0x2171ae['data3']&&_0x2171ae[_0xad9d('0xf')]!=='0'?_0x2171ae[_0xad9d('0xf')][_0xad9d('0x10')](','):[_0xad9d('0x11')];_0xe2260b[_0xad9d('0x12')]=_[_0xad9d('0x13')](_0x560fe7,function(_0x165757){var _0x359747={};_0x359747[_0x165757]=_0x588710['routeId']?_0x588710[_0xad9d('0x14')]:_0x588710['calleridnum'];return _0x359747;});}var _0x205b17=['id',_0xad9d('0x15'),_0xad9d('0x16'),'phone',_0xad9d('0x17'),_0xad9d('0x18'),_0xad9d('0xe'),_0xad9d('0x19'),'scheduledAt',_0xad9d('0x1a')];var _0x23b65d=_[_0xad9d('0x1b')](_0x205b17,_0x560fe7);BPromise[_0xad9d('0x1c')]()[_0xad9d('0x1d')](cmContactRpc[_0xad9d('0x1e')]({'attributes':_0x23b65d,'where':_0xe2260b}))['then'](function(_0x1c5f1b){_0x496848=_0x1c5f1b;if(!_[_0xad9d('0x1f')](_0x496848)){if(_0x496848['length']===0x1){_0x3e21af=_0x496848[0x0];logger[_0xad9d('0x8')](_0xad9d('0x20'),_0x588710[_0xad9d('0x21')],_0x18946b['id'],_0x3e21af['id']);}else{logger[_0xad9d('0x8')](_0xad9d('0x22'),_0x588710[_0xad9d('0x21')],_0x18946b['id'],_[_0xad9d('0x13')](_0x496848,'id')[_0xad9d('0x23')](','));}return;}else{logger[_0xad9d('0x8')](_0xad9d('0x24'),_0x588710[_0xad9d('0x21')],_0x18946b['id']);var _0x2e157b={'ListId':_0xadd89};var _0x5a98bd=_0x2171ae[_0xad9d('0x25')]&&_0x2171ae['data4']!=='0'?_0x2171ae[_0xad9d('0x25')]:'phone';if(_0x47a093){logger['info'](_0xad9d('0x26'),_0x588710[_0xad9d('0x21')],_0x18946b['id']);_0x2e157b[_0x5a98bd]=_[_0xad9d('0x27')](_0x588710[_0xad9d('0x28')])?_0x588710[_0xad9d('0x29')]:_0x588710[_0xad9d('0x14')];if(_[_0xad9d('0x27')](_0x588710[_0xad9d('0x28')])){_0x2e157b[_0xad9d('0x15')]=_0x588710[_0xad9d('0x2a')]&&_0x588710[_0xad9d('0x2a')]!==_0xad9d('0x2b')?_0x588710[_0xad9d('0x2a')]:_0xad9d('0x2c');}else{_0x2e157b[_0xad9d('0x15')]=_0x588710[_0xad9d('0x2d')]&&_0x588710[_0xad9d('0x2d')]!==_0xad9d('0x2b')?_0x588710[_0xad9d('0x2d')]:'Unknown';}return BPromise['resolve']()['then'](cmContactRpc[_0xad9d('0x2e')](_0x2e157b))[_0xad9d('0x1d')](function(_0xdc81ca){_0x3e21af=_0xdc81ca;_0x496848[_0xad9d('0x2f')](_0xdc81ca);if(_0x3e21af){logger[_0xad9d('0x8')](_0xad9d('0x30'),_0x588710['uniqueid'],_0x18946b['id'],_0x3e21af['id']);}return;});}else{logger[_0xad9d('0x8')]('[CM][%s][%s]\x20Autocreate\x20disabled',_0x588710[_0xad9d('0x21')],_0x18946b['id']);_0x2e157b[_0x5a98bd]=_[_0xad9d('0x27')](_0x588710[_0xad9d('0x28')])?_0x588710[_0xad9d('0x29')]:_0x588710[_0xad9d('0x14')];if(_[_0xad9d('0x27')](_0x588710['routeId'])){_0x2e157b[_0xad9d('0x15')]=_0x588710['calleridname']&&_0x588710[_0xad9d('0x2a')]!==_0xad9d('0x2b')?_0x588710[_0xad9d('0x2a')]:'Unknown';}else{_0x2e157b[_0xad9d('0x15')]=_0x588710[_0xad9d('0x2d')]&&_0x588710[_0xad9d('0x2d')]!==_0xad9d('0x2b')?_0x588710['destcalleridname']:_0xad9d('0x2c');}_0x3e21af=_0x2e157b;_0x496848[_0xad9d('0x2f')](_0x2e157b);return;}}})[_0xad9d('0x1d')](function(){if(_0x527507){emit(_0x588710[_0xad9d('0x21')],_0x18946b,util[_0xad9d('0x31')](_0xad9d('0x32'),_0x527507[_0xad9d('0x33')]),util[_0xad9d('0x31')]('trigger:%s',_0x2171ae[_0xad9d('0x34')][_0xad9d('0x35')]()),{'evt':_[_0xad9d('0x36')](_0x588710,{'autoCreate':_0x47a093}),'contact':_0x3e21af===undefined?{}:_0x3e21af,'contacts':_0x496848[_0xad9d('0x37')]===0x0?undefined:_0x496848});}});};