Built motion from commit fe909640.|2.6.8
[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 _0xaeb9=['[CM][%s][%s]\x20Contact\x20found:%s','uniqueid','data4','[CM][%s][%s]\x20Autocreate\x20enabled','routeId','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','merge','lodash','bluebird','ioredis','util','../../../../config/environment','../../../../config/logger','trigger','defaults','redis','localhost','socket.io-emitter','info','[CM][%s][%s]','stringify','isNil','data5','xmd-contactid','ListId','data3','phone','$or','map','calleridnum','destcalleridnum','firstName','lastName','mobile','scheduledAt','updatedAt','union','then','getContacts','length'];(function(_0x3c17c9,_0x46e91f){var _0x534511=function(_0x28ceda){while(--_0x28ceda){_0x3c17c9['push'](_0x3c17c9['shift']());}};_0x534511(++_0x46e91f);}(_0xaeb9,0x152));var _0x9aeb=function(_0x11ce52,_0x300f9e){_0x11ce52=_0x11ce52-0x0;var _0x509274=_0xaeb9[_0x11ce52];return _0x509274;};'use strict';var _=require(_0x9aeb('0x0'));var BPromise=require(_0x9aeb('0x1'));var Redis=require(_0x9aeb('0x2'));var util=require(_0x9aeb('0x3'));var config=require(_0x9aeb('0x4'));var logger=require(_0x9aeb('0x5'))(_0x9aeb('0x6'));var cmContactRpc=require('../../rpc/cmContact');config['redis']=_[_0x9aeb('0x7')](config[_0x9aeb('0x8')],{'host':_0x9aeb('0x9'),'port':0x18eb});var io=require(_0x9aeb('0xa'))(new Redis(config[_0x9aeb('0x8')]));function emit(_0x505d7e,_0x4ced2d,_0x10ec74,_0x3e4a0f,_0x1fbdac){logger[_0x9aeb('0xb')](_0x9aeb('0xc'),_0x505d7e,_0x4ced2d['id'],_0x10ec74,_0x3e4a0f,JSON[_0x9aeb('0xd')](_0x1fbdac));io['to'](_0x10ec74)['emit'](_0x3e4a0f,_0x1fbdac);}exports['exec']=function(_0x48b3dc,_0xc178f5,_0x3e045,_0x2275a1){var _0x4c88fe,_0x3edb4a;var _0x1cfc56={};var _0x360d8b;var _0x4f98af=Number(_0x3e045['data1']);var _0x6020a5=_0x3e045['data2']?Boolean(Number(_0x3e045['data2'])):![];var _0x5e988e;var _0x2322b1=![];if(!_[_0x9aeb('0xe')](_0x3e045[_0x9aeb('0xf')])){if(_0x3e045[_0x9aeb('0xf')]=='1')_0x2322b1=!![];}if(!_0x2322b1){if(_0x2275a1[_0x9aeb('0x10')]){_0x1cfc56['id']=_0x2275a1[_0x9aeb('0x10')];}}if(!_0x1cfc56['id']){_0x1cfc56[_0x9aeb('0x11')]=_0x4f98af;_0x5e988e=_0x3e045[_0x9aeb('0x12')]&&_0x3e045[_0x9aeb('0x12')]!=='0'?_0x3e045[_0x9aeb('0x12')]['split'](','):[_0x9aeb('0x13')];_0x1cfc56[_0x9aeb('0x14')]=_[_0x9aeb('0x15')](_0x5e988e,function(_0x50b940){var _0x4e87ba={};_0x4e87ba[_0x50b940]=_0x2275a1['routeId']?_0x2275a1['destcalleridnum']:_0x2275a1[_0x9aeb('0x16')];return _0x4e87ba;});_0x360d8b=_0x2275a1['routeId']?_0x2275a1[_0x9aeb('0x17')]:_0x2275a1[_0x9aeb('0x16')];}var _0x21a951=['id',_0x9aeb('0x18'),_0x9aeb('0x19'),'phone',_0x9aeb('0x1a'),'fax',_0x9aeb('0x11'),'createdAt',_0x9aeb('0x1b'),_0x9aeb('0x1c')];var _0x46bed6=_[_0x9aeb('0x1d')](_0x21a951,_0x5e988e);BPromise['resolve']()[_0x9aeb('0x1e')](cmContactRpc[_0x9aeb('0x1f')]({'attributes':_0x46bed6,'where':_0x1cfc56,'phone':_0x360d8b}))['then'](function(_0x56e557){_0x3edb4a=_0x56e557;if(!_['isEmpty'](_0x3edb4a)){if(_0x3edb4a[_0x9aeb('0x20')]===0x1){_0x4c88fe=_0x3edb4a[0x0];logger[_0x9aeb('0xb')](_0x9aeb('0x21'),_0x2275a1['uniqueid'],_0xc178f5['id'],_0x4c88fe['id']);}else{logger[_0x9aeb('0xb')]('[CM][%s][%s]\x20Multiple\x20contacts\x20found:[%s]',_0x2275a1[_0x9aeb('0x22')],_0xc178f5['id'],_[_0x9aeb('0x15')](_0x3edb4a,'id')['join'](','));}return;}else{logger[_0x9aeb('0xb')]('[CM][%s][%s]\x20Contact\x20not\x20found',_0x2275a1[_0x9aeb('0x22')],_0xc178f5['id']);var _0x36fd88={'ListId':_0x4f98af};var _0x177f42=_0x3e045['data4']&&_0x3e045['data4']!=='0'?_0x3e045[_0x9aeb('0x23')]:_0x9aeb('0x13');if(_0x6020a5){logger[_0x9aeb('0xb')](_0x9aeb('0x24'),_0x2275a1['uniqueid'],_0xc178f5['id']);_0x36fd88[_0x177f42]=_[_0x9aeb('0xe')](_0x2275a1[_0x9aeb('0x25')])?_0x2275a1['calleridnum']:_0x2275a1[_0x9aeb('0x17')];if(_[_0x9aeb('0xe')](_0x2275a1['routeId'])){_0x36fd88['firstName']=_0x2275a1[_0x9aeb('0x26')]&&_0x2275a1[_0x9aeb('0x26')]!==_0x9aeb('0x27')?_0x2275a1['calleridname']:'Unknown';}else{_0x36fd88[_0x9aeb('0x18')]=_0x2275a1[_0x9aeb('0x28')]&&_0x2275a1['destcalleridname']!==_0x9aeb('0x27')?_0x2275a1[_0x9aeb('0x28')]:_0x9aeb('0x29');}return BPromise['resolve']()[_0x9aeb('0x1e')](cmContactRpc[_0x9aeb('0x2a')](_0x36fd88))[_0x9aeb('0x1e')](function(_0x261624){_0x4c88fe=_0x261624;_0x3edb4a[_0x9aeb('0x2b')](_0x261624);if(_0x4c88fe){logger['info'](_0x9aeb('0x2c'),_0x2275a1[_0x9aeb('0x22')],_0xc178f5['id'],_0x4c88fe['id']);}return;});}else{logger[_0x9aeb('0xb')](_0x9aeb('0x2d'),_0x2275a1['uniqueid'],_0xc178f5['id']);_0x36fd88[_0x177f42]=_[_0x9aeb('0xe')](_0x2275a1[_0x9aeb('0x25')])?_0x2275a1['calleridnum']:_0x2275a1[_0x9aeb('0x17')];if(_['isNil'](_0x2275a1[_0x9aeb('0x25')])){_0x36fd88['firstName']=_0x2275a1[_0x9aeb('0x26')]&&_0x2275a1['calleridname']!==_0x9aeb('0x27')?_0x2275a1[_0x9aeb('0x26')]:'Unknown';}else{_0x36fd88['firstName']=_0x2275a1[_0x9aeb('0x28')]&&_0x2275a1[_0x9aeb('0x28')]!=='<unknown>'?_0x2275a1[_0x9aeb('0x28')]:'Unknown';}_0x4c88fe=_0x36fd88;_0x3edb4a[_0x9aeb('0x2b')](_0x36fd88);return;}}})[_0x9aeb('0x1e')](function(){if(_0x48b3dc){emit(_0x2275a1[_0x9aeb('0x22')],_0xc178f5,util[_0x9aeb('0x2e')](_0x9aeb('0x2f'),_0x48b3dc[_0x9aeb('0x30')]),util[_0x9aeb('0x2e')](_0x9aeb('0x31'),_0x3e045[_0x9aeb('0x32')][_0x9aeb('0x33')]()),{'evt':_[_0x9aeb('0x34')](_0x2275a1,{'autoCreate':_0x6020a5}),'contact':_0x4c88fe===undefined?{}:_0x4c88fe,'contacts':_0x3edb4a[_0x9aeb('0x20')]===0x0?undefined:_0x3edb4a});}});};