Built motion from commit e0fa946e.|2.6.5
[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 _0xfd63=['lodash','bluebird','ioredis','../../../../config/environment','../../../../config/logger','trigger','../../rpc/cmContact','redis','defaults','localhost','socket.io-emitter','info','[CM][%s][%s]','emit','exec','data2','data5','xmd-contactid','ListId','data3','split','$or','map','routeId','destcalleridnum','calleridnum','lastName','phone','createdAt','scheduledAt','updatedAt','union','resolve','then','getContacts','isEmpty','length','uniqueid','[CM][%s][%s]\x20Multiple\x20contacts\x20found:[%s]','join','[CM][%s][%s]\x20Contact\x20not\x20found','data4','[CM][%s][%s]\x20Autocreate\x20enabled','isNil','firstName','calleridname','Unknown','destcalleridname','<unknown>','push','format','user:%s','name','trigger:%s','toLowerCase'];(function(_0x589002,_0x1c9c42){var _0x1ebe5a=function(_0x7f9547){while(--_0x7f9547){_0x589002['push'](_0x589002['shift']());}};_0x1ebe5a(++_0x1c9c42);}(_0xfd63,0x6e));var _0x3fd6=function(_0x4c6c32,_0x32d629){_0x4c6c32=_0x4c6c32-0x0;var _0x5169f4=_0xfd63[_0x4c6c32];return _0x5169f4;};'use strict';var _=require(_0x3fd6('0x0'));var BPromise=require(_0x3fd6('0x1'));var Redis=require(_0x3fd6('0x2'));var util=require('util');var config=require(_0x3fd6('0x3'));var logger=require(_0x3fd6('0x4'))(_0x3fd6('0x5'));var cmContactRpc=require(_0x3fd6('0x6'));config[_0x3fd6('0x7')]=_[_0x3fd6('0x8')](config[_0x3fd6('0x7')],{'host':_0x3fd6('0x9'),'port':0x18eb});var io=require(_0x3fd6('0xa'))(new Redis(config[_0x3fd6('0x7')]));function emit(_0x53b3c2,_0xb904c5,_0x48249e,_0x25ed1d,_0x508058){logger[_0x3fd6('0xb')](_0x3fd6('0xc'),_0x53b3c2,_0xb904c5['id'],_0x48249e,_0x25ed1d,JSON['stringify'](_0x508058));io['to'](_0x48249e)[_0x3fd6('0xd')](_0x25ed1d,_0x508058);}exports[_0x3fd6('0xe')]=function(_0x3a83d6,_0x5ada32,_0x56241e,_0x89af48){var _0x51017e,_0x1923a4;var _0x199d01={};var _0x329826;var _0x1427ee=Number(_0x56241e['data1']);var _0x4ff979=_0x56241e[_0x3fd6('0xf')]?Boolean(Number(_0x56241e[_0x3fd6('0xf')])):![];var _0x313699;var _0xb7e4ae=![];if(!_['isNil'](_0x56241e[_0x3fd6('0x10')])){if(_0x56241e[_0x3fd6('0x10')]=='1')_0xb7e4ae=!![];}if(!_0xb7e4ae){if(_0x89af48[_0x3fd6('0x11')]){_0x199d01['id']=_0x89af48['xmd-contactid'];}}if(!_0x199d01['id']){_0x199d01[_0x3fd6('0x12')]=_0x1427ee;_0x313699=_0x56241e[_0x3fd6('0x13')]&&_0x56241e[_0x3fd6('0x13')]!=='0'?_0x56241e[_0x3fd6('0x13')][_0x3fd6('0x14')](','):['phone'];_0x199d01[_0x3fd6('0x15')]=_[_0x3fd6('0x16')](_0x313699,function(_0x78fada){var _0x2cc545={};_0x2cc545[_0x78fada]=_0x89af48[_0x3fd6('0x17')]?_0x89af48[_0x3fd6('0x18')]:_0x89af48[_0x3fd6('0x19')];return _0x2cc545;});_0x329826=_0x89af48[_0x3fd6('0x17')]?_0x89af48[_0x3fd6('0x18')]:_0x89af48[_0x3fd6('0x19')];}var _0x2553e6=['id','firstName',_0x3fd6('0x1a'),_0x3fd6('0x1b'),'mobile','fax',_0x3fd6('0x12'),_0x3fd6('0x1c'),_0x3fd6('0x1d'),_0x3fd6('0x1e')];var _0x106b25=_[_0x3fd6('0x1f')](_0x2553e6,_0x313699);BPromise[_0x3fd6('0x20')]()[_0x3fd6('0x21')](cmContactRpc[_0x3fd6('0x22')]({'attributes':_0x106b25,'where':_0x199d01,'phone':_0x329826}))[_0x3fd6('0x21')](function(_0x3587a0){_0x1923a4=_0x3587a0;if(!_[_0x3fd6('0x23')](_0x1923a4)){if(_0x1923a4[_0x3fd6('0x24')]===0x1){_0x51017e=_0x1923a4[0x0];logger[_0x3fd6('0xb')]('[CM][%s][%s]\x20Contact\x20found:%s',_0x89af48[_0x3fd6('0x25')],_0x5ada32['id'],_0x51017e['id']);}else{logger[_0x3fd6('0xb')](_0x3fd6('0x26'),_0x89af48['uniqueid'],_0x5ada32['id'],_['map'](_0x1923a4,'id')[_0x3fd6('0x27')](','));}return;}else{logger[_0x3fd6('0xb')](_0x3fd6('0x28'),_0x89af48['uniqueid'],_0x5ada32['id']);var _0x41a55e={'ListId':_0x1427ee};var _0x34f9fe=_0x56241e[_0x3fd6('0x29')]&&_0x56241e[_0x3fd6('0x29')]!=='0'?_0x56241e[_0x3fd6('0x29')]:'phone';if(_0x4ff979){logger['info'](_0x3fd6('0x2a'),_0x89af48[_0x3fd6('0x25')],_0x5ada32['id']);_0x41a55e[_0x34f9fe]=_['isNil'](_0x89af48[_0x3fd6('0x17')])?_0x89af48['calleridnum']:_0x89af48['destcalleridnum'];if(_[_0x3fd6('0x2b')](_0x89af48[_0x3fd6('0x17')])){_0x41a55e[_0x3fd6('0x2c')]=_0x89af48[_0x3fd6('0x2d')]&&_0x89af48[_0x3fd6('0x2d')]!=='<unknown>'?_0x89af48[_0x3fd6('0x2d')]:_0x3fd6('0x2e');}else{_0x41a55e[_0x3fd6('0x2c')]=_0x89af48[_0x3fd6('0x2f')]&&_0x89af48[_0x3fd6('0x2f')]!==_0x3fd6('0x30')?_0x89af48[_0x3fd6('0x2f')]:_0x3fd6('0x2e');}return BPromise[_0x3fd6('0x20')]()[_0x3fd6('0x21')](cmContactRpc['createContact'](_0x41a55e))['then'](function(_0x334c05){_0x51017e=_0x334c05;_0x1923a4[_0x3fd6('0x31')](_0x334c05);if(_0x51017e){logger[_0x3fd6('0xb')]('[CM][%s][%s]\x20Contact\x20created:%s',_0x89af48['uniqueid'],_0x5ada32['id'],_0x51017e['id']);}return;});}else{logger[_0x3fd6('0xb')]('[CM][%s][%s]\x20Autocreate\x20disabled',_0x89af48['uniqueid'],_0x5ada32['id']);_0x41a55e[_0x34f9fe]=_['isNil'](_0x89af48['routeId'])?_0x89af48['calleridnum']:_0x89af48[_0x3fd6('0x18')];if(_[_0x3fd6('0x2b')](_0x89af48['routeId'])){_0x41a55e[_0x3fd6('0x2c')]=_0x89af48[_0x3fd6('0x2d')]&&_0x89af48[_0x3fd6('0x2d')]!==_0x3fd6('0x30')?_0x89af48[_0x3fd6('0x2d')]:_0x3fd6('0x2e');}else{_0x41a55e[_0x3fd6('0x2c')]=_0x89af48['destcalleridname']&&_0x89af48[_0x3fd6('0x2f')]!==_0x3fd6('0x30')?_0x89af48[_0x3fd6('0x2f')]:'Unknown';}_0x51017e=_0x41a55e;_0x1923a4[_0x3fd6('0x31')](_0x41a55e);return;}}})[_0x3fd6('0x21')](function(){if(_0x3a83d6){emit(_0x89af48[_0x3fd6('0x25')],_0x5ada32,util[_0x3fd6('0x32')](_0x3fd6('0x33'),_0x3a83d6[_0x3fd6('0x34')]),util['format'](_0x3fd6('0x35'),_0x56241e['action'][_0x3fd6('0x36')]()),{'evt':_['merge'](_0x89af48,{'autoCreate':_0x4ff979}),'contact':_0x51017e===undefined?{}:_0x51017e,'contacts':_0x1923a4[_0x3fd6('0x24')]===0x0?undefined:_0x1923a4});}});};