Built motion from commit (unavailable).|2.5.28
[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 _0x9b87=['resolve','createContact','push','[CM][%s][%s]\x20Contact\x20created:%s','[CM][%s][%s]\x20Autocreate\x20disabled','destcalleridnum','format','user:%s','name','trigger:%s','action','merge','length','bluebird','ioredis','../../../../config/environment','../../../../config/logger','trigger','../../rpc/cmContact','defaults','redis','socket.io-emitter','info','[CM][%s][%s]','stringify','emit','exec','data1','data2','xmd-contactid','data3','split','phone','$or','map','calleridnum','firstName','lastName','mobile','createdAt','updatedAt','union','then','[CM][%s][%s]\x20Contact\x20found:%s','uniqueid','join','[CM][%s][%s]\x20Contact\x20not\x20found','data4','[CM][%s][%s]\x20Autocreate\x20enabled','isNil','routeId','calleridname','Unknown','destcalleridname','<unknown>'];(function(_0x295516,_0x31af29){var _0x1d0c0e=function(_0x466a3c){while(--_0x466a3c){_0x295516['push'](_0x295516['shift']());}};_0x1d0c0e(++_0x31af29);}(_0x9b87,0x18e));var _0x79b8=function(_0x3a8665,_0x27a23d){_0x3a8665=_0x3a8665-0x0;var _0x204bc9=_0x9b87[_0x3a8665];return _0x204bc9;};'use strict';var _=require('lodash');var BPromise=require(_0x79b8('0x0'));var Redis=require(_0x79b8('0x1'));var util=require('util');var config=require(_0x79b8('0x2'));var logger=require(_0x79b8('0x3'))(_0x79b8('0x4'));var cmContactRpc=require(_0x79b8('0x5'));config['redis']=_[_0x79b8('0x6')](config[_0x79b8('0x7')],{'host':'localhost','port':0x18eb});var io=require(_0x79b8('0x8'))(new Redis(config['redis']));function emit(_0x482306,_0x2d54ac,_0x1c77bb,_0x4a76bc,_0xd6063f){logger[_0x79b8('0x9')](_0x79b8('0xa'),_0x482306,_0x2d54ac['id'],_0x1c77bb,_0x4a76bc,JSON[_0x79b8('0xb')](_0xd6063f));io['to'](_0x1c77bb)[_0x79b8('0xc')](_0x4a76bc,_0xd6063f);}exports[_0x79b8('0xd')]=function(_0x469e3b,_0x4c527f,_0x289bce,_0x11ccf4){var _0x3ffede,_0x14887e;var _0x335a41={};var _0xb85662=Number(_0x289bce[_0x79b8('0xe')]);var _0x57c334=_0x289bce[_0x79b8('0xf')]?Boolean(Number(_0x289bce[_0x79b8('0xf')])):![];var _0x5a73aa;if(_0x11ccf4[_0x79b8('0x10')]){_0x335a41['id']=_0x11ccf4[_0x79b8('0x10')];}if(!_0x335a41['id']){_0x335a41['ListId']=_0xb85662;_0x5a73aa=_0x289bce[_0x79b8('0x11')]&&_0x289bce[_0x79b8('0x11')]!=='0'?_0x289bce[_0x79b8('0x11')][_0x79b8('0x12')](','):[_0x79b8('0x13')];_0x335a41[_0x79b8('0x14')]=_[_0x79b8('0x15')](_0x5a73aa,function(_0x4d9bde){var _0x23951b={};_0x23951b[_0x4d9bde]=_0x11ccf4['routeId']?_0x11ccf4['destcalleridnum']:_0x11ccf4[_0x79b8('0x16')];return _0x23951b;});}var _0x1d690a=['id',_0x79b8('0x17'),_0x79b8('0x18'),_0x79b8('0x13'),_0x79b8('0x19'),'fax','ListId',_0x79b8('0x1a'),'scheduledAt',_0x79b8('0x1b')];var _0xf2a1ba=_[_0x79b8('0x1c')](_0x1d690a,_0x5a73aa);BPromise['resolve']()[_0x79b8('0x1d')](cmContactRpc['getContacts']({'attributes':_0xf2a1ba,'where':_0x335a41}))['then'](function(_0x128908){_0x14887e=_0x128908;if(!_['isEmpty'](_0x14887e)){if(_0x14887e['length']===0x1){_0x3ffede=_0x14887e[0x0];logger[_0x79b8('0x9')](_0x79b8('0x1e'),_0x11ccf4[_0x79b8('0x1f')],_0x4c527f['id'],_0x3ffede['id']);}else{logger[_0x79b8('0x9')]('[CM][%s][%s]\x20Multiple\x20contacts\x20found:[%s]',_0x11ccf4[_0x79b8('0x1f')],_0x4c527f['id'],_['map'](_0x14887e,'id')[_0x79b8('0x20')](','));}return;}else{logger[_0x79b8('0x9')](_0x79b8('0x21'),_0x11ccf4[_0x79b8('0x1f')],_0x4c527f['id']);var _0x4e67f1={'ListId':_0xb85662};var _0x1ab41c=_0x289bce[_0x79b8('0x22')]&&_0x289bce[_0x79b8('0x22')]!=='0'?_0x289bce['data4']:_0x79b8('0x13');if(_0x57c334){logger[_0x79b8('0x9')](_0x79b8('0x23'),_0x11ccf4[_0x79b8('0x1f')],_0x4c527f['id']);_0x4e67f1[_0x1ab41c]=_[_0x79b8('0x24')](_0x11ccf4[_0x79b8('0x25')])?_0x11ccf4['calleridnum']:_0x11ccf4['destcalleridnum'];if(_['isNil'](_0x11ccf4[_0x79b8('0x25')])){_0x4e67f1[_0x79b8('0x17')]=_0x11ccf4[_0x79b8('0x26')]&&_0x11ccf4['calleridname']!=='<unknown>'?_0x11ccf4[_0x79b8('0x26')]:_0x79b8('0x27');}else{_0x4e67f1[_0x79b8('0x17')]=_0x11ccf4[_0x79b8('0x28')]&&_0x11ccf4[_0x79b8('0x28')]!==_0x79b8('0x29')?_0x11ccf4[_0x79b8('0x28')]:_0x79b8('0x27');}return BPromise[_0x79b8('0x2a')]()['then'](cmContactRpc[_0x79b8('0x2b')](_0x4e67f1))[_0x79b8('0x1d')](function(_0x28a22b){_0x3ffede=_0x28a22b;_0x14887e[_0x79b8('0x2c')](_0x28a22b);if(_0x3ffede){logger[_0x79b8('0x9')](_0x79b8('0x2d'),_0x11ccf4[_0x79b8('0x1f')],_0x4c527f['id'],_0x3ffede['id']);}return;});}else{logger['info'](_0x79b8('0x2e'),_0x11ccf4['uniqueid'],_0x4c527f['id']);_0x4e67f1[_0x1ab41c]=_['isNil'](_0x11ccf4[_0x79b8('0x25')])?_0x11ccf4['calleridnum']:_0x11ccf4[_0x79b8('0x2f')];if(_[_0x79b8('0x24')](_0x11ccf4['routeId'])){_0x4e67f1[_0x79b8('0x17')]=_0x11ccf4[_0x79b8('0x26')]&&_0x11ccf4[_0x79b8('0x26')]!==_0x79b8('0x29')?_0x11ccf4[_0x79b8('0x26')]:_0x79b8('0x27');}else{_0x4e67f1[_0x79b8('0x17')]=_0x11ccf4['destcalleridname']&&_0x11ccf4[_0x79b8('0x28')]!==_0x79b8('0x29')?_0x11ccf4['destcalleridname']:_0x79b8('0x27');}_0x3ffede=_0x4e67f1;_0x14887e['push'](_0x4e67f1);return;}}})[_0x79b8('0x1d')](function(){if(_0x469e3b){emit(_0x11ccf4[_0x79b8('0x1f')],_0x4c527f,util[_0x79b8('0x30')](_0x79b8('0x31'),_0x469e3b[_0x79b8('0x32')]),util[_0x79b8('0x30')](_0x79b8('0x33'),_0x289bce[_0x79b8('0x34')]['toLowerCase']()),{'evt':_[_0x79b8('0x35')](_0x11ccf4,{'autoCreate':_0x57c334}),'contact':_0x3ffede===undefined?{}:_0x3ffede,'contacts':_0x14887e[_0x79b8('0x36')]===0x0?undefined:_0x14887e});}});};