Built motion from commit (unavailable).|2.5.16
[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 _0x8294=['[CM][%s][%s]\x20Contact\x20found:%s','[CM][%s][%s]\x20Multiple\x20contacts\x20found:[%s]','uniqueid','[CM][%s][%s]\x20Contact\x20not\x20found','data4','[CM][%s][%s]\x20Autocreate\x20enabled','routeId','isNil','calleridname','<unknown>','Unknown','destcalleridname','createContact','push','[CM][%s][%s]\x20Autocreate\x20disabled','format','name','trigger:%s','toLowerCase','lodash','ioredis','util','../../../../config/logger','trigger','../../rpc/cmContact','redis','defaults','info','[CM][%s][%s]','stringify','emit','exec','data1','data2','xmd-contactid','ListId','data3','split','$or','map','destcalleridnum','calleridnum','firstName','phone','fax','createdAt','scheduledAt','updatedAt','union','resolve','then','getContacts','isEmpty','length'];(function(_0x1e7b16,_0x4607a1){var _0x37fadc=function(_0x1fc9ce){while(--_0x1fc9ce){_0x1e7b16['push'](_0x1e7b16['shift']());}};_0x37fadc(++_0x4607a1);}(_0x8294,0x157));var _0x4829=function(_0x4f2a89,_0x5d2826){_0x4f2a89=_0x4f2a89-0x0;var _0x56971a=_0x8294[_0x4f2a89];return _0x56971a;};'use strict';var _=require(_0x4829('0x0'));var BPromise=require('bluebird');var Redis=require(_0x4829('0x1'));var util=require(_0x4829('0x2'));var config=require('../../../../config/environment');var logger=require(_0x4829('0x3'))(_0x4829('0x4'));var cmContactRpc=require(_0x4829('0x5'));config[_0x4829('0x6')]=_[_0x4829('0x7')](config['redis'],{'host':'localhost','port':0x18eb});var io=require('socket.io-emitter')(new Redis(config[_0x4829('0x6')]));function emit(_0x3fa839,_0x534c47,_0x4ffc5d,_0x2a9f4c,_0x3cdcc8){logger[_0x4829('0x8')](_0x4829('0x9'),_0x3fa839,_0x534c47['id'],_0x4ffc5d,_0x2a9f4c,JSON[_0x4829('0xa')](_0x3cdcc8));io['to'](_0x4ffc5d)[_0x4829('0xb')](_0x2a9f4c,_0x3cdcc8);}exports[_0x4829('0xc')]=function(_0x297532,_0x272510,_0x435b39,_0x41c82b){var _0x67da10,_0x155deb;var _0x1e5abd={};var _0x4c3968=Number(_0x435b39[_0x4829('0xd')]);var _0x3deb3c=_0x435b39['data2']?Boolean(Number(_0x435b39[_0x4829('0xe')])):![];var _0x1e4745;if(_0x41c82b[_0x4829('0xf')]){_0x1e5abd['id']=_0x41c82b[_0x4829('0xf')];}if(!_0x1e5abd['id']){_0x1e5abd[_0x4829('0x10')]=_0x4c3968;_0x1e4745=_0x435b39[_0x4829('0x11')]&&_0x435b39[_0x4829('0x11')]!=='0'?_0x435b39[_0x4829('0x11')][_0x4829('0x12')](','):['phone'];_0x1e5abd[_0x4829('0x13')]=_[_0x4829('0x14')](_0x1e4745,function(_0x45e49d){var _0x30f849={};_0x30f849[_0x45e49d]=_0x41c82b['routeId']?_0x41c82b[_0x4829('0x15')]:_0x41c82b[_0x4829('0x16')];return _0x30f849;});}var _0x198af7=['id',_0x4829('0x17'),'lastName',_0x4829('0x18'),'mobile',_0x4829('0x19'),_0x4829('0x10'),_0x4829('0x1a'),_0x4829('0x1b'),_0x4829('0x1c')];var _0x397eb6=_[_0x4829('0x1d')](_0x198af7,_0x1e4745);BPromise[_0x4829('0x1e')]()[_0x4829('0x1f')](cmContactRpc[_0x4829('0x20')]({'attributes':_0x397eb6,'where':_0x1e5abd}))[_0x4829('0x1f')](function(_0x19a0ac){_0x155deb=_0x19a0ac;if(!_[_0x4829('0x21')](_0x155deb)){if(_0x155deb[_0x4829('0x22')]===0x1){_0x67da10=_0x155deb[0x0];logger[_0x4829('0x8')](_0x4829('0x23'),_0x41c82b['uniqueid'],_0x272510['id'],_0x67da10['id']);}else{logger[_0x4829('0x8')](_0x4829('0x24'),_0x41c82b[_0x4829('0x25')],_0x272510['id'],_[_0x4829('0x14')](_0x155deb,'id')['join'](','));}return;}else{logger[_0x4829('0x8')](_0x4829('0x26'),_0x41c82b[_0x4829('0x25')],_0x272510['id']);var _0x168636={'ListId':_0x4c3968};var _0x531d42=_0x435b39[_0x4829('0x27')]&&_0x435b39[_0x4829('0x27')]!=='0'?_0x435b39[_0x4829('0x27')]:_0x4829('0x18');if(_0x3deb3c){logger[_0x4829('0x8')](_0x4829('0x28'),_0x41c82b[_0x4829('0x25')],_0x272510['id']);_0x168636[_0x531d42]=_['isNil'](_0x41c82b[_0x4829('0x29')])?_0x41c82b[_0x4829('0x16')]:_0x41c82b[_0x4829('0x15')];if(_[_0x4829('0x2a')](_0x41c82b[_0x4829('0x29')])){_0x168636[_0x4829('0x17')]=_0x41c82b[_0x4829('0x2b')]&&_0x41c82b['calleridname']!==_0x4829('0x2c')?_0x41c82b[_0x4829('0x2b')]:_0x4829('0x2d');}else{_0x168636[_0x4829('0x17')]=_0x41c82b[_0x4829('0x2e')]&&_0x41c82b[_0x4829('0x2e')]!==_0x4829('0x2c')?_0x41c82b['destcalleridname']:_0x4829('0x2d');}return BPromise[_0x4829('0x1e')]()['then'](cmContactRpc[_0x4829('0x2f')](_0x168636))[_0x4829('0x1f')](function(_0x283ac3){_0x67da10=_0x283ac3;_0x155deb[_0x4829('0x30')](_0x283ac3);if(_0x67da10){logger[_0x4829('0x8')]('[CM][%s][%s]\x20Contact\x20created:%s',_0x41c82b[_0x4829('0x25')],_0x272510['id'],_0x67da10['id']);}return;});}else{logger['info'](_0x4829('0x31'),_0x41c82b[_0x4829('0x25')],_0x272510['id']);_0x168636[_0x531d42]=_[_0x4829('0x2a')](_0x41c82b[_0x4829('0x29')])?_0x41c82b[_0x4829('0x16')]:_0x41c82b[_0x4829('0x15')];if(_[_0x4829('0x2a')](_0x41c82b[_0x4829('0x29')])){_0x168636[_0x4829('0x17')]=_0x41c82b[_0x4829('0x2b')]&&_0x41c82b[_0x4829('0x2b')]!==_0x4829('0x2c')?_0x41c82b[_0x4829('0x2b')]:'Unknown';}else{_0x168636[_0x4829('0x17')]=_0x41c82b[_0x4829('0x2e')]&&_0x41c82b[_0x4829('0x2e')]!==_0x4829('0x2c')?_0x41c82b[_0x4829('0x2e')]:_0x4829('0x2d');}_0x67da10=_0x168636;_0x155deb[_0x4829('0x30')](_0x168636);return;}}})[_0x4829('0x1f')](function(){if(_0x297532){emit(_0x41c82b[_0x4829('0x25')],_0x272510,util[_0x4829('0x32')]('user:%s',_0x297532[_0x4829('0x33')]),util[_0x4829('0x32')](_0x4829('0x34'),_0x435b39['action'][_0x4829('0x35')]()),{'evt':_['merge'](_0x41c82b,{'autoCreate':_0x3deb3c}),'contact':_0x67da10===undefined?{}:_0x67da10,'contacts':_0x155deb[_0x4829('0x22')]===0x0?undefined:_0x155deb});}});};