Built motion from commit (unavailable).|2.5.6
[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 _0x7219=['[CM][%s][%s]\x20Contact\x20not\x20found','[CM][%s][%s]\x20Autocreate\x20enabled','data4','isNil','calleridname','<unknown>','destcalleridname','format','user:%s','trigger:%s','action','toLowerCase','merge','lodash','ioredis','util','../../../../config/environment','trigger','redis','defaults','localhost','info','[CM][%s][%s]','stringify','emit','exec','data2','isEmpty','xmd-contactid2','ListId','data3','split','phone','$or','routeId','destcalleridnum','calleridnum','firstName','mobile','scheduledAt','updatedAt','union','resolve','then','getContacts','length','[CM][%s][%s]\x20Contact\x20found:%s','uniqueid','[CM][%s][%s]\x20Multiple\x20contacts\x20found:[%s]','map'];(function(_0x1ef7b2,_0x3b7399){var _0x3d09b5=function(_0x38e75d){while(--_0x38e75d){_0x1ef7b2['push'](_0x1ef7b2['shift']());}};_0x3d09b5(++_0x3b7399);}(_0x7219,0xd5));var _0x9721=function(_0x33ad5e,_0x1feeb7){_0x33ad5e=_0x33ad5e-0x0;var _0x558629=_0x7219[_0x33ad5e];return _0x558629;};'use strict';var _=require(_0x9721('0x0'));var BPromise=require('bluebird');var Redis=require(_0x9721('0x1'));var util=require(_0x9721('0x2'));var config=require(_0x9721('0x3'));var logger=require('../../../../config/logger')(_0x9721('0x4'));var cmContactRpc=require('../../rpc/cmContact');config[_0x9721('0x5')]=_[_0x9721('0x6')](config[_0x9721('0x5')],{'host':_0x9721('0x7'),'port':0x18eb});var io=require('socket.io-emitter')(new Redis(config[_0x9721('0x5')]));function emit(_0x5cd754,_0x1713b3,_0x1c325f,_0x4e08e2,_0x59744d){logger[_0x9721('0x8')](_0x9721('0x9'),_0x5cd754,_0x1713b3['id'],_0x1c325f,_0x4e08e2,JSON[_0x9721('0xa')](_0x59744d));io['to'](_0x1c325f)[_0x9721('0xb')](_0x4e08e2,_0x59744d);}exports[_0x9721('0xc')]=function(_0x31a1ce,_0x2726c2,_0x112b14,_0x25fba8){var _0x2d53b4,_0x308fc2;var _0x1b6b7f={};var _0x38432c=Number(_0x112b14['data1']);var _0x28774a=_0x112b14['data2']?Boolean(Number(_0x112b14[_0x9721('0xd')])):![];if(_0x25fba8['xmd-contactid2']&&!_[_0x9721('0xe')](_0x25fba8[_0x9721('0xf')]))_0x1b6b7f['id']=_0x25fba8[_0x9721('0xf')];if(!_0x1b6b7f['id']){_0x1b6b7f[_0x9721('0x10')]=_0x38432c;var _0x5c3334=_0x112b14[_0x9721('0x11')]&&_0x112b14[_0x9721('0x11')]!=='0'?_0x112b14['data3'][_0x9721('0x12')](','):[_0x9721('0x13')];_0x1b6b7f[_0x9721('0x14')]=_['map'](_0x5c3334,function(_0x26d0e1){var _0x2b4a3d={};_0x2b4a3d[_0x26d0e1]=_0x25fba8[_0x9721('0x15')]?_0x25fba8[_0x9721('0x16')]:_0x25fba8[_0x9721('0x17')];return _0x2b4a3d;});}var _0x5dc8d3=['id',_0x9721('0x18'),'lastName',_0x9721('0x13'),_0x9721('0x19'),'fax',_0x9721('0x10'),'createdAt',_0x9721('0x1a'),_0x9721('0x1b')];var _0x3838b1=_[_0x9721('0x1c')](_0x5dc8d3,_0x5c3334);BPromise[_0x9721('0x1d')]()[_0x9721('0x1e')](cmContactRpc[_0x9721('0x1f')]({'attributes':_0x3838b1,'where':_0x1b6b7f}))['then'](function(_0x253e10){_0x308fc2=_0x253e10;if(!_[_0x9721('0xe')](_0x308fc2)){if(_0x308fc2[_0x9721('0x20')]===0x1){_0x2d53b4=_0x308fc2[0x0];logger[_0x9721('0x8')](_0x9721('0x21'),_0x25fba8[_0x9721('0x22')],_0x2726c2['id'],_0x2d53b4['id']);}else{logger[_0x9721('0x8')](_0x9721('0x23'),_0x25fba8['uniqueid'],_0x2726c2['id'],_[_0x9721('0x24')](_0x308fc2,'id')['join'](','));}return;}else{logger[_0x9721('0x8')](_0x9721('0x25'),_0x25fba8[_0x9721('0x22')],_0x2726c2['id']);if(_0x28774a){logger[_0x9721('0x8')](_0x9721('0x26'),_0x25fba8[_0x9721('0x22')],_0x2726c2['id']);var _0x182007=_0x112b14['data4']&&_0x112b14['data4']!=='0'?_0x112b14[_0x9721('0x27')]:_0x9721('0x13');var _0x19f3d7={'ListId':_0x38432c};_0x19f3d7[_0x182007]=_[_0x9721('0x28')](_0x25fba8[_0x9721('0x15')])?_0x25fba8[_0x9721('0x17')]:_0x25fba8[_0x9721('0x16')];if(_[_0x9721('0x28')](_0x25fba8[_0x9721('0x15')])){_0x19f3d7[_0x9721('0x18')]=_0x25fba8[_0x9721('0x29')]&&_0x25fba8[_0x9721('0x29')]!==_0x9721('0x2a')?_0x25fba8['calleridname']:'Unknown';}else{_0x19f3d7[_0x9721('0x18')]=_0x25fba8[_0x9721('0x2b')]&&_0x25fba8[_0x9721('0x2b')]!==_0x9721('0x2a')?_0x25fba8[_0x9721('0x2b')]:'Unknown';}return BPromise[_0x9721('0x1d')]()[_0x9721('0x1e')](cmContactRpc['createContact'](_0x19f3d7))[_0x9721('0x1e')](function(_0x5c8121){_0x2d53b4=_0x5c8121;if(_0x2d53b4){logger['info']('[CM][%s][%s]\x20Contact\x20created:%s',_0x25fba8['uniqueid'],_0x2726c2['id'],_0x2d53b4['id']);}return;});}else{logger[_0x9721('0x8')]('[CM][%s][%s]\x20Autocreate\x20disabled',_0x25fba8['uniqueid'],_0x2726c2['id']);return;}}})['then'](function(){if(_0x31a1ce){emit(_0x25fba8[_0x9721('0x22')],_0x2726c2,util[_0x9721('0x2c')](_0x9721('0x2d'),_0x31a1ce['name']),util['format'](_0x9721('0x2e'),_0x112b14[_0x9721('0x2f')][_0x9721('0x30')]()),{'evt':_[_0x9721('0x31')](_0x25fba8,{'autoCreate':_0x28774a}),'contact':_0x2d53b4,'contacts':!_0x2d53b4?_0x308fc2:undefined});}});};