Built motion from commit (unavailable).|2.5.11
[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 _0x5562=['union','resolve','then','isEmpty','length','[CM][%s][%s]\x20Contact\x20found:%s','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>','Unknown','destcalleridname','createContact','[CM][%s][%s]\x20Contact\x20created:%s','[CM][%s][%s]\x20Autocreate\x20disabled','format','name','trigger:%s','action','toLowerCase','merge','lodash','util','../../../../config/environment','../../../../config/logger','../../rpc/cmContact','redis','localhost','socket.io-emitter','info','stringify','emit','data1','data2','xmd-contactid','data3','phone','$or','routeId','destcalleridnum','calleridnum','lastName','mobile','fax','ListId','createdAt','scheduledAt'];(function(_0x263b0e,_0xc6479f){var _0x113fee=function(_0x803881){while(--_0x803881){_0x263b0e['push'](_0x263b0e['shift']());}};_0x113fee(++_0xc6479f);}(_0x5562,0xef));var _0x2556=function(_0x92713a,_0x68f8b0){_0x92713a=_0x92713a-0x0;var _0x1893e1=_0x5562[_0x92713a];return _0x1893e1;};'use strict';var _=require(_0x2556('0x0'));var BPromise=require('bluebird');var Redis=require('ioredis');var util=require(_0x2556('0x1'));var config=require(_0x2556('0x2'));var logger=require(_0x2556('0x3'))('trigger');var cmContactRpc=require(_0x2556('0x4'));config[_0x2556('0x5')]=_['defaults'](config[_0x2556('0x5')],{'host':_0x2556('0x6'),'port':0x18eb});var io=require(_0x2556('0x7'))(new Redis(config['redis']));function emit(_0x550f72,_0x3050e4,_0x35b345,_0x353a6a,_0x42edc3){logger[_0x2556('0x8')]('[CM][%s][%s]',_0x550f72,_0x3050e4['id'],_0x35b345,_0x353a6a,JSON[_0x2556('0x9')](_0x42edc3));io['to'](_0x35b345)[_0x2556('0xa')](_0x353a6a,_0x42edc3);}exports['exec']=function(_0x1a6e67,_0xcdb4ed,_0x59374e,_0x1bff75){var _0x3cf976,_0x24735a;var _0x141e61={};var _0x4fa862=Number(_0x59374e[_0x2556('0xb')]);var _0x2ac247=_0x59374e[_0x2556('0xc')]?Boolean(Number(_0x59374e[_0x2556('0xc')])):![];var _0x31bc23;if(_0x1bff75[_0x2556('0xd')]){_0x141e61['id']=_0x1bff75[_0x2556('0xd')];}if(!_0x141e61['id']){_0x141e61['ListId']=_0x4fa862;_0x31bc23=_0x59374e[_0x2556('0xe')]&&_0x59374e[_0x2556('0xe')]!=='0'?_0x59374e['data3']['split'](','):[_0x2556('0xf')];_0x141e61[_0x2556('0x10')]=_['map'](_0x31bc23,function(_0x532ff9){var _0x1171f3={};_0x1171f3[_0x532ff9]=_0x1bff75[_0x2556('0x11')]?_0x1bff75[_0x2556('0x12')]:_0x1bff75[_0x2556('0x13')];return _0x1171f3;});}var _0x1f88a7=['id','firstName',_0x2556('0x14'),_0x2556('0xf'),_0x2556('0x15'),_0x2556('0x16'),_0x2556('0x17'),_0x2556('0x18'),_0x2556('0x19'),'updatedAt'];var _0xc4cffa=_[_0x2556('0x1a')](_0x1f88a7,_0x31bc23);BPromise[_0x2556('0x1b')]()[_0x2556('0x1c')](cmContactRpc['getContacts']({'attributes':_0xc4cffa,'where':_0x141e61}))[_0x2556('0x1c')](function(_0x40e3a2){_0x24735a=_0x40e3a2;if(!_[_0x2556('0x1d')](_0x24735a)){if(_0x24735a[_0x2556('0x1e')]===0x1){_0x3cf976=_0x24735a[0x0];logger[_0x2556('0x8')](_0x2556('0x1f'),_0x1bff75[_0x2556('0x20')],_0xcdb4ed['id'],_0x3cf976['id']);}else{logger['info'](_0x2556('0x21'),_0x1bff75[_0x2556('0x20')],_0xcdb4ed['id'],_['map'](_0x24735a,'id')[_0x2556('0x22')](','));}return;}else{logger['info'](_0x2556('0x23'),_0x1bff75[_0x2556('0x20')],_0xcdb4ed['id']);var _0x4c3a06={'ListId':_0x4fa862};var _0x7643e0=_0x59374e['data4']&&_0x59374e[_0x2556('0x24')]!=='0'?_0x59374e[_0x2556('0x24')]:'phone';if(_0x2ac247){logger[_0x2556('0x8')](_0x2556('0x25'),_0x1bff75[_0x2556('0x20')],_0xcdb4ed['id']);_0x4c3a06[_0x7643e0]=_[_0x2556('0x26')](_0x1bff75[_0x2556('0x11')])?_0x1bff75[_0x2556('0x13')]:_0x1bff75[_0x2556('0x12')];if(_['isNil'](_0x1bff75['routeId'])){_0x4c3a06[_0x2556('0x27')]=_0x1bff75[_0x2556('0x28')]&&_0x1bff75[_0x2556('0x28')]!==_0x2556('0x29')?_0x1bff75[_0x2556('0x28')]:_0x2556('0x2a');}else{_0x4c3a06[_0x2556('0x27')]=_0x1bff75[_0x2556('0x2b')]&&_0x1bff75[_0x2556('0x2b')]!=='<unknown>'?_0x1bff75[_0x2556('0x2b')]:_0x2556('0x2a');}return BPromise[_0x2556('0x1b')]()[_0x2556('0x1c')](cmContactRpc[_0x2556('0x2c')](_0x4c3a06))[_0x2556('0x1c')](function(_0x246ba4){_0x3cf976=_0x246ba4;_0x24735a['push'](_0x246ba4);if(_0x3cf976){logger[_0x2556('0x8')](_0x2556('0x2d'),_0x1bff75['uniqueid'],_0xcdb4ed['id'],_0x3cf976['id']);}return;});}else{logger[_0x2556('0x8')](_0x2556('0x2e'),_0x1bff75[_0x2556('0x20')],_0xcdb4ed['id']);_0x4c3a06[_0x7643e0]=_[_0x2556('0x26')](_0x1bff75[_0x2556('0x11')])?_0x1bff75[_0x2556('0x13')]:_0x1bff75['destcalleridnum'];if(_['isNil'](_0x1bff75[_0x2556('0x11')])){_0x4c3a06[_0x2556('0x27')]=_0x1bff75[_0x2556('0x28')]&&_0x1bff75['calleridname']!==_0x2556('0x29')?_0x1bff75[_0x2556('0x28')]:'Unknown';}else{_0x4c3a06[_0x2556('0x27')]=_0x1bff75[_0x2556('0x2b')]&&_0x1bff75[_0x2556('0x2b')]!==_0x2556('0x29')?_0x1bff75[_0x2556('0x2b')]:'Unknown';}_0x3cf976=_0x4c3a06;_0x24735a['push'](_0x4c3a06);return;}}})['then'](function(){if(_0x1a6e67){emit(_0x1bff75[_0x2556('0x20')],_0xcdb4ed,util[_0x2556('0x2f')]('user:%s',_0x1a6e67[_0x2556('0x30')]),util[_0x2556('0x2f')](_0x2556('0x31'),_0x59374e[_0x2556('0x32')][_0x2556('0x33')]()),{'evt':_[_0x2556('0x34')](_0x1bff75,{'autoCreate':_0x2ac247}),'contact':_0x3cf976===undefined?{}:_0x3cf976,'contacts':_0x24735a['length']===0x0?undefined:_0x24735a});}});};