Built motion from commit 00bf23f6.|2.6.16
[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 _0xac54=['length','lodash','bluebird','ioredis','../../../../config/environment','trigger','../../rpc/cmContact','redis','defaults','localhost','info','[CM][%s][%s]','stringify','exec','data1','data2','isNil','data5','xmd-contactid','ListId','data3','phone','$or','routeId','calleridnum','mobile','createdAt','scheduledAt','updatedAt','then','getContacts','isEmpty','[CM][%s][%s]\x20Contact\x20found:%s','uniqueid','map','[CM][%s][%s]\x20Contact\x20not\x20found','data4','destcalleridnum','firstName','calleridname','Unknown','destcalleridname','<unknown>','resolve','createContact','push','[CM][%s][%s]\x20Contact\x20created:%s','[CM][%s][%s]\x20Autocreate\x20disabled','format','user:%s','trigger:%s','action'];(function(_0x5af97c,_0x24a49f){var _0x3472ae=function(_0x54cdc3){while(--_0x54cdc3){_0x5af97c['push'](_0x5af97c['shift']());}};_0x3472ae(++_0x24a49f);}(_0xac54,0xd1));var _0x4ac5=function(_0x1dd045,_0x3c62df){_0x1dd045=_0x1dd045-0x0;var _0x2e532e=_0xac54[_0x1dd045];return _0x2e532e;};'use strict';var _=require(_0x4ac5('0x0'));var BPromise=require(_0x4ac5('0x1'));var Redis=require(_0x4ac5('0x2'));var util=require('util');var config=require(_0x4ac5('0x3'));var logger=require('../../../../config/logger')(_0x4ac5('0x4'));var cmContactRpc=require(_0x4ac5('0x5'));config[_0x4ac5('0x6')]=_[_0x4ac5('0x7')](config[_0x4ac5('0x6')],{'host':_0x4ac5('0x8'),'port':0x18eb});var io=require('socket.io-emitter')(new Redis(config['redis']));function emit(_0x1739b4,_0x24a9d3,_0x474a8e,_0x45e8d5,_0xed01ee){logger[_0x4ac5('0x9')](_0x4ac5('0xa'),_0x1739b4,_0x24a9d3['id'],_0x474a8e,_0x45e8d5,JSON[_0x4ac5('0xb')](_0xed01ee));io['to'](_0x474a8e)['emit'](_0x45e8d5,_0xed01ee);}exports[_0x4ac5('0xc')]=function(_0x1e4d68,_0x1f92a9,_0x4e16c3,_0x3dc193){var _0x188235,_0x113ac4;var _0x542ae7={};var _0x48543c;var _0x5f0016=Number(_0x4e16c3[_0x4ac5('0xd')]);var _0x4a0ef5=_0x4e16c3[_0x4ac5('0xe')]?Boolean(Number(_0x4e16c3[_0x4ac5('0xe')])):![];var _0x3e45ad;var _0x273006=![];if(!_[_0x4ac5('0xf')](_0x4e16c3[_0x4ac5('0x10')])){if(_0x4e16c3[_0x4ac5('0x10')]=='1')_0x273006=!![];}if(!_0x273006){if(_0x3dc193[_0x4ac5('0x11')]){_0x542ae7['id']=_0x3dc193[_0x4ac5('0x11')];}}if(!_0x542ae7['id']){_0x542ae7[_0x4ac5('0x12')]=_0x5f0016;_0x3e45ad=_0x4e16c3[_0x4ac5('0x13')]&&_0x4e16c3[_0x4ac5('0x13')]!=='0'?_0x4e16c3[_0x4ac5('0x13')]['split'](','):[_0x4ac5('0x14')];_0x542ae7[_0x4ac5('0x15')]=_['map'](_0x3e45ad,function(_0x1f22a4){var _0x21bbd2={};_0x21bbd2[_0x1f22a4]=_0x3dc193[_0x4ac5('0x16')]?_0x3dc193['destcalleridnum']:_0x3dc193[_0x4ac5('0x17')];return _0x21bbd2;});_0x48543c=_0x3dc193[_0x4ac5('0x16')]?_0x3dc193['destcalleridnum']:_0x3dc193['calleridnum'];}var _0x5eaa28=['id','firstName','lastName',_0x4ac5('0x14'),_0x4ac5('0x18'),'fax',_0x4ac5('0x12'),_0x4ac5('0x19'),_0x4ac5('0x1a'),_0x4ac5('0x1b')];var _0x1e0b67=_['union'](_0x5eaa28,_0x3e45ad);BPromise['resolve']()[_0x4ac5('0x1c')](cmContactRpc[_0x4ac5('0x1d')]({'attributes':_0x1e0b67,'where':_0x542ae7,'phone':_0x48543c}))[_0x4ac5('0x1c')](function(_0x40cded){_0x113ac4=_0x40cded;if(!_[_0x4ac5('0x1e')](_0x113ac4)){if(_0x113ac4['length']===0x1){_0x188235=_0x113ac4[0x0];logger[_0x4ac5('0x9')](_0x4ac5('0x1f'),_0x3dc193['uniqueid'],_0x1f92a9['id'],_0x188235['id']);}else{logger[_0x4ac5('0x9')]('[CM][%s][%s]\x20Multiple\x20contacts\x20found:[%s]',_0x3dc193[_0x4ac5('0x20')],_0x1f92a9['id'],_[_0x4ac5('0x21')](_0x113ac4,'id')['join'](','));}return;}else{logger[_0x4ac5('0x9')](_0x4ac5('0x22'),_0x3dc193[_0x4ac5('0x20')],_0x1f92a9['id']);var _0x27f2b2={'ListId':_0x5f0016};var _0x307465=_0x4e16c3[_0x4ac5('0x23')]&&_0x4e16c3[_0x4ac5('0x23')]!=='0'?_0x4e16c3['data4']:_0x4ac5('0x14');if(_0x4a0ef5){logger[_0x4ac5('0x9')]('[CM][%s][%s]\x20Autocreate\x20enabled',_0x3dc193['uniqueid'],_0x1f92a9['id']);_0x27f2b2[_0x307465]=_['isNil'](_0x3dc193['routeId'])?_0x3dc193[_0x4ac5('0x17')]:_0x3dc193[_0x4ac5('0x24')];if(_[_0x4ac5('0xf')](_0x3dc193[_0x4ac5('0x16')])){_0x27f2b2[_0x4ac5('0x25')]=_0x3dc193[_0x4ac5('0x26')]&&_0x3dc193[_0x4ac5('0x26')]!=='<unknown>'?_0x3dc193[_0x4ac5('0x26')]:_0x4ac5('0x27');}else{_0x27f2b2[_0x4ac5('0x25')]=_0x3dc193['destcalleridname']&&_0x3dc193[_0x4ac5('0x28')]!==_0x4ac5('0x29')?_0x3dc193[_0x4ac5('0x28')]:_0x4ac5('0x27');}return BPromise[_0x4ac5('0x2a')]()['then'](cmContactRpc[_0x4ac5('0x2b')](_0x27f2b2))[_0x4ac5('0x1c')](function(_0x387738){_0x188235=_0x387738;_0x113ac4[_0x4ac5('0x2c')](_0x387738);if(_0x188235){logger['info'](_0x4ac5('0x2d'),_0x3dc193[_0x4ac5('0x20')],_0x1f92a9['id'],_0x188235['id']);}return;});}else{logger[_0x4ac5('0x9')](_0x4ac5('0x2e'),_0x3dc193[_0x4ac5('0x20')],_0x1f92a9['id']);_0x27f2b2[_0x307465]=_[_0x4ac5('0xf')](_0x3dc193['routeId'])?_0x3dc193['calleridnum']:_0x3dc193['destcalleridnum'];if(_[_0x4ac5('0xf')](_0x3dc193[_0x4ac5('0x16')])){_0x27f2b2['firstName']=_0x3dc193[_0x4ac5('0x26')]&&_0x3dc193['calleridname']!==_0x4ac5('0x29')?_0x3dc193['calleridname']:'Unknown';}else{_0x27f2b2[_0x4ac5('0x25')]=_0x3dc193[_0x4ac5('0x28')]&&_0x3dc193[_0x4ac5('0x28')]!==_0x4ac5('0x29')?_0x3dc193[_0x4ac5('0x28')]:_0x4ac5('0x27');}_0x188235=_0x27f2b2;_0x113ac4[_0x4ac5('0x2c')](_0x27f2b2);return;}}})[_0x4ac5('0x1c')](function(){if(_0x1e4d68){emit(_0x3dc193[_0x4ac5('0x20')],_0x1f92a9,util[_0x4ac5('0x2f')](_0x4ac5('0x30'),_0x1e4d68['name']),util[_0x4ac5('0x2f')](_0x4ac5('0x31'),_0x4e16c3[_0x4ac5('0x32')]['toLowerCase']()),{'evt':_['merge'](_0x3dc193,{'autoCreate':_0x4a0ef5}),'contact':_0x188235===undefined?{}:_0x188235,'contacts':_0x113ac4[_0x4ac5('0x33')]===0x0?undefined:_0x113ac4});}});};