81f85f2ccf603b238d9fa9369aa9de825e1694ec
[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 _0x9c3b=['$or','map','routeId','destcalleridnum','calleridnum','firstName','lastName','fax','scheduledAt','updatedAt','union','then','getContacts','length','uniqueid','data4','[CM][%s][%s]\x20Autocreate\x20enabled','calleridname','Unknown','destcalleridname','resolve','createContact','push','[CM][%s][%s]\x20Contact\x20created:%s','[CM][%s][%s]\x20Autocreate\x20disabled','<unknown>','format','name','action','toLowerCase','lodash','bluebird','ioredis','util','../../../../config/environment','../../../../config/logger','redis','defaults','localhost','socket.io-emitter','info','[CM][%s][%s]','stringify','emit','data2','isNil','data5','xmd-contactid','ListId','data3','split','phone'];(function(_0x5788e1,_0x23dfb3){var _0x4e908e=function(_0x47617a){while(--_0x47617a){_0x5788e1['push'](_0x5788e1['shift']());}};_0x4e908e(++_0x23dfb3);}(_0x9c3b,0x1f2));var _0xb9c3=function(_0x373a1b,_0x5d97b6){_0x373a1b=_0x373a1b-0x0;var _0x2a754e=_0x9c3b[_0x373a1b];return _0x2a754e;};'use strict';var _=require(_0xb9c3('0x0'));var BPromise=require(_0xb9c3('0x1'));var Redis=require(_0xb9c3('0x2'));var util=require(_0xb9c3('0x3'));var config=require(_0xb9c3('0x4'));var logger=require(_0xb9c3('0x5'))('trigger');var cmContactRpc=require('../../rpc/cmContact');config[_0xb9c3('0x6')]=_[_0xb9c3('0x7')](config[_0xb9c3('0x6')],{'host':_0xb9c3('0x8'),'port':0x18eb});var io=require(_0xb9c3('0x9'))(new Redis(config['redis']));function emit(_0x4984b3,_0x2f9eea,_0x5ddd52,_0x52e92d,_0x5e8c72){logger[_0xb9c3('0xa')](_0xb9c3('0xb'),_0x4984b3,_0x2f9eea['id'],_0x5ddd52,_0x52e92d,JSON[_0xb9c3('0xc')](_0x5e8c72));io['to'](_0x5ddd52)[_0xb9c3('0xd')](_0x52e92d,_0x5e8c72);}exports['exec']=function(_0x45ffcf,_0x18c9bf,_0x20c57e,_0x2b1921){var _0xd23c33,_0xef72a2;var _0x527ab6={};var _0x4af9bf;var _0x4b6b67=Number(_0x20c57e['data1']);var _0x1c7549=_0x20c57e[_0xb9c3('0xe')]?Boolean(Number(_0x20c57e[_0xb9c3('0xe')])):![];var _0x389e0a;var _0x36de38=![];if(!_[_0xb9c3('0xf')](_0x20c57e[_0xb9c3('0x10')])){if(_0x20c57e[_0xb9c3('0x10')]=='1')_0x36de38=!![];}if(!_0x36de38){if(_0x2b1921[_0xb9c3('0x11')]){_0x527ab6['id']=_0x2b1921[_0xb9c3('0x11')];}}if(!_0x527ab6['id']){_0x527ab6[_0xb9c3('0x12')]=_0x4b6b67;_0x389e0a=_0x20c57e[_0xb9c3('0x13')]&&_0x20c57e[_0xb9c3('0x13')]!=='0'?_0x20c57e['data3'][_0xb9c3('0x14')](','):[_0xb9c3('0x15')];_0x527ab6[_0xb9c3('0x16')]=_[_0xb9c3('0x17')](_0x389e0a,function(_0xa22d45){var _0x551383={};_0x551383[_0xa22d45]=_0x2b1921[_0xb9c3('0x18')]?_0x2b1921[_0xb9c3('0x19')]:_0x2b1921[_0xb9c3('0x1a')];return _0x551383;});_0x4af9bf=_0x2b1921[_0xb9c3('0x18')]?_0x2b1921[_0xb9c3('0x19')]:_0x2b1921['calleridnum'];}var _0x43a79f=['id',_0xb9c3('0x1b'),_0xb9c3('0x1c'),_0xb9c3('0x15'),'mobile',_0xb9c3('0x1d'),'ListId','createdAt',_0xb9c3('0x1e'),_0xb9c3('0x1f')];var _0x3c9f85=_[_0xb9c3('0x20')](_0x43a79f,_0x389e0a);BPromise['resolve']()[_0xb9c3('0x21')](cmContactRpc[_0xb9c3('0x22')]({'attributes':_0x3c9f85,'where':_0x527ab6,'phone':_0x4af9bf}))[_0xb9c3('0x21')](function(_0x44ac99){_0xef72a2=_0x44ac99;if(!_['isEmpty'](_0xef72a2)){if(_0xef72a2[_0xb9c3('0x23')]===0x1){_0xd23c33=_0xef72a2[0x0];logger[_0xb9c3('0xa')]('[CM][%s][%s]\x20Contact\x20found:%s',_0x2b1921['uniqueid'],_0x18c9bf['id'],_0xd23c33['id']);}else{logger[_0xb9c3('0xa')]('[CM][%s][%s]\x20Multiple\x20contacts\x20found:[%s]',_0x2b1921[_0xb9c3('0x24')],_0x18c9bf['id'],_[_0xb9c3('0x17')](_0xef72a2,'id')['join'](','));}return;}else{logger[_0xb9c3('0xa')]('[CM][%s][%s]\x20Contact\x20not\x20found',_0x2b1921[_0xb9c3('0x24')],_0x18c9bf['id']);var _0x1b68e3={'ListId':_0x4b6b67};var _0x3de663=_0x20c57e[_0xb9c3('0x25')]&&_0x20c57e[_0xb9c3('0x25')]!=='0'?_0x20c57e[_0xb9c3('0x25')]:'phone';if(_0x1c7549){logger[_0xb9c3('0xa')](_0xb9c3('0x26'),_0x2b1921[_0xb9c3('0x24')],_0x18c9bf['id']);_0x1b68e3[_0x3de663]=_[_0xb9c3('0xf')](_0x2b1921[_0xb9c3('0x18')])?_0x2b1921[_0xb9c3('0x1a')]:_0x2b1921[_0xb9c3('0x19')];if(_[_0xb9c3('0xf')](_0x2b1921[_0xb9c3('0x18')])){_0x1b68e3[_0xb9c3('0x1b')]=_0x2b1921[_0xb9c3('0x27')]&&_0x2b1921[_0xb9c3('0x27')]!=='<unknown>'?_0x2b1921[_0xb9c3('0x27')]:_0xb9c3('0x28');}else{_0x1b68e3[_0xb9c3('0x1b')]=_0x2b1921[_0xb9c3('0x29')]&&_0x2b1921['destcalleridname']!=='<unknown>'?_0x2b1921[_0xb9c3('0x29')]:_0xb9c3('0x28');}return BPromise[_0xb9c3('0x2a')]()[_0xb9c3('0x21')](cmContactRpc[_0xb9c3('0x2b')](_0x1b68e3))[_0xb9c3('0x21')](function(_0x46fc97){_0xd23c33=_0x46fc97;_0xef72a2[_0xb9c3('0x2c')](_0x46fc97);if(_0xd23c33){logger[_0xb9c3('0xa')](_0xb9c3('0x2d'),_0x2b1921[_0xb9c3('0x24')],_0x18c9bf['id'],_0xd23c33['id']);}return;});}else{logger[_0xb9c3('0xa')](_0xb9c3('0x2e'),_0x2b1921['uniqueid'],_0x18c9bf['id']);_0x1b68e3[_0x3de663]=_[_0xb9c3('0xf')](_0x2b1921[_0xb9c3('0x18')])?_0x2b1921[_0xb9c3('0x1a')]:_0x2b1921[_0xb9c3('0x19')];if(_[_0xb9c3('0xf')](_0x2b1921[_0xb9c3('0x18')])){_0x1b68e3[_0xb9c3('0x1b')]=_0x2b1921[_0xb9c3('0x27')]&&_0x2b1921[_0xb9c3('0x27')]!==_0xb9c3('0x2f')?_0x2b1921[_0xb9c3('0x27')]:_0xb9c3('0x28');}else{_0x1b68e3[_0xb9c3('0x1b')]=_0x2b1921['destcalleridname']&&_0x2b1921['destcalleridname']!==_0xb9c3('0x2f')?_0x2b1921[_0xb9c3('0x29')]:'Unknown';}_0xd23c33=_0x1b68e3;_0xef72a2[_0xb9c3('0x2c')](_0x1b68e3);return;}}})[_0xb9c3('0x21')](function(){if(_0x45ffcf){emit(_0x2b1921[_0xb9c3('0x24')],_0x18c9bf,util[_0xb9c3('0x30')]('user:%s',_0x45ffcf[_0xb9c3('0x31')]),util[_0xb9c3('0x30')]('trigger:%s',_0x20c57e[_0xb9c3('0x32')][_0xb9c3('0x33')]()),{'evt':_['merge'](_0x2b1921,{'autoCreate':_0x1c7549}),'contact':_0xd23c33===undefined?{}:_0xd23c33,'contacts':_0xef72a2[_0xb9c3('0x23')]===0x0?undefined:_0xef72a2});}});};