Built motion from commit 87cd5f02.|2.5.48
[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 _0x8d0e=['destcalleridnum','calleridname','<unknown>','destcalleridname','createContact','push','[CM][%s][%s]\x20Autocreate\x20disabled','Unknown','format','user:%s','name','trigger:%s','action','toLowerCase','merge','lodash','bluebird','ioredis','util','../../../../config/environment','../../../../config/logger','trigger','../../rpc/cmContact','redis','info','[CM][%s][%s]','emit','exec','data1','data2','data5','xmd-contactid','ListId','data3','split','$or','map','calleridnum','firstName','lastName','phone','fax','union','resolve','then','getContacts','isEmpty','length','[CM][%s][%s]\x20Contact\x20found:%s','uniqueid','[CM][%s][%s]\x20Multiple\x20contacts\x20found:[%s]','join','[CM][%s][%s]\x20Contact\x20not\x20found','data4','[CM][%s][%s]\x20Autocreate\x20enabled','isNil','routeId'];(function(_0xf7a357,_0x1b9a26){var _0x57c8b=function(_0x509f6e){while(--_0x509f6e){_0xf7a357['push'](_0xf7a357['shift']());}};_0x57c8b(++_0x1b9a26);}(_0x8d0e,0x1d7));var _0xe8d0=function(_0x5c37cb,_0x335907){_0x5c37cb=_0x5c37cb-0x0;var _0x4ab583=_0x8d0e[_0x5c37cb];return _0x4ab583;};'use strict';var _=require(_0xe8d0('0x0'));var BPromise=require(_0xe8d0('0x1'));var Redis=require(_0xe8d0('0x2'));var util=require(_0xe8d0('0x3'));var config=require(_0xe8d0('0x4'));var logger=require(_0xe8d0('0x5'))(_0xe8d0('0x6'));var cmContactRpc=require(_0xe8d0('0x7'));config[_0xe8d0('0x8')]=_['defaults'](config[_0xe8d0('0x8')],{'host':'localhost','port':0x18eb});var io=require('socket.io-emitter')(new Redis(config[_0xe8d0('0x8')]));function emit(_0x92483d,_0x469d37,_0xcc03d0,_0x2b6dce,_0x13aa63){logger[_0xe8d0('0x9')](_0xe8d0('0xa'),_0x92483d,_0x469d37['id'],_0xcc03d0,_0x2b6dce,JSON['stringify'](_0x13aa63));io['to'](_0xcc03d0)[_0xe8d0('0xb')](_0x2b6dce,_0x13aa63);}exports[_0xe8d0('0xc')]=function(_0x463159,_0x599bc3,_0x580aab,_0x42e0c2){var _0x25e6b8,_0x3da047;var _0x10b345={};var _0x314657=Number(_0x580aab[_0xe8d0('0xd')]);var _0x5934b2=_0x580aab[_0xe8d0('0xe')]?Boolean(Number(_0x580aab[_0xe8d0('0xe')])):![];var _0x533b42;var _0x2b640d=![];if(!_['isNil'](_0x580aab['data5'])){if(_0x580aab[_0xe8d0('0xf')]=='1')_0x2b640d=!![];}if(!_0x2b640d){if(_0x42e0c2[_0xe8d0('0x10')]){_0x10b345['id']=_0x42e0c2[_0xe8d0('0x10')];}}if(!_0x10b345['id']){_0x10b345[_0xe8d0('0x11')]=_0x314657;_0x533b42=_0x580aab[_0xe8d0('0x12')]&&_0x580aab[_0xe8d0('0x12')]!=='0'?_0x580aab['data3'][_0xe8d0('0x13')](','):['phone'];_0x10b345[_0xe8d0('0x14')]=_[_0xe8d0('0x15')](_0x533b42,function(_0xfe8a4){var _0x4d1db4={};_0x4d1db4[_0xfe8a4]=_0x42e0c2['routeId']?_0x42e0c2['destcalleridnum']:_0x42e0c2[_0xe8d0('0x16')];return _0x4d1db4;});}var _0x384854=['id',_0xe8d0('0x17'),_0xe8d0('0x18'),_0xe8d0('0x19'),'mobile',_0xe8d0('0x1a'),_0xe8d0('0x11'),'createdAt','scheduledAt','updatedAt'];var _0x384a60=_[_0xe8d0('0x1b')](_0x384854,_0x533b42);BPromise[_0xe8d0('0x1c')]()[_0xe8d0('0x1d')](cmContactRpc[_0xe8d0('0x1e')]({'attributes':_0x384a60,'where':_0x10b345}))[_0xe8d0('0x1d')](function(_0x1bd25c){_0x3da047=_0x1bd25c;if(!_[_0xe8d0('0x1f')](_0x3da047)){if(_0x3da047[_0xe8d0('0x20')]===0x1){_0x25e6b8=_0x3da047[0x0];logger['info'](_0xe8d0('0x21'),_0x42e0c2[_0xe8d0('0x22')],_0x599bc3['id'],_0x25e6b8['id']);}else{logger['info'](_0xe8d0('0x23'),_0x42e0c2[_0xe8d0('0x22')],_0x599bc3['id'],_[_0xe8d0('0x15')](_0x3da047,'id')[_0xe8d0('0x24')](','));}return;}else{logger[_0xe8d0('0x9')](_0xe8d0('0x25'),_0x42e0c2[_0xe8d0('0x22')],_0x599bc3['id']);var _0x32f0c1={'ListId':_0x314657};var _0xfa3527=_0x580aab[_0xe8d0('0x26')]&&_0x580aab[_0xe8d0('0x26')]!=='0'?_0x580aab['data4']:_0xe8d0('0x19');if(_0x5934b2){logger[_0xe8d0('0x9')](_0xe8d0('0x27'),_0x42e0c2['uniqueid'],_0x599bc3['id']);_0x32f0c1[_0xfa3527]=_[_0xe8d0('0x28')](_0x42e0c2[_0xe8d0('0x29')])?_0x42e0c2['calleridnum']:_0x42e0c2[_0xe8d0('0x2a')];if(_[_0xe8d0('0x28')](_0x42e0c2[_0xe8d0('0x29')])){_0x32f0c1[_0xe8d0('0x17')]=_0x42e0c2[_0xe8d0('0x2b')]&&_0x42e0c2['calleridname']!==_0xe8d0('0x2c')?_0x42e0c2['calleridname']:'Unknown';}else{_0x32f0c1['firstName']=_0x42e0c2[_0xe8d0('0x2d')]&&_0x42e0c2[_0xe8d0('0x2d')]!==_0xe8d0('0x2c')?_0x42e0c2['destcalleridname']:'Unknown';}return BPromise[_0xe8d0('0x1c')]()['then'](cmContactRpc[_0xe8d0('0x2e')](_0x32f0c1))[_0xe8d0('0x1d')](function(_0x327004){_0x25e6b8=_0x327004;_0x3da047[_0xe8d0('0x2f')](_0x327004);if(_0x25e6b8){logger[_0xe8d0('0x9')]('[CM][%s][%s]\x20Contact\x20created:%s',_0x42e0c2[_0xe8d0('0x22')],_0x599bc3['id'],_0x25e6b8['id']);}return;});}else{logger[_0xe8d0('0x9')](_0xe8d0('0x30'),_0x42e0c2[_0xe8d0('0x22')],_0x599bc3['id']);_0x32f0c1[_0xfa3527]=_['isNil'](_0x42e0c2[_0xe8d0('0x29')])?_0x42e0c2[_0xe8d0('0x16')]:_0x42e0c2['destcalleridnum'];if(_[_0xe8d0('0x28')](_0x42e0c2['routeId'])){_0x32f0c1[_0xe8d0('0x17')]=_0x42e0c2['calleridname']&&_0x42e0c2[_0xe8d0('0x2b')]!=='<unknown>'?_0x42e0c2[_0xe8d0('0x2b')]:_0xe8d0('0x31');}else{_0x32f0c1[_0xe8d0('0x17')]=_0x42e0c2[_0xe8d0('0x2d')]&&_0x42e0c2['destcalleridname']!==_0xe8d0('0x2c')?_0x42e0c2[_0xe8d0('0x2d')]:_0xe8d0('0x31');}_0x25e6b8=_0x32f0c1;_0x3da047['push'](_0x32f0c1);return;}}})[_0xe8d0('0x1d')](function(){if(_0x463159){emit(_0x42e0c2[_0xe8d0('0x22')],_0x599bc3,util[_0xe8d0('0x32')](_0xe8d0('0x33'),_0x463159[_0xe8d0('0x34')]),util['format'](_0xe8d0('0x35'),_0x580aab[_0xe8d0('0x36')][_0xe8d0('0x37')]()),{'evt':_[_0xe8d0('0x38')](_0x42e0c2,{'autoCreate':_0x5934b2}),'contact':_0x25e6b8===undefined?{}:_0x25e6b8,'contacts':_0x3da047[_0xe8d0('0x20')]===0x0?undefined:_0x3da047});}});};