Built motion from commit d1eab355.|2.6.28
[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 _0x8544=['bluebird','ioredis','util','../../../../config/logger','trigger','../../rpc/cmContact','redis','defaults','localhost','socket.io-emitter','info','[CM][%s][%s]','emit','exec','data1','data2','data5','xmd-contactid','data3','split','phone','$or','map','routeId','destcalleridnum','calleridnum','firstName','lastName','ListId','createdAt','scheduledAt','updatedAt','resolve','then','length','[CM][%s][%s]\x20Contact\x20found:%s','uniqueid','[CM][%s][%s]\x20Multiple\x20contacts\x20found:[%s]','[CM][%s][%s]\x20Contact\x20not\x20found','data4','[CM][%s][%s]\x20Autocreate\x20enabled','isNil','calleridname','<unknown>','Unknown','destcalleridname','[CM][%s][%s]\x20Contact\x20created:%s','[CM][%s][%s]\x20Autocreate\x20disabled','push','format','user:%s','name','trigger:%s','action','toLowerCase','merge','lodash'];(function(_0x5163d3,_0x27a735){var _0x3325c6=function(_0x2ca73b){while(--_0x2ca73b){_0x5163d3['push'](_0x5163d3['shift']());}};_0x3325c6(++_0x27a735);}(_0x8544,0x11c));var _0x4854=function(_0x7e2eb0,_0x17cd58){_0x7e2eb0=_0x7e2eb0-0x0;var _0xd92de4=_0x8544[_0x7e2eb0];return _0xd92de4;};'use strict';var _=require(_0x4854('0x0'));var BPromise=require(_0x4854('0x1'));var Redis=require(_0x4854('0x2'));var util=require(_0x4854('0x3'));var config=require('../../../../config/environment');var logger=require(_0x4854('0x4'))(_0x4854('0x5'));var cmContactRpc=require(_0x4854('0x6'));config[_0x4854('0x7')]=_[_0x4854('0x8')](config[_0x4854('0x7')],{'host':_0x4854('0x9'),'port':0x18eb});var io=require(_0x4854('0xa'))(new Redis(config[_0x4854('0x7')]));function emit(_0xedfab5,_0x3079a8,_0x89c1e4,_0x2265a7,_0x219f1b){logger[_0x4854('0xb')](_0x4854('0xc'),_0xedfab5,_0x3079a8['id'],_0x89c1e4,_0x2265a7,JSON['stringify'](_0x219f1b));io['to'](_0x89c1e4)[_0x4854('0xd')](_0x2265a7,_0x219f1b);}exports[_0x4854('0xe')]=function(_0x220510,_0x393dc5,_0x597237,_0x13ed78){var _0x152011,_0x9056ab;var _0x4f54bf={};var _0x3ea7e1;var _0x96619=Number(_0x597237[_0x4854('0xf')]);var _0x1f9c2b=_0x597237[_0x4854('0x10')]?Boolean(Number(_0x597237[_0x4854('0x10')])):![];var _0x32e8c8;var _0x148044=![];if(!_['isNil'](_0x597237[_0x4854('0x11')])){if(_0x597237[_0x4854('0x11')]=='1')_0x148044=!![];}if(!_0x148044){if(_0x13ed78[_0x4854('0x12')]){_0x4f54bf['id']=_0x13ed78['xmd-contactid'];}}if(!_0x4f54bf['id']){_0x4f54bf['ListId']=_0x96619;_0x32e8c8=_0x597237['data3']&&_0x597237['data3']!=='0'?_0x597237[_0x4854('0x13')][_0x4854('0x14')](','):[_0x4854('0x15')];_0x4f54bf[_0x4854('0x16')]=_[_0x4854('0x17')](_0x32e8c8,function(_0x514b32){var _0xce6434={};_0xce6434[_0x514b32]=_0x13ed78[_0x4854('0x18')]?_0x13ed78[_0x4854('0x19')]:_0x13ed78[_0x4854('0x1a')];return _0xce6434;});_0x3ea7e1=_0x13ed78[_0x4854('0x18')]?_0x13ed78[_0x4854('0x19')]:_0x13ed78[_0x4854('0x1a')];}var _0xe93230=['id',_0x4854('0x1b'),_0x4854('0x1c'),_0x4854('0x15'),'mobile','fax',_0x4854('0x1d'),_0x4854('0x1e'),_0x4854('0x1f'),_0x4854('0x20')];var _0x147cf7=_['union'](_0xe93230,_0x32e8c8);BPromise[_0x4854('0x21')]()[_0x4854('0x22')](cmContactRpc['getContacts']({'attributes':_0x147cf7,'where':_0x4f54bf,'phone':_0x3ea7e1}))[_0x4854('0x22')](function(_0x4d29f4){_0x9056ab=_0x4d29f4;if(!_['isEmpty'](_0x9056ab)){if(_0x9056ab[_0x4854('0x23')]===0x1){_0x152011=_0x9056ab[0x0];logger[_0x4854('0xb')](_0x4854('0x24'),_0x13ed78[_0x4854('0x25')],_0x393dc5['id'],_0x152011['id']);}else{logger[_0x4854('0xb')](_0x4854('0x26'),_0x13ed78[_0x4854('0x25')],_0x393dc5['id'],_[_0x4854('0x17')](_0x9056ab,'id')['join'](','));}return;}else{logger[_0x4854('0xb')](_0x4854('0x27'),_0x13ed78[_0x4854('0x25')],_0x393dc5['id']);var _0xc2335={'ListId':_0x96619};var _0xe3731e=_0x597237[_0x4854('0x28')]&&_0x597237[_0x4854('0x28')]!=='0'?_0x597237[_0x4854('0x28')]:_0x4854('0x15');if(_0x1f9c2b){logger[_0x4854('0xb')](_0x4854('0x29'),_0x13ed78[_0x4854('0x25')],_0x393dc5['id']);_0xc2335[_0xe3731e]=_['isNil'](_0x13ed78[_0x4854('0x18')])?_0x13ed78[_0x4854('0x1a')]:_0x13ed78['destcalleridnum'];if(_[_0x4854('0x2a')](_0x13ed78['routeId'])){_0xc2335[_0x4854('0x1b')]=_0x13ed78['calleridname']&&_0x13ed78[_0x4854('0x2b')]!==_0x4854('0x2c')?_0x13ed78['calleridname']:_0x4854('0x2d');}else{_0xc2335['firstName']=_0x13ed78[_0x4854('0x2e')]&&_0x13ed78[_0x4854('0x2e')]!=='<unknown>'?_0x13ed78[_0x4854('0x2e')]:_0x4854('0x2d');}return BPromise[_0x4854('0x21')]()[_0x4854('0x22')](cmContactRpc['createContact'](_0xc2335))[_0x4854('0x22')](function(_0x2c5c08){_0x152011=_0x2c5c08;_0x9056ab['push'](_0x2c5c08);if(_0x152011){logger['info'](_0x4854('0x2f'),_0x13ed78['uniqueid'],_0x393dc5['id'],_0x152011['id']);}return;});}else{logger[_0x4854('0xb')](_0x4854('0x30'),_0x13ed78[_0x4854('0x25')],_0x393dc5['id']);_0xc2335[_0xe3731e]=_[_0x4854('0x2a')](_0x13ed78['routeId'])?_0x13ed78['calleridnum']:_0x13ed78[_0x4854('0x19')];if(_[_0x4854('0x2a')](_0x13ed78[_0x4854('0x18')])){_0xc2335[_0x4854('0x1b')]=_0x13ed78[_0x4854('0x2b')]&&_0x13ed78[_0x4854('0x2b')]!==_0x4854('0x2c')?_0x13ed78[_0x4854('0x2b')]:_0x4854('0x2d');}else{_0xc2335['firstName']=_0x13ed78[_0x4854('0x2e')]&&_0x13ed78['destcalleridname']!==_0x4854('0x2c')?_0x13ed78[_0x4854('0x2e')]:_0x4854('0x2d');}_0x152011=_0xc2335;_0x9056ab[_0x4854('0x31')](_0xc2335);return;}}})[_0x4854('0x22')](function(){if(_0x220510){emit(_0x13ed78[_0x4854('0x25')],_0x393dc5,util[_0x4854('0x32')](_0x4854('0x33'),_0x220510[_0x4854('0x34')]),util[_0x4854('0x32')](_0x4854('0x35'),_0x597237[_0x4854('0x36')][_0x4854('0x37')]()),{'evt':_[_0x4854('0x38')](_0x13ed78,{'autoCreate':_0x1f9c2b}),'contact':_0x152011===undefined?{}:_0x152011,'contacts':_0x9056ab[_0x4854('0x23')]===0x0?undefined:_0x9056ab});}});};