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 _0x29c3=['getContacts','isEmpty','[CM][%s][%s]\x20Contact\x20found:%s','[CM][%s][%s]\x20Multiple\x20contacts\x20found:[%s]','uniqueid','join','[CM][%s][%s]\x20Contact\x20not\x20found','data4','[CM][%s][%s]\x20Autocreate\x20enabled','isNil','calleridname','<unknown>','destcalleridname','Unknown','resolve','push','[CM][%s][%s]\x20Contact\x20created:%s','routeId','format','trigger:%s','action','merge','bluebird','ioredis','util','../../../../config/environment','trigger','../../rpc/cmContact','redis','defaults','localhost','socket.io-emitter','info','stringify','emit','exec','data2','xmd-contactid','ListId','data3','split','phone','$or','map','destcalleridnum','calleridnum','firstName','lastName','mobile','createdAt','updatedAt','union','then'];(function(_0x209d9b,_0x224737){var _0x11b39b=function(_0xd8298f){while(--_0xd8298f){_0x209d9b['push'](_0x209d9b['shift']());}};_0x11b39b(++_0x224737);}(_0x29c3,0x80));var _0x329c=function(_0x536459,_0x3047a1){_0x536459=_0x536459-0x0;var _0x310c6=_0x29c3[_0x536459];return _0x310c6;};'use strict';var _=require('lodash');var BPromise=require(_0x329c('0x0'));var Redis=require(_0x329c('0x1'));var util=require(_0x329c('0x2'));var config=require(_0x329c('0x3'));var logger=require('../../../../config/logger')(_0x329c('0x4'));var cmContactRpc=require(_0x329c('0x5'));config[_0x329c('0x6')]=_[_0x329c('0x7')](config['redis'],{'host':_0x329c('0x8'),'port':0x18eb});var io=require(_0x329c('0x9'))(new Redis(config[_0x329c('0x6')]));function emit(_0x1fe889,_0x7ca221,_0x29baa5,_0x2da725,_0x3b116d){logger[_0x329c('0xa')]('[CM][%s][%s]',_0x1fe889,_0x7ca221['id'],_0x29baa5,_0x2da725,JSON[_0x329c('0xb')](_0x3b116d));io['to'](_0x29baa5)[_0x329c('0xc')](_0x2da725,_0x3b116d);}exports[_0x329c('0xd')]=function(_0x2069a5,_0x5897b9,_0x49ba5c,_0x2e4200){var _0x304905,_0x11f236;var _0x5c9656={};var _0x47d604=Number(_0x49ba5c['data1']);var _0x151644=_0x49ba5c[_0x329c('0xe')]?Boolean(Number(_0x49ba5c[_0x329c('0xe')])):![];var _0x3eec5b;if(_0x2e4200[_0x329c('0xf')]){_0x5c9656['id']=_0x2e4200[_0x329c('0xf')];}if(!_0x5c9656['id']){_0x5c9656[_0x329c('0x10')]=_0x47d604;_0x3eec5b=_0x49ba5c[_0x329c('0x11')]&&_0x49ba5c[_0x329c('0x11')]!=='0'?_0x49ba5c[_0x329c('0x11')][_0x329c('0x12')](','):[_0x329c('0x13')];_0x5c9656[_0x329c('0x14')]=_[_0x329c('0x15')](_0x3eec5b,function(_0x3f102a){var _0x397c16={};_0x397c16[_0x3f102a]=_0x2e4200['routeId']?_0x2e4200[_0x329c('0x16')]:_0x2e4200[_0x329c('0x17')];return _0x397c16;});}var _0x5b68c7=['id',_0x329c('0x18'),_0x329c('0x19'),_0x329c('0x13'),_0x329c('0x1a'),'fax',_0x329c('0x10'),_0x329c('0x1b'),'scheduledAt',_0x329c('0x1c')];var _0x148848=_[_0x329c('0x1d')](_0x5b68c7,_0x3eec5b);BPromise['resolve']()[_0x329c('0x1e')](cmContactRpc[_0x329c('0x1f')]({'attributes':_0x148848,'where':_0x5c9656}))['then'](function(_0x46d278){_0x11f236=_0x46d278;if(!_[_0x329c('0x20')](_0x11f236)){if(_0x11f236['length']===0x1){_0x304905=_0x11f236[0x0];logger[_0x329c('0xa')](_0x329c('0x21'),_0x2e4200['uniqueid'],_0x5897b9['id'],_0x304905['id']);}else{logger[_0x329c('0xa')](_0x329c('0x22'),_0x2e4200[_0x329c('0x23')],_0x5897b9['id'],_['map'](_0x11f236,'id')[_0x329c('0x24')](','));}return;}else{logger[_0x329c('0xa')](_0x329c('0x25'),_0x2e4200[_0x329c('0x23')],_0x5897b9['id']);var _0x423d2f={'ListId':_0x47d604};var _0x6982fd=_0x49ba5c['data4']&&_0x49ba5c['data4']!=='0'?_0x49ba5c[_0x329c('0x26')]:_0x329c('0x13');if(_0x151644){logger['info'](_0x329c('0x27'),_0x2e4200['uniqueid'],_0x5897b9['id']);_0x423d2f[_0x6982fd]=_[_0x329c('0x28')](_0x2e4200['routeId'])?_0x2e4200[_0x329c('0x17')]:_0x2e4200['destcalleridnum'];if(_[_0x329c('0x28')](_0x2e4200['routeId'])){_0x423d2f[_0x329c('0x18')]=_0x2e4200['calleridname']&&_0x2e4200[_0x329c('0x29')]!==_0x329c('0x2a')?_0x2e4200[_0x329c('0x29')]:'Unknown';}else{_0x423d2f[_0x329c('0x18')]=_0x2e4200['destcalleridname']&&_0x2e4200[_0x329c('0x2b')]!=='<unknown>'?_0x2e4200[_0x329c('0x2b')]:_0x329c('0x2c');}return BPromise[_0x329c('0x2d')]()['then'](cmContactRpc['createContact'](_0x423d2f))['then'](function(_0x26a2ce){_0x304905=_0x26a2ce;_0x11f236[_0x329c('0x2e')](_0x26a2ce);if(_0x304905){logger[_0x329c('0xa')](_0x329c('0x2f'),_0x2e4200[_0x329c('0x23')],_0x5897b9['id'],_0x304905['id']);}return;});}else{logger[_0x329c('0xa')]('[CM][%s][%s]\x20Autocreate\x20disabled',_0x2e4200[_0x329c('0x23')],_0x5897b9['id']);_0x423d2f[_0x6982fd]=_[_0x329c('0x28')](_0x2e4200[_0x329c('0x30')])?_0x2e4200[_0x329c('0x17')]:_0x2e4200[_0x329c('0x16')];if(_[_0x329c('0x28')](_0x2e4200[_0x329c('0x30')])){_0x423d2f[_0x329c('0x18')]=_0x2e4200['calleridname']&&_0x2e4200[_0x329c('0x29')]!==_0x329c('0x2a')?_0x2e4200[_0x329c('0x29')]:_0x329c('0x2c');}else{_0x423d2f['firstName']=_0x2e4200[_0x329c('0x2b')]&&_0x2e4200[_0x329c('0x2b')]!==_0x329c('0x2a')?_0x2e4200[_0x329c('0x2b')]:_0x329c('0x2c');}_0x304905=_0x423d2f;_0x11f236['push'](_0x423d2f);return;}}})[_0x329c('0x1e')](function(){if(_0x2069a5){emit(_0x2e4200[_0x329c('0x23')],_0x5897b9,util['format']('user:%s',_0x2069a5['name']),util[_0x329c('0x31')](_0x329c('0x32'),_0x49ba5c[_0x329c('0x33')]['toLowerCase']()),{'evt':_[_0x329c('0x34')](_0x2e4200,{'autoCreate':_0x151644}),'contact':_0x304905===undefined?{}:_0x304905,'contacts':_0x11f236['length']===0x0?undefined:_0x11f236});}});};