efe580d0e51d64a3996c1b1fa531a6f14ef3330d
[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 _0xd9ed=['data4','[CM][%s][%s]\x20Autocreate\x20enabled','isNil','destcalleridnum','calleridname','<unknown>','Unknown','destcalleridname','resolve','createContact','[CM][%s][%s]\x20Contact\x20created:%s','[CM][%s][%s]\x20Autocreate\x20disabled','push','user:%s','name','trigger:%s','action','toLowerCase','merge','lodash','bluebird','ioredis','util','../../../../config/logger','redis','localhost','socket.io-emitter','[CM][%s][%s]','stringify','exec','data1','data2','xmd-contactid','ListId','data3','phone','$or','map','routeId','calleridnum','firstName','lastName','mobile','fax','scheduledAt','union','then','isEmpty','length','info','uniqueid','join','[CM][%s][%s]\x20Contact\x20not\x20found'];(function(_0x2be99d,_0x1422ea){var _0x4a885d=function(_0x27d301){while(--_0x27d301){_0x2be99d['push'](_0x2be99d['shift']());}};_0x4a885d(++_0x1422ea);}(_0xd9ed,0x151));var _0xdd9e=function(_0x591cc8,_0x51c5ba){_0x591cc8=_0x591cc8-0x0;var _0x3ad157=_0xd9ed[_0x591cc8];return _0x3ad157;};'use strict';var _=require(_0xdd9e('0x0'));var BPromise=require(_0xdd9e('0x1'));var Redis=require(_0xdd9e('0x2'));var util=require(_0xdd9e('0x3'));var config=require('../../../../config/environment');var logger=require(_0xdd9e('0x4'))('trigger');var cmContactRpc=require('../../rpc/cmContact');config[_0xdd9e('0x5')]=_['defaults'](config[_0xdd9e('0x5')],{'host':_0xdd9e('0x6'),'port':0x18eb});var io=require(_0xdd9e('0x7'))(new Redis(config[_0xdd9e('0x5')]));function emit(_0x78abae,_0x56c292,_0x43557e,_0x431405,_0x13059b){logger['info'](_0xdd9e('0x8'),_0x78abae,_0x56c292['id'],_0x43557e,_0x431405,JSON[_0xdd9e('0x9')](_0x13059b));io['to'](_0x43557e)['emit'](_0x431405,_0x13059b);}exports[_0xdd9e('0xa')]=function(_0x42f131,_0xaa4d2,_0x21a5e3,_0x18b8c8){var _0x325fda,_0x132204;var _0x468105={};var _0x5c99f5=Number(_0x21a5e3[_0xdd9e('0xb')]);var _0x204cb7=_0x21a5e3[_0xdd9e('0xc')]?Boolean(Number(_0x21a5e3[_0xdd9e('0xc')])):![];var _0x3133d3;if(_0x18b8c8[_0xdd9e('0xd')]){_0x468105['id']=_0x18b8c8[_0xdd9e('0xd')];}if(!_0x468105['id']){_0x468105[_0xdd9e('0xe')]=_0x5c99f5;_0x3133d3=_0x21a5e3[_0xdd9e('0xf')]&&_0x21a5e3['data3']!=='0'?_0x21a5e3[_0xdd9e('0xf')]['split'](','):[_0xdd9e('0x10')];_0x468105[_0xdd9e('0x11')]=_[_0xdd9e('0x12')](_0x3133d3,function(_0x571043){var _0x50d860={};_0x50d860[_0x571043]=_0x18b8c8[_0xdd9e('0x13')]?_0x18b8c8['destcalleridnum']:_0x18b8c8[_0xdd9e('0x14')];return _0x50d860;});}var _0x87600b=['id',_0xdd9e('0x15'),_0xdd9e('0x16'),_0xdd9e('0x10'),_0xdd9e('0x17'),_0xdd9e('0x18'),'ListId','createdAt',_0xdd9e('0x19'),'updatedAt'];var _0x5167ea=_[_0xdd9e('0x1a')](_0x87600b,_0x3133d3);BPromise['resolve']()[_0xdd9e('0x1b')](cmContactRpc['getContacts']({'attributes':_0x5167ea,'where':_0x468105}))[_0xdd9e('0x1b')](function(_0x42962f){_0x132204=_0x42962f;if(!_[_0xdd9e('0x1c')](_0x132204)){if(_0x132204[_0xdd9e('0x1d')]===0x1){_0x325fda=_0x132204[0x0];logger[_0xdd9e('0x1e')]('[CM][%s][%s]\x20Contact\x20found:%s',_0x18b8c8['uniqueid'],_0xaa4d2['id'],_0x325fda['id']);}else{logger[_0xdd9e('0x1e')]('[CM][%s][%s]\x20Multiple\x20contacts\x20found:[%s]',_0x18b8c8[_0xdd9e('0x1f')],_0xaa4d2['id'],_[_0xdd9e('0x12')](_0x132204,'id')[_0xdd9e('0x20')](','));}return;}else{logger[_0xdd9e('0x1e')](_0xdd9e('0x21'),_0x18b8c8[_0xdd9e('0x1f')],_0xaa4d2['id']);var _0x3c8769={'ListId':_0x5c99f5};var _0x5cb146=_0x21a5e3[_0xdd9e('0x22')]&&_0x21a5e3[_0xdd9e('0x22')]!=='0'?_0x21a5e3[_0xdd9e('0x22')]:'phone';if(_0x204cb7){logger[_0xdd9e('0x1e')](_0xdd9e('0x23'),_0x18b8c8['uniqueid'],_0xaa4d2['id']);_0x3c8769[_0x5cb146]=_[_0xdd9e('0x24')](_0x18b8c8['routeId'])?_0x18b8c8[_0xdd9e('0x14')]:_0x18b8c8[_0xdd9e('0x25')];if(_[_0xdd9e('0x24')](_0x18b8c8[_0xdd9e('0x13')])){_0x3c8769[_0xdd9e('0x15')]=_0x18b8c8['calleridname']&&_0x18b8c8[_0xdd9e('0x26')]!==_0xdd9e('0x27')?_0x18b8c8[_0xdd9e('0x26')]:_0xdd9e('0x28');}else{_0x3c8769[_0xdd9e('0x15')]=_0x18b8c8['destcalleridname']&&_0x18b8c8[_0xdd9e('0x29')]!==_0xdd9e('0x27')?_0x18b8c8[_0xdd9e('0x29')]:_0xdd9e('0x28');}return BPromise[_0xdd9e('0x2a')]()[_0xdd9e('0x1b')](cmContactRpc[_0xdd9e('0x2b')](_0x3c8769))[_0xdd9e('0x1b')](function(_0x58cad7){_0x325fda=_0x58cad7;_0x132204['push'](_0x58cad7);if(_0x325fda){logger[_0xdd9e('0x1e')](_0xdd9e('0x2c'),_0x18b8c8[_0xdd9e('0x1f')],_0xaa4d2['id'],_0x325fda['id']);}return;});}else{logger['info'](_0xdd9e('0x2d'),_0x18b8c8['uniqueid'],_0xaa4d2['id']);_0x3c8769[_0x5cb146]=_['isNil'](_0x18b8c8[_0xdd9e('0x13')])?_0x18b8c8['calleridnum']:_0x18b8c8[_0xdd9e('0x25')];if(_[_0xdd9e('0x24')](_0x18b8c8[_0xdd9e('0x13')])){_0x3c8769[_0xdd9e('0x15')]=_0x18b8c8[_0xdd9e('0x26')]&&_0x18b8c8[_0xdd9e('0x26')]!==_0xdd9e('0x27')?_0x18b8c8[_0xdd9e('0x26')]:_0xdd9e('0x28');}else{_0x3c8769[_0xdd9e('0x15')]=_0x18b8c8[_0xdd9e('0x29')]&&_0x18b8c8[_0xdd9e('0x29')]!==_0xdd9e('0x27')?_0x18b8c8[_0xdd9e('0x29')]:_0xdd9e('0x28');}_0x325fda=_0x3c8769;_0x132204[_0xdd9e('0x2e')](_0x3c8769);return;}}})[_0xdd9e('0x1b')](function(){if(_0x42f131){emit(_0x18b8c8[_0xdd9e('0x1f')],_0xaa4d2,util['format'](_0xdd9e('0x2f'),_0x42f131[_0xdd9e('0x30')]),util['format'](_0xdd9e('0x31'),_0x21a5e3[_0xdd9e('0x32')][_0xdd9e('0x33')]()),{'evt':_[_0xdd9e('0x34')](_0x18b8c8,{'autoCreate':_0x204cb7}),'contact':_0x325fda===undefined?{}:_0x325fda,'contacts':_0x132204[_0xdd9e('0x1d')]===0x0?undefined:_0x132204});}});};