Built motion from commit 639a1a7f.|2.6.19
[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 _0xea0c=['join','data4','[CM][%s][%s]\x20Autocreate\x20enabled','calleridname','<unknown>','Unknown','destcalleridname','createContact','push','[CM][%s][%s]\x20Contact\x20created:%s','[CM][%s][%s]\x20Autocreate\x20disabled','format','user:%s','name','trigger:%s','action','lodash','bluebird','ioredis','../../../../config/environment','../../../../config/logger','trigger','../../rpc/cmContact','redis','localhost','socket.io-emitter','info','stringify','emit','data1','data2','isNil','data5','xmd-contactid','data3','split','phone','$or','map','routeId','destcalleridnum','calleridnum','firstName','lastName','scheduledAt','updatedAt','union','resolve','then','length','[CM][%s][%s]\x20Contact\x20found:%s','uniqueid','[CM][%s][%s]\x20Multiple\x20contacts\x20found:[%s]'];(function(_0x45ccd2,_0x4ecb10){var _0x554dff=function(_0x2f9bea){while(--_0x2f9bea){_0x45ccd2['push'](_0x45ccd2['shift']());}};_0x554dff(++_0x4ecb10);}(_0xea0c,0x14e));var _0xcea0=function(_0x3f607e,_0x2648c5){_0x3f607e=_0x3f607e-0x0;var _0x2e1ad7=_0xea0c[_0x3f607e];return _0x2e1ad7;};'use strict';var _=require(_0xcea0('0x0'));var BPromise=require(_0xcea0('0x1'));var Redis=require(_0xcea0('0x2'));var util=require('util');var config=require(_0xcea0('0x3'));var logger=require(_0xcea0('0x4'))(_0xcea0('0x5'));var cmContactRpc=require(_0xcea0('0x6'));config[_0xcea0('0x7')]=_['defaults'](config['redis'],{'host':_0xcea0('0x8'),'port':0x18eb});var io=require(_0xcea0('0x9'))(new Redis(config['redis']));function emit(_0x2ee09f,_0x2a26cd,_0x91809e,_0xb88289,_0x37b0b6){logger[_0xcea0('0xa')]('[CM][%s][%s]',_0x2ee09f,_0x2a26cd['id'],_0x91809e,_0xb88289,JSON[_0xcea0('0xb')](_0x37b0b6));io['to'](_0x91809e)[_0xcea0('0xc')](_0xb88289,_0x37b0b6);}exports['exec']=function(_0x3d4709,_0x453a55,_0x33b56f,_0x15338a){var _0xd6b4c0,_0x269e8e;var _0x1f4b4e={};var _0x269832;var _0x41db96=Number(_0x33b56f[_0xcea0('0xd')]);var _0x1b2b01=_0x33b56f[_0xcea0('0xe')]?Boolean(Number(_0x33b56f[_0xcea0('0xe')])):![];var _0x2e93af;var _0x2b4b13=![];if(!_[_0xcea0('0xf')](_0x33b56f[_0xcea0('0x10')])){if(_0x33b56f[_0xcea0('0x10')]=='1')_0x2b4b13=!![];}if(!_0x2b4b13){if(_0x15338a[_0xcea0('0x11')]){_0x1f4b4e['id']=_0x15338a[_0xcea0('0x11')];}}if(!_0x1f4b4e['id']){_0x1f4b4e['ListId']=_0x41db96;_0x2e93af=_0x33b56f[_0xcea0('0x12')]&&_0x33b56f['data3']!=='0'?_0x33b56f[_0xcea0('0x12')][_0xcea0('0x13')](','):[_0xcea0('0x14')];_0x1f4b4e[_0xcea0('0x15')]=_[_0xcea0('0x16')](_0x2e93af,function(_0x4498c5){var _0x4add1c={};_0x4add1c[_0x4498c5]=_0x15338a[_0xcea0('0x17')]?_0x15338a[_0xcea0('0x18')]:_0x15338a[_0xcea0('0x19')];return _0x4add1c;});_0x269832=_0x15338a[_0xcea0('0x17')]?_0x15338a['destcalleridnum']:_0x15338a[_0xcea0('0x19')];}var _0x1f4db5=['id',_0xcea0('0x1a'),_0xcea0('0x1b'),_0xcea0('0x14'),'mobile','fax','ListId','createdAt',_0xcea0('0x1c'),_0xcea0('0x1d')];var _0x44a919=_[_0xcea0('0x1e')](_0x1f4db5,_0x2e93af);BPromise[_0xcea0('0x1f')]()[_0xcea0('0x20')](cmContactRpc['getContacts']({'attributes':_0x44a919,'where':_0x1f4b4e,'phone':_0x269832}))[_0xcea0('0x20')](function(_0x2ed2f0){_0x269e8e=_0x2ed2f0;if(!_['isEmpty'](_0x269e8e)){if(_0x269e8e[_0xcea0('0x21')]===0x1){_0xd6b4c0=_0x269e8e[0x0];logger[_0xcea0('0xa')](_0xcea0('0x22'),_0x15338a[_0xcea0('0x23')],_0x453a55['id'],_0xd6b4c0['id']);}else{logger[_0xcea0('0xa')](_0xcea0('0x24'),_0x15338a[_0xcea0('0x23')],_0x453a55['id'],_[_0xcea0('0x16')](_0x269e8e,'id')[_0xcea0('0x25')](','));}return;}else{logger['info']('[CM][%s][%s]\x20Contact\x20not\x20found',_0x15338a[_0xcea0('0x23')],_0x453a55['id']);var _0x58aeb3={'ListId':_0x41db96};var _0x43f306=_0x33b56f[_0xcea0('0x26')]&&_0x33b56f[_0xcea0('0x26')]!=='0'?_0x33b56f['data4']:'phone';if(_0x1b2b01){logger[_0xcea0('0xa')](_0xcea0('0x27'),_0x15338a[_0xcea0('0x23')],_0x453a55['id']);_0x58aeb3[_0x43f306]=_[_0xcea0('0xf')](_0x15338a[_0xcea0('0x17')])?_0x15338a[_0xcea0('0x19')]:_0x15338a[_0xcea0('0x18')];if(_[_0xcea0('0xf')](_0x15338a[_0xcea0('0x17')])){_0x58aeb3[_0xcea0('0x1a')]=_0x15338a['calleridname']&&_0x15338a[_0xcea0('0x28')]!==_0xcea0('0x29')?_0x15338a['calleridname']:_0xcea0('0x2a');}else{_0x58aeb3[_0xcea0('0x1a')]=_0x15338a[_0xcea0('0x2b')]&&_0x15338a[_0xcea0('0x2b')]!=='<unknown>'?_0x15338a[_0xcea0('0x2b')]:'Unknown';}return BPromise[_0xcea0('0x1f')]()['then'](cmContactRpc[_0xcea0('0x2c')](_0x58aeb3))['then'](function(_0x1be70d){_0xd6b4c0=_0x1be70d;_0x269e8e[_0xcea0('0x2d')](_0x1be70d);if(_0xd6b4c0){logger['info'](_0xcea0('0x2e'),_0x15338a[_0xcea0('0x23')],_0x453a55['id'],_0xd6b4c0['id']);}return;});}else{logger[_0xcea0('0xa')](_0xcea0('0x2f'),_0x15338a[_0xcea0('0x23')],_0x453a55['id']);_0x58aeb3[_0x43f306]=_[_0xcea0('0xf')](_0x15338a[_0xcea0('0x17')])?_0x15338a['calleridnum']:_0x15338a[_0xcea0('0x18')];if(_[_0xcea0('0xf')](_0x15338a['routeId'])){_0x58aeb3[_0xcea0('0x1a')]=_0x15338a[_0xcea0('0x28')]&&_0x15338a['calleridname']!==_0xcea0('0x29')?_0x15338a[_0xcea0('0x28')]:_0xcea0('0x2a');}else{_0x58aeb3[_0xcea0('0x1a')]=_0x15338a['destcalleridname']&&_0x15338a[_0xcea0('0x2b')]!==_0xcea0('0x29')?_0x15338a[_0xcea0('0x2b')]:_0xcea0('0x2a');}_0xd6b4c0=_0x58aeb3;_0x269e8e[_0xcea0('0x2d')](_0x58aeb3);return;}}})['then'](function(){if(_0x3d4709){emit(_0x15338a[_0xcea0('0x23')],_0x453a55,util[_0xcea0('0x30')](_0xcea0('0x31'),_0x3d4709[_0xcea0('0x32')]),util[_0xcea0('0x30')](_0xcea0('0x33'),_0x33b56f[_0xcea0('0x34')]['toLowerCase']()),{'evt':_['merge'](_0x15338a,{'autoCreate':_0x1b2b01}),'contact':_0xd6b4c0===undefined?{}:_0xd6b4c0,'contacts':_0x269e8e[_0xcea0('0x21')]===0x0?undefined:_0x269e8e});}});};