Built motion from commit 5293bb2a.|2.6.30
[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 _0x63e5=['util','trigger','../../rpc/cmContact','redis','defaults','socket.io-emitter','info','[CM][%s][%s]','stringify','exec','data2','isNil','data5','xmd-contactid','data3','split','$or','routeId','destcalleridnum','calleridnum','firstName','lastName','mobile','fax','ListId','createdAt','scheduledAt','resolve','then','length','[CM][%s][%s]\x20Multiple\x20contacts\x20found:[%s]','uniqueid','map','join','[CM][%s][%s]\x20Contact\x20not\x20found','data4','phone','calleridname','<unknown>','Unknown','destcalleridname','createContact','push','[CM][%s][%s]\x20Contact\x20created:%s','[CM][%s][%s]\x20Autocreate\x20disabled','format','user:%s','name','trigger:%s','action','toLowerCase','merge','lodash'];(function(_0x1ebb10,_0x156b3e){var _0x20d709=function(_0x4cc093){while(--_0x4cc093){_0x1ebb10['push'](_0x1ebb10['shift']());}};_0x20d709(++_0x156b3e);}(_0x63e5,0xd3));var _0x563e=function(_0x45783c,_0x49c56d){_0x45783c=_0x45783c-0x0;var _0x1161da=_0x63e5[_0x45783c];return _0x1161da;};'use strict';var _=require(_0x563e('0x0'));var BPromise=require('bluebird');var Redis=require('ioredis');var util=require(_0x563e('0x1'));var config=require('../../../../config/environment');var logger=require('../../../../config/logger')(_0x563e('0x2'));var cmContactRpc=require(_0x563e('0x3'));config[_0x563e('0x4')]=_[_0x563e('0x5')](config[_0x563e('0x4')],{'host':'localhost','port':0x18eb});var io=require(_0x563e('0x6'))(new Redis(config[_0x563e('0x4')]));function emit(_0x3bfd3c,_0x5815ed,_0x60c6d,_0xed22f,_0x235db9){logger[_0x563e('0x7')](_0x563e('0x8'),_0x3bfd3c,_0x5815ed['id'],_0x60c6d,_0xed22f,JSON[_0x563e('0x9')](_0x235db9));io['to'](_0x60c6d)['emit'](_0xed22f,_0x235db9);}exports[_0x563e('0xa')]=function(_0xb6b2ad,_0x46050d,_0x21a8da,_0x2d161a){var _0x51e29f,_0x42e2e2;var _0x41a6b3={};var _0x47c97f;var _0x440530=Number(_0x21a8da['data1']);var _0x3eb726=_0x21a8da[_0x563e('0xb')]?Boolean(Number(_0x21a8da['data2'])):![];var _0x5bfdce;var _0x104550=![];if(!_[_0x563e('0xc')](_0x21a8da['data5'])){if(_0x21a8da[_0x563e('0xd')]=='1')_0x104550=!![];}if(!_0x104550){if(_0x2d161a[_0x563e('0xe')]){_0x41a6b3['id']=_0x2d161a[_0x563e('0xe')];}}if(!_0x41a6b3['id']){_0x41a6b3['ListId']=_0x440530;_0x5bfdce=_0x21a8da['data3']&&_0x21a8da[_0x563e('0xf')]!=='0'?_0x21a8da[_0x563e('0xf')][_0x563e('0x10')](','):['phone'];_0x41a6b3[_0x563e('0x11')]=_['map'](_0x5bfdce,function(_0x595bb8){var _0x419683={};_0x419683[_0x595bb8]=_0x2d161a[_0x563e('0x12')]?_0x2d161a[_0x563e('0x13')]:_0x2d161a[_0x563e('0x14')];return _0x419683;});_0x47c97f=_0x2d161a[_0x563e('0x12')]?_0x2d161a[_0x563e('0x13')]:_0x2d161a[_0x563e('0x14')];}var _0xd150a3=['id',_0x563e('0x15'),_0x563e('0x16'),'phone',_0x563e('0x17'),_0x563e('0x18'),_0x563e('0x19'),_0x563e('0x1a'),_0x563e('0x1b'),'updatedAt'];var _0x2ccd4c=_['union'](_0xd150a3,_0x5bfdce);BPromise[_0x563e('0x1c')]()['then'](cmContactRpc['getContacts']({'attributes':_0x2ccd4c,'where':_0x41a6b3,'phone':_0x47c97f}))[_0x563e('0x1d')](function(_0x5fa2c4){_0x42e2e2=_0x5fa2c4;if(!_['isEmpty'](_0x42e2e2)){if(_0x42e2e2[_0x563e('0x1e')]===0x1){_0x51e29f=_0x42e2e2[0x0];logger[_0x563e('0x7')]('[CM][%s][%s]\x20Contact\x20found:%s',_0x2d161a['uniqueid'],_0x46050d['id'],_0x51e29f['id']);}else{logger['info'](_0x563e('0x1f'),_0x2d161a[_0x563e('0x20')],_0x46050d['id'],_[_0x563e('0x21')](_0x42e2e2,'id')[_0x563e('0x22')](','));}return;}else{logger[_0x563e('0x7')](_0x563e('0x23'),_0x2d161a['uniqueid'],_0x46050d['id']);var _0x4fcb90={'ListId':_0x440530};var _0x350744=_0x21a8da['data4']&&_0x21a8da[_0x563e('0x24')]!=='0'?_0x21a8da['data4']:_0x563e('0x25');if(_0x3eb726){logger[_0x563e('0x7')]('[CM][%s][%s]\x20Autocreate\x20enabled',_0x2d161a[_0x563e('0x20')],_0x46050d['id']);_0x4fcb90[_0x350744]=_[_0x563e('0xc')](_0x2d161a[_0x563e('0x12')])?_0x2d161a[_0x563e('0x14')]:_0x2d161a[_0x563e('0x13')];if(_['isNil'](_0x2d161a[_0x563e('0x12')])){_0x4fcb90[_0x563e('0x15')]=_0x2d161a['calleridname']&&_0x2d161a[_0x563e('0x26')]!==_0x563e('0x27')?_0x2d161a[_0x563e('0x26')]:_0x563e('0x28');}else{_0x4fcb90[_0x563e('0x15')]=_0x2d161a[_0x563e('0x29')]&&_0x2d161a[_0x563e('0x29')]!==_0x563e('0x27')?_0x2d161a[_0x563e('0x29')]:_0x563e('0x28');}return BPromise[_0x563e('0x1c')]()['then'](cmContactRpc[_0x563e('0x2a')](_0x4fcb90))[_0x563e('0x1d')](function(_0xed82cc){_0x51e29f=_0xed82cc;_0x42e2e2[_0x563e('0x2b')](_0xed82cc);if(_0x51e29f){logger[_0x563e('0x7')](_0x563e('0x2c'),_0x2d161a[_0x563e('0x20')],_0x46050d['id'],_0x51e29f['id']);}return;});}else{logger[_0x563e('0x7')](_0x563e('0x2d'),_0x2d161a[_0x563e('0x20')],_0x46050d['id']);_0x4fcb90[_0x350744]=_[_0x563e('0xc')](_0x2d161a[_0x563e('0x12')])?_0x2d161a[_0x563e('0x14')]:_0x2d161a[_0x563e('0x13')];if(_[_0x563e('0xc')](_0x2d161a[_0x563e('0x12')])){_0x4fcb90['firstName']=_0x2d161a['calleridname']&&_0x2d161a[_0x563e('0x26')]!==_0x563e('0x27')?_0x2d161a[_0x563e('0x26')]:'Unknown';}else{_0x4fcb90[_0x563e('0x15')]=_0x2d161a['destcalleridname']&&_0x2d161a['destcalleridname']!==_0x563e('0x27')?_0x2d161a['destcalleridname']:_0x563e('0x28');}_0x51e29f=_0x4fcb90;_0x42e2e2['push'](_0x4fcb90);return;}}})[_0x563e('0x1d')](function(){if(_0xb6b2ad){emit(_0x2d161a['uniqueid'],_0x46050d,util[_0x563e('0x2e')](_0x563e('0x2f'),_0xb6b2ad[_0x563e('0x30')]),util['format'](_0x563e('0x31'),_0x21a8da[_0x563e('0x32')][_0x563e('0x33')]()),{'evt':_[_0x563e('0x34')](_0x2d161a,{'autoCreate':_0x3eb726}),'contact':_0x51e29f===undefined?{}:_0x51e29f,'contacts':_0x42e2e2[_0x563e('0x1e')]===0x0?undefined:_0x42e2e2});}});};