ebfc8f55a4021717fe8896bd35e43b4309504995
[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 _0xb839=['firstName','calleridname','<unknown>','Unknown','destcalleridname','createContact','push','[CM][%s][%s]\x20Autocreate\x20disabled','format','user:%s','name','trigger:%s','action','toLowerCase','lodash','ioredis','../../../../config/environment','../../../../config/logger','trigger','../../rpc/cmContact','redis','defaults','localhost','info','[CM][%s][%s]','stringify','emit','exec','data1','data2','xmd-contactid','ListId','data3','split','$or','map','destcalleridnum','lastName','phone','mobile','createdAt','scheduledAt','resolve','then','getContacts','isEmpty','length','[CM][%s][%s]\x20Contact\x20found:%s','uniqueid','join','[CM][%s][%s]\x20Contact\x20not\x20found','data4','[CM][%s][%s]\x20Autocreate\x20enabled','calleridnum','isNil','routeId'];(function(_0x2ad374,_0x18b3fa){var _0x3602fd=function(_0x4fd519){while(--_0x4fd519){_0x2ad374['push'](_0x2ad374['shift']());}};_0x3602fd(++_0x18b3fa);}(_0xb839,0xee));var _0x9b83=function(_0x553bd5,_0x58d09e){_0x553bd5=_0x553bd5-0x0;var _0x487a53=_0xb839[_0x553bd5];return _0x487a53;};'use strict';var _=require(_0x9b83('0x0'));var BPromise=require('bluebird');var Redis=require(_0x9b83('0x1'));var util=require('util');var config=require(_0x9b83('0x2'));var logger=require(_0x9b83('0x3'))(_0x9b83('0x4'));var cmContactRpc=require(_0x9b83('0x5'));config[_0x9b83('0x6')]=_[_0x9b83('0x7')](config[_0x9b83('0x6')],{'host':_0x9b83('0x8'),'port':0x18eb});var io=require('socket.io-emitter')(new Redis(config[_0x9b83('0x6')]));function emit(_0x329b8a,_0x331e25,_0x491f3c,_0x47f5e4,_0x56d2dc){logger[_0x9b83('0x9')](_0x9b83('0xa'),_0x329b8a,_0x331e25['id'],_0x491f3c,_0x47f5e4,JSON[_0x9b83('0xb')](_0x56d2dc));io['to'](_0x491f3c)[_0x9b83('0xc')](_0x47f5e4,_0x56d2dc);}exports[_0x9b83('0xd')]=function(_0x102ca6,_0x4bfd6e,_0x5b772d,_0x489345){var _0x3c355e,_0x309079;var _0x378222={};var _0x2231cd=Number(_0x5b772d[_0x9b83('0xe')]);var _0x54decc=_0x5b772d[_0x9b83('0xf')]?Boolean(Number(_0x5b772d[_0x9b83('0xf')])):![];var _0x1ee761;if(_0x489345[_0x9b83('0x10')]){_0x378222['id']=_0x489345[_0x9b83('0x10')];}if(!_0x378222['id']){_0x378222[_0x9b83('0x11')]=_0x2231cd;_0x1ee761=_0x5b772d['data3']&&_0x5b772d[_0x9b83('0x12')]!=='0'?_0x5b772d['data3'][_0x9b83('0x13')](','):['phone'];_0x378222[_0x9b83('0x14')]=_[_0x9b83('0x15')](_0x1ee761,function(_0x1f1dc7){var _0x22153d={};_0x22153d[_0x1f1dc7]=_0x489345['routeId']?_0x489345[_0x9b83('0x16')]:_0x489345['calleridnum'];return _0x22153d;});}var _0x5afc56=['id','firstName',_0x9b83('0x17'),_0x9b83('0x18'),_0x9b83('0x19'),'fax',_0x9b83('0x11'),_0x9b83('0x1a'),_0x9b83('0x1b'),'updatedAt'];var _0x3daaa3=_['union'](_0x5afc56,_0x1ee761);BPromise[_0x9b83('0x1c')]()[_0x9b83('0x1d')](cmContactRpc[_0x9b83('0x1e')]({'attributes':_0x3daaa3,'where':_0x378222}))['then'](function(_0x51c82b){_0x309079=_0x51c82b;if(!_[_0x9b83('0x1f')](_0x309079)){if(_0x309079[_0x9b83('0x20')]===0x1){_0x3c355e=_0x309079[0x0];logger[_0x9b83('0x9')](_0x9b83('0x21'),_0x489345[_0x9b83('0x22')],_0x4bfd6e['id'],_0x3c355e['id']);}else{logger[_0x9b83('0x9')]('[CM][%s][%s]\x20Multiple\x20contacts\x20found:[%s]',_0x489345[_0x9b83('0x22')],_0x4bfd6e['id'],_[_0x9b83('0x15')](_0x309079,'id')[_0x9b83('0x23')](','));}return;}else{logger['info'](_0x9b83('0x24'),_0x489345[_0x9b83('0x22')],_0x4bfd6e['id']);var _0x292842={'ListId':_0x2231cd};var _0x28dd61=_0x5b772d[_0x9b83('0x25')]&&_0x5b772d[_0x9b83('0x25')]!=='0'?_0x5b772d[_0x9b83('0x25')]:_0x9b83('0x18');if(_0x54decc){logger[_0x9b83('0x9')](_0x9b83('0x26'),_0x489345['uniqueid'],_0x4bfd6e['id']);_0x292842[_0x28dd61]=_['isNil'](_0x489345['routeId'])?_0x489345[_0x9b83('0x27')]:_0x489345[_0x9b83('0x16')];if(_[_0x9b83('0x28')](_0x489345[_0x9b83('0x29')])){_0x292842[_0x9b83('0x2a')]=_0x489345['calleridname']&&_0x489345[_0x9b83('0x2b')]!==_0x9b83('0x2c')?_0x489345['calleridname']:_0x9b83('0x2d');}else{_0x292842[_0x9b83('0x2a')]=_0x489345[_0x9b83('0x2e')]&&_0x489345[_0x9b83('0x2e')]!==_0x9b83('0x2c')?_0x489345[_0x9b83('0x2e')]:_0x9b83('0x2d');}return BPromise['resolve']()[_0x9b83('0x1d')](cmContactRpc[_0x9b83('0x2f')](_0x292842))[_0x9b83('0x1d')](function(_0x86a6e1){_0x3c355e=_0x86a6e1;_0x309079[_0x9b83('0x30')](_0x86a6e1);if(_0x3c355e){logger[_0x9b83('0x9')]('[CM][%s][%s]\x20Contact\x20created:%s',_0x489345[_0x9b83('0x22')],_0x4bfd6e['id'],_0x3c355e['id']);}return;});}else{logger[_0x9b83('0x9')](_0x9b83('0x31'),_0x489345[_0x9b83('0x22')],_0x4bfd6e['id']);_0x292842[_0x28dd61]=_[_0x9b83('0x28')](_0x489345[_0x9b83('0x29')])?_0x489345[_0x9b83('0x27')]:_0x489345[_0x9b83('0x16')];if(_[_0x9b83('0x28')](_0x489345['routeId'])){_0x292842['firstName']=_0x489345[_0x9b83('0x2b')]&&_0x489345[_0x9b83('0x2b')]!==_0x9b83('0x2c')?_0x489345[_0x9b83('0x2b')]:_0x9b83('0x2d');}else{_0x292842[_0x9b83('0x2a')]=_0x489345[_0x9b83('0x2e')]&&_0x489345[_0x9b83('0x2e')]!==_0x9b83('0x2c')?_0x489345[_0x9b83('0x2e')]:_0x9b83('0x2d');}_0x3c355e=_0x292842;_0x309079[_0x9b83('0x30')](_0x292842);return;}}})[_0x9b83('0x1d')](function(){if(_0x102ca6){emit(_0x489345['uniqueid'],_0x4bfd6e,util[_0x9b83('0x32')](_0x9b83('0x33'),_0x102ca6[_0x9b83('0x34')]),util[_0x9b83('0x32')](_0x9b83('0x35'),_0x5b772d[_0x9b83('0x36')][_0x9b83('0x37')]()),{'evt':_['merge'](_0x489345,{'autoCreate':_0x54decc}),'contact':_0x3c355e===undefined?{}:_0x3c355e,'contacts':_0x309079[_0x9b83('0x20')]===0x0?undefined:_0x309079});}});};