Built motion from commit 10af8726.|2.6.34
[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 _0x0dd7=['map','destcalleridnum','routeId','calleridnum','firstName','mobile','fax','ListId','createdAt','updatedAt','resolve','then','isEmpty','length','[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','calleridname','<unknown>','destcalleridname','Unknown','createContact','push','[CM][%s][%s]\x20Contact\x20created:%s','[CM][%s][%s]\x20Autocreate\x20disabled','format','user:%s','name','trigger:%s','action','toLowerCase','bluebird','ioredis','util','../../../../config/environment','redis','defaults','localhost','socket.io-emitter','info','[CM][%s][%s]','stringify','emit','exec','data1','data2','isNil','data5','xmd-contactid','data3','split','phone','$or'];(function(_0x45b1ba,_0x5a6a21){var _0x145ddb=function(_0x650d42){while(--_0x650d42){_0x45b1ba['push'](_0x45b1ba['shift']());}};_0x145ddb(++_0x5a6a21);}(_0x0dd7,0x1eb));var _0x70dd=function(_0x9b3efc,_0x577a0d){_0x9b3efc=_0x9b3efc-0x0;var _0x200f05=_0x0dd7[_0x9b3efc];return _0x200f05;};'use strict';var _=require('lodash');var BPromise=require(_0x70dd('0x0'));var Redis=require(_0x70dd('0x1'));var util=require(_0x70dd('0x2'));var config=require(_0x70dd('0x3'));var logger=require('../../../../config/logger')('trigger');var cmContactRpc=require('../../rpc/cmContact');config[_0x70dd('0x4')]=_[_0x70dd('0x5')](config['redis'],{'host':_0x70dd('0x6'),'port':0x18eb});var io=require(_0x70dd('0x7'))(new Redis(config[_0x70dd('0x4')]));function emit(_0x4f2428,_0x58acd2,_0x47fb84,_0x1b2785,_0x1c89c9){logger[_0x70dd('0x8')](_0x70dd('0x9'),_0x4f2428,_0x58acd2['id'],_0x47fb84,_0x1b2785,JSON[_0x70dd('0xa')](_0x1c89c9));io['to'](_0x47fb84)[_0x70dd('0xb')](_0x1b2785,_0x1c89c9);}exports[_0x70dd('0xc')]=function(_0x3f2074,_0x16d164,_0x1ac6f3,_0x5c13ec){var _0x16199c,_0x5f41fa;var _0x3a5594={};var _0x5d5b92;var _0x4bdde3=Number(_0x1ac6f3[_0x70dd('0xd')]);var _0x131b97=_0x1ac6f3[_0x70dd('0xe')]?Boolean(Number(_0x1ac6f3[_0x70dd('0xe')])):![];var _0x1c872c;var _0x558332=![];if(!_[_0x70dd('0xf')](_0x1ac6f3[_0x70dd('0x10')])){if(_0x1ac6f3[_0x70dd('0x10')]=='1')_0x558332=!![];}if(!_0x558332){if(_0x5c13ec[_0x70dd('0x11')]){_0x3a5594['id']=_0x5c13ec[_0x70dd('0x11')];}}if(!_0x3a5594['id']){_0x3a5594['ListId']=_0x4bdde3;_0x1c872c=_0x1ac6f3[_0x70dd('0x12')]&&_0x1ac6f3['data3']!=='0'?_0x1ac6f3[_0x70dd('0x12')][_0x70dd('0x13')](','):[_0x70dd('0x14')];_0x3a5594[_0x70dd('0x15')]=_[_0x70dd('0x16')](_0x1c872c,function(_0x39dbf2){var _0x484544={};_0x484544[_0x39dbf2]=_0x5c13ec['routeId']?_0x5c13ec[_0x70dd('0x17')]:_0x5c13ec['calleridnum'];return _0x484544;});_0x5d5b92=_0x5c13ec[_0x70dd('0x18')]?_0x5c13ec[_0x70dd('0x17')]:_0x5c13ec[_0x70dd('0x19')];}var _0x2b3b0e=['id',_0x70dd('0x1a'),'lastName',_0x70dd('0x14'),_0x70dd('0x1b'),_0x70dd('0x1c'),_0x70dd('0x1d'),_0x70dd('0x1e'),'scheduledAt',_0x70dd('0x1f')];var _0x5df4da=_['union'](_0x2b3b0e,_0x1c872c);BPromise[_0x70dd('0x20')]()[_0x70dd('0x21')](cmContactRpc['getContacts']({'attributes':_0x5df4da,'where':_0x3a5594,'phone':_0x5d5b92}))['then'](function(_0x29e27a){_0x5f41fa=_0x29e27a;if(!_[_0x70dd('0x22')](_0x5f41fa)){if(_0x5f41fa[_0x70dd('0x23')]===0x1){_0x16199c=_0x5f41fa[0x0];logger[_0x70dd('0x8')](_0x70dd('0x24'),_0x5c13ec[_0x70dd('0x25')],_0x16d164['id'],_0x16199c['id']);}else{logger['info'](_0x70dd('0x26'),_0x5c13ec['uniqueid'],_0x16d164['id'],_['map'](_0x5f41fa,'id')[_0x70dd('0x27')](','));}return;}else{logger[_0x70dd('0x8')](_0x70dd('0x28'),_0x5c13ec['uniqueid'],_0x16d164['id']);var _0x1fe103={'ListId':_0x4bdde3};var _0x218fc9=_0x1ac6f3[_0x70dd('0x29')]&&_0x1ac6f3[_0x70dd('0x29')]!=='0'?_0x1ac6f3[_0x70dd('0x29')]:'phone';if(_0x131b97){logger['info'](_0x70dd('0x2a'),_0x5c13ec[_0x70dd('0x25')],_0x16d164['id']);_0x1fe103[_0x218fc9]=_[_0x70dd('0xf')](_0x5c13ec['routeId'])?_0x5c13ec[_0x70dd('0x19')]:_0x5c13ec[_0x70dd('0x17')];if(_[_0x70dd('0xf')](_0x5c13ec['routeId'])){_0x1fe103['firstName']=_0x5c13ec[_0x70dd('0x2b')]&&_0x5c13ec[_0x70dd('0x2b')]!==_0x70dd('0x2c')?_0x5c13ec[_0x70dd('0x2b')]:'Unknown';}else{_0x1fe103[_0x70dd('0x1a')]=_0x5c13ec[_0x70dd('0x2d')]&&_0x5c13ec['destcalleridname']!==_0x70dd('0x2c')?_0x5c13ec['destcalleridname']:_0x70dd('0x2e');}return BPromise[_0x70dd('0x20')]()[_0x70dd('0x21')](cmContactRpc[_0x70dd('0x2f')](_0x1fe103))['then'](function(_0x17593a){_0x16199c=_0x17593a;_0x5f41fa[_0x70dd('0x30')](_0x17593a);if(_0x16199c){logger['info'](_0x70dd('0x31'),_0x5c13ec['uniqueid'],_0x16d164['id'],_0x16199c['id']);}return;});}else{logger[_0x70dd('0x8')](_0x70dd('0x32'),_0x5c13ec[_0x70dd('0x25')],_0x16d164['id']);_0x1fe103[_0x218fc9]=_[_0x70dd('0xf')](_0x5c13ec[_0x70dd('0x18')])?_0x5c13ec[_0x70dd('0x19')]:_0x5c13ec[_0x70dd('0x17')];if(_['isNil'](_0x5c13ec[_0x70dd('0x18')])){_0x1fe103[_0x70dd('0x1a')]=_0x5c13ec[_0x70dd('0x2b')]&&_0x5c13ec[_0x70dd('0x2b')]!==_0x70dd('0x2c')?_0x5c13ec['calleridname']:_0x70dd('0x2e');}else{_0x1fe103[_0x70dd('0x1a')]=_0x5c13ec[_0x70dd('0x2d')]&&_0x5c13ec[_0x70dd('0x2d')]!==_0x70dd('0x2c')?_0x5c13ec[_0x70dd('0x2d')]:_0x70dd('0x2e');}_0x16199c=_0x1fe103;_0x5f41fa[_0x70dd('0x30')](_0x1fe103);return;}}})[_0x70dd('0x21')](function(){if(_0x3f2074){emit(_0x5c13ec[_0x70dd('0x25')],_0x16d164,util[_0x70dd('0x33')](_0x70dd('0x34'),_0x3f2074[_0x70dd('0x35')]),util[_0x70dd('0x33')](_0x70dd('0x36'),_0x1ac6f3[_0x70dd('0x37')][_0x70dd('0x38')]()),{'evt':_['merge'](_0x5c13ec,{'autoCreate':_0x131b97}),'contact':_0x16199c===undefined?{}:_0x16199c,'contacts':_0x5f41fa[_0x70dd('0x23')]===0x0?undefined:_0x5f41fa});}});};