cd4d08ebba549a28519995c7657da7d65a3e4617
[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 _0xb587=['<unknown>','createContact','push','[CM][%s][%s]\x20Contact\x20created:%s','[CM][%s][%s]\x20Autocreate\x20disabled','user:%s','name','action','toLowerCase','merge','lodash','bluebird','ioredis','util','../../../../config/environment','../../../../config/logger','trigger','../../rpc/cmContact','redis','defaults','localhost','socket.io-emitter','[CM][%s][%s]','stringify','emit','exec','data1','data2','isNil','data5','xmd-contactid','data3','split','routeId','destcalleridnum','calleridnum','firstName','lastName','phone','fax','ListId','createdAt','updatedAt','union','then','getContacts','isEmpty','length','[CM][%s][%s]\x20Contact\x20found:%s','uniqueid','info','[CM][%s][%s]\x20Multiple\x20contacts\x20found:[%s]','map','join','[CM][%s][%s]\x20Contact\x20not\x20found','data4','[CM][%s][%s]\x20Autocreate\x20enabled','calleridname','Unknown','destcalleridname'];(function(_0x37bd26,_0x5ad346){var _0xe83dc4=function(_0x1ac229){while(--_0x1ac229){_0x37bd26['push'](_0x37bd26['shift']());}};_0xe83dc4(++_0x5ad346);}(_0xb587,0x1ea));var _0x7b58=function(_0xfae23b,_0x2be4ba){_0xfae23b=_0xfae23b-0x0;var _0x200640=_0xb587[_0xfae23b];return _0x200640;};'use strict';var _=require(_0x7b58('0x0'));var BPromise=require(_0x7b58('0x1'));var Redis=require(_0x7b58('0x2'));var util=require(_0x7b58('0x3'));var config=require(_0x7b58('0x4'));var logger=require(_0x7b58('0x5'))(_0x7b58('0x6'));var cmContactRpc=require(_0x7b58('0x7'));config[_0x7b58('0x8')]=_[_0x7b58('0x9')](config[_0x7b58('0x8')],{'host':_0x7b58('0xa'),'port':0x18eb});var io=require(_0x7b58('0xb'))(new Redis(config[_0x7b58('0x8')]));function emit(_0x2f7910,_0x39b0a7,_0x3329bd,_0x343133,_0x1f971e){logger['info'](_0x7b58('0xc'),_0x2f7910,_0x39b0a7['id'],_0x3329bd,_0x343133,JSON[_0x7b58('0xd')](_0x1f971e));io['to'](_0x3329bd)[_0x7b58('0xe')](_0x343133,_0x1f971e);}exports[_0x7b58('0xf')]=function(_0x39e572,_0x38354f,_0x553bbf,_0x3bb887){var _0x56e8e1,_0x25c6d3;var _0x4f3b02={};var _0x36c950;var _0x2c67dc=Number(_0x553bbf[_0x7b58('0x10')]);var _0xe34306=_0x553bbf[_0x7b58('0x11')]?Boolean(Number(_0x553bbf['data2'])):![];var _0x1cd628;var _0x561214=![];if(!_[_0x7b58('0x12')](_0x553bbf[_0x7b58('0x13')])){if(_0x553bbf['data5']=='1')_0x561214=!![];}if(!_0x561214){if(_0x3bb887[_0x7b58('0x14')]){_0x4f3b02['id']=_0x3bb887['xmd-contactid'];}}if(!_0x4f3b02['id']){_0x4f3b02['ListId']=_0x2c67dc;_0x1cd628=_0x553bbf[_0x7b58('0x15')]&&_0x553bbf[_0x7b58('0x15')]!=='0'?_0x553bbf['data3'][_0x7b58('0x16')](','):['phone'];_0x4f3b02['$or']=_['map'](_0x1cd628,function(_0x3be7a1){var _0x2c5894={};_0x2c5894[_0x3be7a1]=_0x3bb887[_0x7b58('0x17')]?_0x3bb887[_0x7b58('0x18')]:_0x3bb887[_0x7b58('0x19')];return _0x2c5894;});_0x36c950=_0x3bb887[_0x7b58('0x17')]?_0x3bb887[_0x7b58('0x18')]:_0x3bb887[_0x7b58('0x19')];}var _0x504e1a=['id',_0x7b58('0x1a'),_0x7b58('0x1b'),_0x7b58('0x1c'),'mobile',_0x7b58('0x1d'),_0x7b58('0x1e'),_0x7b58('0x1f'),'scheduledAt',_0x7b58('0x20')];var _0x48839e=_[_0x7b58('0x21')](_0x504e1a,_0x1cd628);BPromise['resolve']()[_0x7b58('0x22')](cmContactRpc[_0x7b58('0x23')]({'attributes':_0x48839e,'where':_0x4f3b02,'phone':_0x36c950}))['then'](function(_0x57dcd7){_0x25c6d3=_0x57dcd7;if(!_[_0x7b58('0x24')](_0x25c6d3)){if(_0x25c6d3[_0x7b58('0x25')]===0x1){_0x56e8e1=_0x25c6d3[0x0];logger['info'](_0x7b58('0x26'),_0x3bb887[_0x7b58('0x27')],_0x38354f['id'],_0x56e8e1['id']);}else{logger[_0x7b58('0x28')](_0x7b58('0x29'),_0x3bb887[_0x7b58('0x27')],_0x38354f['id'],_[_0x7b58('0x2a')](_0x25c6d3,'id')[_0x7b58('0x2b')](','));}return;}else{logger[_0x7b58('0x28')](_0x7b58('0x2c'),_0x3bb887[_0x7b58('0x27')],_0x38354f['id']);var _0x4da906={'ListId':_0x2c67dc};var _0xf64b88=_0x553bbf[_0x7b58('0x2d')]&&_0x553bbf['data4']!=='0'?_0x553bbf[_0x7b58('0x2d')]:_0x7b58('0x1c');if(_0xe34306){logger[_0x7b58('0x28')](_0x7b58('0x2e'),_0x3bb887[_0x7b58('0x27')],_0x38354f['id']);_0x4da906[_0xf64b88]=_['isNil'](_0x3bb887['routeId'])?_0x3bb887[_0x7b58('0x19')]:_0x3bb887[_0x7b58('0x18')];if(_[_0x7b58('0x12')](_0x3bb887[_0x7b58('0x17')])){_0x4da906[_0x7b58('0x1a')]=_0x3bb887[_0x7b58('0x2f')]&&_0x3bb887[_0x7b58('0x2f')]!=='<unknown>'?_0x3bb887['calleridname']:_0x7b58('0x30');}else{_0x4da906[_0x7b58('0x1a')]=_0x3bb887[_0x7b58('0x31')]&&_0x3bb887[_0x7b58('0x31')]!==_0x7b58('0x32')?_0x3bb887[_0x7b58('0x31')]:_0x7b58('0x30');}return BPromise['resolve']()[_0x7b58('0x22')](cmContactRpc[_0x7b58('0x33')](_0x4da906))[_0x7b58('0x22')](function(_0x5227cf){_0x56e8e1=_0x5227cf;_0x25c6d3[_0x7b58('0x34')](_0x5227cf);if(_0x56e8e1){logger[_0x7b58('0x28')](_0x7b58('0x35'),_0x3bb887[_0x7b58('0x27')],_0x38354f['id'],_0x56e8e1['id']);}return;});}else{logger[_0x7b58('0x28')](_0x7b58('0x36'),_0x3bb887[_0x7b58('0x27')],_0x38354f['id']);_0x4da906[_0xf64b88]=_[_0x7b58('0x12')](_0x3bb887[_0x7b58('0x17')])?_0x3bb887[_0x7b58('0x19')]:_0x3bb887['destcalleridnum'];if(_['isNil'](_0x3bb887['routeId'])){_0x4da906[_0x7b58('0x1a')]=_0x3bb887[_0x7b58('0x2f')]&&_0x3bb887[_0x7b58('0x2f')]!==_0x7b58('0x32')?_0x3bb887[_0x7b58('0x2f')]:_0x7b58('0x30');}else{_0x4da906[_0x7b58('0x1a')]=_0x3bb887['destcalleridname']&&_0x3bb887[_0x7b58('0x31')]!=='<unknown>'?_0x3bb887['destcalleridname']:_0x7b58('0x30');}_0x56e8e1=_0x4da906;_0x25c6d3[_0x7b58('0x34')](_0x4da906);return;}}})['then'](function(){if(_0x39e572){emit(_0x3bb887['uniqueid'],_0x38354f,util['format'](_0x7b58('0x37'),_0x39e572[_0x7b58('0x38')]),util['format']('trigger:%s',_0x553bbf[_0x7b58('0x39')][_0x7b58('0x3a')]()),{'evt':_[_0x7b58('0x3b')](_0x3bb887,{'autoCreate':_0xe34306}),'contact':_0x56e8e1===undefined?{}:_0x56e8e1,'contacts':_0x25c6d3[_0x7b58('0x25')]===0x0?undefined:_0x25c6d3});}});};