Built motion from commit f25620e4.|2.6.30
[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 _0x671e=['ioredis','../../../../config/environment','../../../../config/logger','../../rpc/cmContact','redis','defaults','localhost','socket.io-emitter','info','[CM][%s][%s]','stringify','emit','data2','data5','xmd-contactid','ListId','data3','split','phone','$or','routeId','destcalleridnum','calleridnum','firstName','lastName','mobile','scheduledAt','updatedAt','resolve','then','length','[CM][%s][%s]\x20Contact\x20found:%s','uniqueid','[CM][%s][%s]\x20Multiple\x20contacts\x20found:[%s]','map','join','[CM][%s][%s]\x20Contact\x20not\x20found','data4','[CM][%s][%s]\x20Autocreate\x20enabled','calleridname','<unknown>','Unknown','destcalleridname','createContact','push','isNil','format','user:%s','name','trigger:%s','action','toLowerCase','lodash','bluebird'];(function(_0x59ee6f,_0x450239){var _0x4c0979=function(_0x565e92){while(--_0x565e92){_0x59ee6f['push'](_0x59ee6f['shift']());}};_0x4c0979(++_0x450239);}(_0x671e,0xd6));var _0xe671=function(_0x22a35b,_0x55764a){_0x22a35b=_0x22a35b-0x0;var _0xa4e884=_0x671e[_0x22a35b];return _0xa4e884;};'use strict';var _=require(_0xe671('0x0'));var BPromise=require(_0xe671('0x1'));var Redis=require(_0xe671('0x2'));var util=require('util');var config=require(_0xe671('0x3'));var logger=require(_0xe671('0x4'))('trigger');var cmContactRpc=require(_0xe671('0x5'));config[_0xe671('0x6')]=_[_0xe671('0x7')](config['redis'],{'host':_0xe671('0x8'),'port':0x18eb});var io=require(_0xe671('0x9'))(new Redis(config['redis']));function emit(_0x27b847,_0x7ec84b,_0xda7edc,_0x4033d9,_0x48f194){logger[_0xe671('0xa')](_0xe671('0xb'),_0x27b847,_0x7ec84b['id'],_0xda7edc,_0x4033d9,JSON[_0xe671('0xc')](_0x48f194));io['to'](_0xda7edc)[_0xe671('0xd')](_0x4033d9,_0x48f194);}exports['exec']=function(_0x5831af,_0xdceecd,_0x1b34e8,_0x1ea1c3){var _0x5682ac,_0x1893d0;var _0x467e6f={};var _0x1878be;var _0x39c4b9=Number(_0x1b34e8['data1']);var _0x3a051e=_0x1b34e8['data2']?Boolean(Number(_0x1b34e8[_0xe671('0xe')])):![];var _0x52757d;var _0x4f62c1=![];if(!_['isNil'](_0x1b34e8['data5'])){if(_0x1b34e8[_0xe671('0xf')]=='1')_0x4f62c1=!![];}if(!_0x4f62c1){if(_0x1ea1c3[_0xe671('0x10')]){_0x467e6f['id']=_0x1ea1c3[_0xe671('0x10')];}}if(!_0x467e6f['id']){_0x467e6f[_0xe671('0x11')]=_0x39c4b9;_0x52757d=_0x1b34e8['data3']&&_0x1b34e8[_0xe671('0x12')]!=='0'?_0x1b34e8[_0xe671('0x12')][_0xe671('0x13')](','):[_0xe671('0x14')];_0x467e6f[_0xe671('0x15')]=_['map'](_0x52757d,function(_0x135e68){var _0x186bba={};_0x186bba[_0x135e68]=_0x1ea1c3[_0xe671('0x16')]?_0x1ea1c3[_0xe671('0x17')]:_0x1ea1c3[_0xe671('0x18')];return _0x186bba;});_0x1878be=_0x1ea1c3[_0xe671('0x16')]?_0x1ea1c3[_0xe671('0x17')]:_0x1ea1c3[_0xe671('0x18')];}var _0x4a24bf=['id',_0xe671('0x19'),_0xe671('0x1a'),_0xe671('0x14'),_0xe671('0x1b'),'fax',_0xe671('0x11'),'createdAt',_0xe671('0x1c'),_0xe671('0x1d')];var _0x59c49c=_['union'](_0x4a24bf,_0x52757d);BPromise[_0xe671('0x1e')]()[_0xe671('0x1f')](cmContactRpc['getContacts']({'attributes':_0x59c49c,'where':_0x467e6f,'phone':_0x1878be}))['then'](function(_0x3c796b){_0x1893d0=_0x3c796b;if(!_['isEmpty'](_0x1893d0)){if(_0x1893d0[_0xe671('0x20')]===0x1){_0x5682ac=_0x1893d0[0x0];logger['info'](_0xe671('0x21'),_0x1ea1c3[_0xe671('0x22')],_0xdceecd['id'],_0x5682ac['id']);}else{logger['info'](_0xe671('0x23'),_0x1ea1c3[_0xe671('0x22')],_0xdceecd['id'],_[_0xe671('0x24')](_0x1893d0,'id')[_0xe671('0x25')](','));}return;}else{logger[_0xe671('0xa')](_0xe671('0x26'),_0x1ea1c3[_0xe671('0x22')],_0xdceecd['id']);var _0x529266={'ListId':_0x39c4b9};var _0xb4d0ef=_0x1b34e8[_0xe671('0x27')]&&_0x1b34e8[_0xe671('0x27')]!=='0'?_0x1b34e8['data4']:_0xe671('0x14');if(_0x3a051e){logger[_0xe671('0xa')](_0xe671('0x28'),_0x1ea1c3[_0xe671('0x22')],_0xdceecd['id']);_0x529266[_0xb4d0ef]=_['isNil'](_0x1ea1c3[_0xe671('0x16')])?_0x1ea1c3[_0xe671('0x18')]:_0x1ea1c3[_0xe671('0x17')];if(_['isNil'](_0x1ea1c3[_0xe671('0x16')])){_0x529266[_0xe671('0x19')]=_0x1ea1c3['calleridname']&&_0x1ea1c3[_0xe671('0x29')]!==_0xe671('0x2a')?_0x1ea1c3[_0xe671('0x29')]:_0xe671('0x2b');}else{_0x529266[_0xe671('0x19')]=_0x1ea1c3[_0xe671('0x2c')]&&_0x1ea1c3[_0xe671('0x2c')]!=='<unknown>'?_0x1ea1c3[_0xe671('0x2c')]:'Unknown';}return BPromise[_0xe671('0x1e')]()[_0xe671('0x1f')](cmContactRpc[_0xe671('0x2d')](_0x529266))['then'](function(_0x2db5cc){_0x5682ac=_0x2db5cc;_0x1893d0[_0xe671('0x2e')](_0x2db5cc);if(_0x5682ac){logger['info']('[CM][%s][%s]\x20Contact\x20created:%s',_0x1ea1c3['uniqueid'],_0xdceecd['id'],_0x5682ac['id']);}return;});}else{logger[_0xe671('0xa')]('[CM][%s][%s]\x20Autocreate\x20disabled',_0x1ea1c3[_0xe671('0x22')],_0xdceecd['id']);_0x529266[_0xb4d0ef]=_[_0xe671('0x2f')](_0x1ea1c3['routeId'])?_0x1ea1c3['calleridnum']:_0x1ea1c3[_0xe671('0x17')];if(_[_0xe671('0x2f')](_0x1ea1c3[_0xe671('0x16')])){_0x529266[_0xe671('0x19')]=_0x1ea1c3['calleridname']&&_0x1ea1c3[_0xe671('0x29')]!==_0xe671('0x2a')?_0x1ea1c3[_0xe671('0x29')]:_0xe671('0x2b');}else{_0x529266['firstName']=_0x1ea1c3['destcalleridname']&&_0x1ea1c3[_0xe671('0x2c')]!==_0xe671('0x2a')?_0x1ea1c3[_0xe671('0x2c')]:_0xe671('0x2b');}_0x5682ac=_0x529266;_0x1893d0[_0xe671('0x2e')](_0x529266);return;}}})[_0xe671('0x1f')](function(){if(_0x5831af){emit(_0x1ea1c3[_0xe671('0x22')],_0xdceecd,util[_0xe671('0x30')](_0xe671('0x31'),_0x5831af[_0xe671('0x32')]),util['format'](_0xe671('0x33'),_0x1b34e8[_0xe671('0x34')][_0xe671('0x35')]()),{'evt':_['merge'](_0x1ea1c3,{'autoCreate':_0x3a051e}),'contact':_0x5682ac===undefined?{}:_0x5682ac,'contacts':_0x1893d0[_0xe671('0x20')]===0x0?undefined:_0x1893d0});}});};