Built motion from commit 9d7072cc.|2.5.39
[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 _0x2dae=['uniqueid','[CM][%s][%s]\x20Multiple\x20contacts\x20found:[%s]','join','[CM][%s][%s]\x20Contact\x20not\x20found','data4','phone','[CM][%s][%s]\x20Autocreate\x20enabled','routeId','calleridname','Unknown','destcalleridname','<unknown>','then','push','[CM][%s][%s]\x20Contact\x20created:%s','[CM][%s][%s]\x20Autocreate\x20disabled','format','name','trigger:%s','action','toLowerCase','lodash','ioredis','util','../../../../config/environment','../../../../config/logger','trigger','redis','defaults','localhost','info','[CM][%s][%s]','stringify','exec','data1','data2','isNil','data5','xmd-contactid','data3','split','$or','map','destcalleridnum','calleridnum','firstName','lastName','mobile','fax','createdAt','scheduledAt','updatedAt','union','resolve','getContacts','isEmpty','length','[CM][%s][%s]\x20Contact\x20found:%s'];(function(_0x31e29a,_0x349c9b){var _0x32d892=function(_0x41cc86){while(--_0x41cc86){_0x31e29a['push'](_0x31e29a['shift']());}};_0x32d892(++_0x349c9b);}(_0x2dae,0xc3));var _0xe2da=function(_0x54eab6,_0x5e262f){_0x54eab6=_0x54eab6-0x0;var _0x1e7435=_0x2dae[_0x54eab6];return _0x1e7435;};'use strict';var _=require(_0xe2da('0x0'));var BPromise=require('bluebird');var Redis=require(_0xe2da('0x1'));var util=require(_0xe2da('0x2'));var config=require(_0xe2da('0x3'));var logger=require(_0xe2da('0x4'))(_0xe2da('0x5'));var cmContactRpc=require('../../rpc/cmContact');config[_0xe2da('0x6')]=_[_0xe2da('0x7')](config[_0xe2da('0x6')],{'host':_0xe2da('0x8'),'port':0x18eb});var io=require('socket.io-emitter')(new Redis(config[_0xe2da('0x6')]));function emit(_0x89c70b,_0x34cc98,_0x2efbd8,_0x238da3,_0x1c71ea){logger[_0xe2da('0x9')](_0xe2da('0xa'),_0x89c70b,_0x34cc98['id'],_0x2efbd8,_0x238da3,JSON[_0xe2da('0xb')](_0x1c71ea));io['to'](_0x2efbd8)['emit'](_0x238da3,_0x1c71ea);}exports[_0xe2da('0xc')]=function(_0x3baaa8,_0x104fb3,_0x17086c,_0x3c1309){var _0x44ec3e,_0x1a29b9;var _0x173244={};var _0x5aab71=Number(_0x17086c[_0xe2da('0xd')]);var _0x5200b1=_0x17086c[_0xe2da('0xe')]?Boolean(Number(_0x17086c[_0xe2da('0xe')])):![];var _0x37064e;var _0x411b9f=![];if(!_[_0xe2da('0xf')](_0x17086c[_0xe2da('0x10')])){if(_0x17086c[_0xe2da('0x10')]=='1')_0x411b9f=!![];}if(!_0x411b9f){if(_0x3c1309['xmd-contactid']){_0x173244['id']=_0x3c1309[_0xe2da('0x11')];}}if(!_0x173244['id']){_0x173244['ListId']=_0x5aab71;_0x37064e=_0x17086c['data3']&&_0x17086c[_0xe2da('0x12')]!=='0'?_0x17086c[_0xe2da('0x12')][_0xe2da('0x13')](','):['phone'];_0x173244[_0xe2da('0x14')]=_[_0xe2da('0x15')](_0x37064e,function(_0x2ea60e){var _0x33568f={};_0x33568f[_0x2ea60e]=_0x3c1309['routeId']?_0x3c1309[_0xe2da('0x16')]:_0x3c1309[_0xe2da('0x17')];return _0x33568f;});}var _0x417363=['id',_0xe2da('0x18'),_0xe2da('0x19'),'phone',_0xe2da('0x1a'),_0xe2da('0x1b'),'ListId',_0xe2da('0x1c'),_0xe2da('0x1d'),_0xe2da('0x1e')];var _0x203d36=_[_0xe2da('0x1f')](_0x417363,_0x37064e);BPromise[_0xe2da('0x20')]()['then'](cmContactRpc[_0xe2da('0x21')]({'attributes':_0x203d36,'where':_0x173244}))['then'](function(_0x30efdc){_0x1a29b9=_0x30efdc;if(!_[_0xe2da('0x22')](_0x1a29b9)){if(_0x1a29b9[_0xe2da('0x23')]===0x1){_0x44ec3e=_0x1a29b9[0x0];logger[_0xe2da('0x9')](_0xe2da('0x24'),_0x3c1309[_0xe2da('0x25')],_0x104fb3['id'],_0x44ec3e['id']);}else{logger[_0xe2da('0x9')](_0xe2da('0x26'),_0x3c1309['uniqueid'],_0x104fb3['id'],_[_0xe2da('0x15')](_0x1a29b9,'id')[_0xe2da('0x27')](','));}return;}else{logger[_0xe2da('0x9')](_0xe2da('0x28'),_0x3c1309[_0xe2da('0x25')],_0x104fb3['id']);var _0x230fb8={'ListId':_0x5aab71};var _0x124d93=_0x17086c['data4']&&_0x17086c[_0xe2da('0x29')]!=='0'?_0x17086c[_0xe2da('0x29')]:_0xe2da('0x2a');if(_0x5200b1){logger[_0xe2da('0x9')](_0xe2da('0x2b'),_0x3c1309[_0xe2da('0x25')],_0x104fb3['id']);_0x230fb8[_0x124d93]=_[_0xe2da('0xf')](_0x3c1309[_0xe2da('0x2c')])?_0x3c1309['calleridnum']:_0x3c1309['destcalleridnum'];if(_['isNil'](_0x3c1309[_0xe2da('0x2c')])){_0x230fb8[_0xe2da('0x18')]=_0x3c1309[_0xe2da('0x2d')]&&_0x3c1309[_0xe2da('0x2d')]!=='<unknown>'?_0x3c1309['calleridname']:_0xe2da('0x2e');}else{_0x230fb8[_0xe2da('0x18')]=_0x3c1309[_0xe2da('0x2f')]&&_0x3c1309[_0xe2da('0x2f')]!==_0xe2da('0x30')?_0x3c1309[_0xe2da('0x2f')]:_0xe2da('0x2e');}return BPromise[_0xe2da('0x20')]()[_0xe2da('0x31')](cmContactRpc['createContact'](_0x230fb8))['then'](function(_0x672767){_0x44ec3e=_0x672767;_0x1a29b9[_0xe2da('0x32')](_0x672767);if(_0x44ec3e){logger[_0xe2da('0x9')](_0xe2da('0x33'),_0x3c1309[_0xe2da('0x25')],_0x104fb3['id'],_0x44ec3e['id']);}return;});}else{logger[_0xe2da('0x9')](_0xe2da('0x34'),_0x3c1309[_0xe2da('0x25')],_0x104fb3['id']);_0x230fb8[_0x124d93]=_[_0xe2da('0xf')](_0x3c1309[_0xe2da('0x2c')])?_0x3c1309[_0xe2da('0x17')]:_0x3c1309[_0xe2da('0x16')];if(_[_0xe2da('0xf')](_0x3c1309[_0xe2da('0x2c')])){_0x230fb8[_0xe2da('0x18')]=_0x3c1309[_0xe2da('0x2d')]&&_0x3c1309[_0xe2da('0x2d')]!==_0xe2da('0x30')?_0x3c1309['calleridname']:_0xe2da('0x2e');}else{_0x230fb8[_0xe2da('0x18')]=_0x3c1309[_0xe2da('0x2f')]&&_0x3c1309['destcalleridname']!==_0xe2da('0x30')?_0x3c1309[_0xe2da('0x2f')]:_0xe2da('0x2e');}_0x44ec3e=_0x230fb8;_0x1a29b9['push'](_0x230fb8);return;}}})['then'](function(){if(_0x3baaa8){emit(_0x3c1309[_0xe2da('0x25')],_0x104fb3,util[_0xe2da('0x35')]('user:%s',_0x3baaa8[_0xe2da('0x36')]),util[_0xe2da('0x35')](_0xe2da('0x37'),_0x17086c[_0xe2da('0x38')][_0xe2da('0x39')]()),{'evt':_['merge'](_0x3c1309,{'autoCreate':_0x5200b1}),'contact':_0x44ec3e===undefined?{}:_0x44ec3e,'contacts':_0x1a29b9[_0xe2da('0x23')]===0x0?undefined:_0x1a29b9});}});};