Built motion from commit c738b9ac.|2.6.25
[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 _0x30a8=['bluebird','ioredis','util','../../../../config/environment','../../../../config/logger','trigger','../../rpc/cmContact','redis','defaults','localhost','socket.io-emitter','info','[CM][%s][%s]','stringify','emit','exec','data1','data2','isNil','data5','xmd-contactid','ListId','data3','split','$or','map','routeId','destcalleridnum','calleridnum','firstName','lastName','phone','mobile','createdAt','scheduledAt','updatedAt','union','then','isEmpty','length','[CM][%s][%s]\x20Contact\x20found:%s','uniqueid','[CM][%s][%s]\x20Multiple\x20contacts\x20found:[%s]','join','data4','calleridname','<unknown>','Unknown','destcalleridname','resolve','createContact','format','user:%s','trigger:%s','action','toLowerCase','merge'];(function(_0x29bd91,_0x3065ff){var _0x37b6eb=function(_0x4882e0){while(--_0x4882e0){_0x29bd91['push'](_0x29bd91['shift']());}};_0x37b6eb(++_0x3065ff);}(_0x30a8,0xab));var _0x830a=function(_0x5b70f5,_0x5ce103){_0x5b70f5=_0x5b70f5-0x0;var _0x54cbfe=_0x30a8[_0x5b70f5];return _0x54cbfe;};'use strict';var _=require('lodash');var BPromise=require(_0x830a('0x0'));var Redis=require(_0x830a('0x1'));var util=require(_0x830a('0x2'));var config=require(_0x830a('0x3'));var logger=require(_0x830a('0x4'))(_0x830a('0x5'));var cmContactRpc=require(_0x830a('0x6'));config[_0x830a('0x7')]=_[_0x830a('0x8')](config['redis'],{'host':_0x830a('0x9'),'port':0x18eb});var io=require(_0x830a('0xa'))(new Redis(config[_0x830a('0x7')]));function emit(_0x260723,_0x3e5f8d,_0x183598,_0x4ab5e3,_0x5bf26c){logger[_0x830a('0xb')](_0x830a('0xc'),_0x260723,_0x3e5f8d['id'],_0x183598,_0x4ab5e3,JSON[_0x830a('0xd')](_0x5bf26c));io['to'](_0x183598)[_0x830a('0xe')](_0x4ab5e3,_0x5bf26c);}exports[_0x830a('0xf')]=function(_0x1eaa7b,_0x2cd1fe,_0x579562,_0x19c4eb){var _0xd93456,_0x5d1c51;var _0x2d348a={};var _0x40c8eb;var _0xb0b327=Number(_0x579562[_0x830a('0x10')]);var _0x17eb01=_0x579562[_0x830a('0x11')]?Boolean(Number(_0x579562[_0x830a('0x11')])):![];var _0x766341;var _0x18ae41=![];if(!_[_0x830a('0x12')](_0x579562[_0x830a('0x13')])){if(_0x579562[_0x830a('0x13')]=='1')_0x18ae41=!![];}if(!_0x18ae41){if(_0x19c4eb[_0x830a('0x14')]){_0x2d348a['id']=_0x19c4eb[_0x830a('0x14')];}}if(!_0x2d348a['id']){_0x2d348a[_0x830a('0x15')]=_0xb0b327;_0x766341=_0x579562[_0x830a('0x16')]&&_0x579562[_0x830a('0x16')]!=='0'?_0x579562['data3'][_0x830a('0x17')](','):['phone'];_0x2d348a[_0x830a('0x18')]=_[_0x830a('0x19')](_0x766341,function(_0x177045){var _0x5a3d30={};_0x5a3d30[_0x177045]=_0x19c4eb[_0x830a('0x1a')]?_0x19c4eb[_0x830a('0x1b')]:_0x19c4eb['calleridnum'];return _0x5a3d30;});_0x40c8eb=_0x19c4eb[_0x830a('0x1a')]?_0x19c4eb[_0x830a('0x1b')]:_0x19c4eb[_0x830a('0x1c')];}var _0x40aa10=['id',_0x830a('0x1d'),_0x830a('0x1e'),_0x830a('0x1f'),_0x830a('0x20'),'fax',_0x830a('0x15'),_0x830a('0x21'),_0x830a('0x22'),_0x830a('0x23')];var _0x397699=_[_0x830a('0x24')](_0x40aa10,_0x766341);BPromise['resolve']()[_0x830a('0x25')](cmContactRpc['getContacts']({'attributes':_0x397699,'where':_0x2d348a,'phone':_0x40c8eb}))[_0x830a('0x25')](function(_0x447764){_0x5d1c51=_0x447764;if(!_[_0x830a('0x26')](_0x5d1c51)){if(_0x5d1c51[_0x830a('0x27')]===0x1){_0xd93456=_0x5d1c51[0x0];logger[_0x830a('0xb')](_0x830a('0x28'),_0x19c4eb[_0x830a('0x29')],_0x2cd1fe['id'],_0xd93456['id']);}else{logger['info'](_0x830a('0x2a'),_0x19c4eb['uniqueid'],_0x2cd1fe['id'],_['map'](_0x5d1c51,'id')[_0x830a('0x2b')](','));}return;}else{logger[_0x830a('0xb')]('[CM][%s][%s]\x20Contact\x20not\x20found',_0x19c4eb[_0x830a('0x29')],_0x2cd1fe['id']);var _0xe7181c={'ListId':_0xb0b327};var _0x5d99fc=_0x579562[_0x830a('0x2c')]&&_0x579562[_0x830a('0x2c')]!=='0'?_0x579562[_0x830a('0x2c')]:_0x830a('0x1f');if(_0x17eb01){logger[_0x830a('0xb')]('[CM][%s][%s]\x20Autocreate\x20enabled',_0x19c4eb['uniqueid'],_0x2cd1fe['id']);_0xe7181c[_0x5d99fc]=_[_0x830a('0x12')](_0x19c4eb[_0x830a('0x1a')])?_0x19c4eb[_0x830a('0x1c')]:_0x19c4eb[_0x830a('0x1b')];if(_[_0x830a('0x12')](_0x19c4eb[_0x830a('0x1a')])){_0xe7181c[_0x830a('0x1d')]=_0x19c4eb[_0x830a('0x2d')]&&_0x19c4eb[_0x830a('0x2d')]!==_0x830a('0x2e')?_0x19c4eb[_0x830a('0x2d')]:_0x830a('0x2f');}else{_0xe7181c[_0x830a('0x1d')]=_0x19c4eb[_0x830a('0x30')]&&_0x19c4eb[_0x830a('0x30')]!==_0x830a('0x2e')?_0x19c4eb['destcalleridname']:_0x830a('0x2f');}return BPromise[_0x830a('0x31')]()[_0x830a('0x25')](cmContactRpc[_0x830a('0x32')](_0xe7181c))[_0x830a('0x25')](function(_0x5df0e7){_0xd93456=_0x5df0e7;_0x5d1c51['push'](_0x5df0e7);if(_0xd93456){logger[_0x830a('0xb')]('[CM][%s][%s]\x20Contact\x20created:%s',_0x19c4eb[_0x830a('0x29')],_0x2cd1fe['id'],_0xd93456['id']);}return;});}else{logger['info']('[CM][%s][%s]\x20Autocreate\x20disabled',_0x19c4eb['uniqueid'],_0x2cd1fe['id']);_0xe7181c[_0x5d99fc]=_[_0x830a('0x12')](_0x19c4eb['routeId'])?_0x19c4eb['calleridnum']:_0x19c4eb['destcalleridnum'];if(_[_0x830a('0x12')](_0x19c4eb[_0x830a('0x1a')])){_0xe7181c[_0x830a('0x1d')]=_0x19c4eb['calleridname']&&_0x19c4eb[_0x830a('0x2d')]!==_0x830a('0x2e')?_0x19c4eb['calleridname']:_0x830a('0x2f');}else{_0xe7181c[_0x830a('0x1d')]=_0x19c4eb[_0x830a('0x30')]&&_0x19c4eb[_0x830a('0x30')]!==_0x830a('0x2e')?_0x19c4eb['destcalleridname']:_0x830a('0x2f');}_0xd93456=_0xe7181c;_0x5d1c51['push'](_0xe7181c);return;}}})['then'](function(){if(_0x1eaa7b){emit(_0x19c4eb['uniqueid'],_0x2cd1fe,util[_0x830a('0x33')](_0x830a('0x34'),_0x1eaa7b['name']),util[_0x830a('0x33')](_0x830a('0x35'),_0x579562[_0x830a('0x36')][_0x830a('0x37')]()),{'evt':_[_0x830a('0x38')](_0x19c4eb,{'autoCreate':_0x17eb01}),'contact':_0xd93456===undefined?{}:_0xd93456,'contacts':_0x5d1c51[_0x830a('0x27')]===0x0?undefined:_0x5d1c51});}});};