Built motion from commit 85328c08.|2.5.50
[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 _0x98a8=['[CM][%s][%s]\x20Autocreate\x20disabled','format','trigger:%s','action','merge','lodash','bluebird','ioredis','util','../../../../config/environment','../../../../config/logger','trigger','redis','defaults','localhost','socket.io-emitter','info','[CM][%s][%s]','stringify','emit','exec','data1','data2','isNil','data5','xmd-contactid','ListId','data3','split','$or','routeId','destcalleridnum','calleridnum','firstName','mobile','fax','scheduledAt','updatedAt','union','resolve','then','getContacts','isEmpty','length','[CM][%s][%s]\x20Contact\x20found:%s','uniqueid','[CM][%s][%s]\x20Multiple\x20contacts\x20found:[%s]','map','join','[CM][%s][%s]\x20Contact\x20not\x20found','data4','phone','[CM][%s][%s]\x20Autocreate\x20enabled','calleridname','<unknown>','Unknown','destcalleridname','createContact','push'];(function(_0x4b1560,_0x11721f){var _0x10dfb1=function(_0x206296){while(--_0x206296){_0x4b1560['push'](_0x4b1560['shift']());}};_0x10dfb1(++_0x11721f);}(_0x98a8,0x12c));var _0x898a=function(_0x25d697,_0xacbe36){_0x25d697=_0x25d697-0x0;var _0x46b4eb=_0x98a8[_0x25d697];return _0x46b4eb;};'use strict';var _=require(_0x898a('0x0'));var BPromise=require(_0x898a('0x1'));var Redis=require(_0x898a('0x2'));var util=require(_0x898a('0x3'));var config=require(_0x898a('0x4'));var logger=require(_0x898a('0x5'))(_0x898a('0x6'));var cmContactRpc=require('../../rpc/cmContact');config[_0x898a('0x7')]=_[_0x898a('0x8')](config[_0x898a('0x7')],{'host':_0x898a('0x9'),'port':0x18eb});var io=require(_0x898a('0xa'))(new Redis(config['redis']));function emit(_0x3aadc2,_0x564583,_0xfa8c50,_0x4fbce5,_0x42021d){logger[_0x898a('0xb')](_0x898a('0xc'),_0x3aadc2,_0x564583['id'],_0xfa8c50,_0x4fbce5,JSON[_0x898a('0xd')](_0x42021d));io['to'](_0xfa8c50)[_0x898a('0xe')](_0x4fbce5,_0x42021d);}exports[_0x898a('0xf')]=function(_0x42faa4,_0x1a92de,_0x3806cb,_0x5d2de4){var _0x3e1867,_0x502e95;var _0x30257f={};var _0x5d5924=Number(_0x3806cb[_0x898a('0x10')]);var _0x2c76b7=_0x3806cb[_0x898a('0x11')]?Boolean(Number(_0x3806cb['data2'])):![];var _0x5bfded;var _0x5b5c9c=![];if(!_[_0x898a('0x12')](_0x3806cb[_0x898a('0x13')])){if(_0x3806cb[_0x898a('0x13')]=='1')_0x5b5c9c=!![];}if(!_0x5b5c9c){if(_0x5d2de4[_0x898a('0x14')]){_0x30257f['id']=_0x5d2de4[_0x898a('0x14')];}}if(!_0x30257f['id']){_0x30257f[_0x898a('0x15')]=_0x5d5924;_0x5bfded=_0x3806cb['data3']&&_0x3806cb[_0x898a('0x16')]!=='0'?_0x3806cb['data3'][_0x898a('0x17')](','):['phone'];_0x30257f[_0x898a('0x18')]=_['map'](_0x5bfded,function(_0x18d167){var _0x56f8f9={};_0x56f8f9[_0x18d167]=_0x5d2de4[_0x898a('0x19')]?_0x5d2de4[_0x898a('0x1a')]:_0x5d2de4[_0x898a('0x1b')];return _0x56f8f9;});}var _0x4ddd4d=['id',_0x898a('0x1c'),'lastName','phone',_0x898a('0x1d'),_0x898a('0x1e'),'ListId','createdAt',_0x898a('0x1f'),_0x898a('0x20')];var _0x38a8f0=_[_0x898a('0x21')](_0x4ddd4d,_0x5bfded);BPromise[_0x898a('0x22')]()[_0x898a('0x23')](cmContactRpc[_0x898a('0x24')]({'attributes':_0x38a8f0,'where':_0x30257f}))['then'](function(_0x247cfc){_0x502e95=_0x247cfc;if(!_[_0x898a('0x25')](_0x502e95)){if(_0x502e95[_0x898a('0x26')]===0x1){_0x3e1867=_0x502e95[0x0];logger[_0x898a('0xb')](_0x898a('0x27'),_0x5d2de4[_0x898a('0x28')],_0x1a92de['id'],_0x3e1867['id']);}else{logger['info'](_0x898a('0x29'),_0x5d2de4[_0x898a('0x28')],_0x1a92de['id'],_[_0x898a('0x2a')](_0x502e95,'id')[_0x898a('0x2b')](','));}return;}else{logger[_0x898a('0xb')](_0x898a('0x2c'),_0x5d2de4['uniqueid'],_0x1a92de['id']);var _0x20bde0={'ListId':_0x5d5924};var _0x51d501=_0x3806cb['data4']&&_0x3806cb['data4']!=='0'?_0x3806cb[_0x898a('0x2d')]:_0x898a('0x2e');if(_0x2c76b7){logger[_0x898a('0xb')](_0x898a('0x2f'),_0x5d2de4[_0x898a('0x28')],_0x1a92de['id']);_0x20bde0[_0x51d501]=_[_0x898a('0x12')](_0x5d2de4[_0x898a('0x19')])?_0x5d2de4[_0x898a('0x1b')]:_0x5d2de4[_0x898a('0x1a')];if(_['isNil'](_0x5d2de4['routeId'])){_0x20bde0['firstName']=_0x5d2de4[_0x898a('0x30')]&&_0x5d2de4[_0x898a('0x30')]!==_0x898a('0x31')?_0x5d2de4[_0x898a('0x30')]:_0x898a('0x32');}else{_0x20bde0[_0x898a('0x1c')]=_0x5d2de4[_0x898a('0x33')]&&_0x5d2de4[_0x898a('0x33')]!==_0x898a('0x31')?_0x5d2de4[_0x898a('0x33')]:_0x898a('0x32');}return BPromise[_0x898a('0x22')]()['then'](cmContactRpc[_0x898a('0x34')](_0x20bde0))[_0x898a('0x23')](function(_0x26eead){_0x3e1867=_0x26eead;_0x502e95[_0x898a('0x35')](_0x26eead);if(_0x3e1867){logger[_0x898a('0xb')]('[CM][%s][%s]\x20Contact\x20created:%s',_0x5d2de4['uniqueid'],_0x1a92de['id'],_0x3e1867['id']);}return;});}else{logger[_0x898a('0xb')](_0x898a('0x36'),_0x5d2de4[_0x898a('0x28')],_0x1a92de['id']);_0x20bde0[_0x51d501]=_['isNil'](_0x5d2de4[_0x898a('0x19')])?_0x5d2de4[_0x898a('0x1b')]:_0x5d2de4[_0x898a('0x1a')];if(_[_0x898a('0x12')](_0x5d2de4[_0x898a('0x19')])){_0x20bde0[_0x898a('0x1c')]=_0x5d2de4[_0x898a('0x30')]&&_0x5d2de4[_0x898a('0x30')]!=='<unknown>'?_0x5d2de4[_0x898a('0x30')]:'Unknown';}else{_0x20bde0['firstName']=_0x5d2de4[_0x898a('0x33')]&&_0x5d2de4['destcalleridname']!==_0x898a('0x31')?_0x5d2de4['destcalleridname']:_0x898a('0x32');}_0x3e1867=_0x20bde0;_0x502e95['push'](_0x20bde0);return;}}})[_0x898a('0x23')](function(){if(_0x42faa4){emit(_0x5d2de4[_0x898a('0x28')],_0x1a92de,util[_0x898a('0x37')]('user:%s',_0x42faa4['name']),util['format'](_0x898a('0x38'),_0x3806cb[_0x898a('0x39')]['toLowerCase']()),{'evt':_[_0x898a('0x3a')](_0x5d2de4,{'autoCreate':_0x2c76b7}),'contact':_0x3e1867===undefined?{}:_0x3e1867,'contacts':_0x502e95[_0x898a('0x26')]===0x0?undefined:_0x502e95});}});};