Built motion from commit (unavailable).|2.5.14
[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 _0x5e95=['util','../../../../config/environment','../../../../config/logger','trigger','redis','defaults','socket.io-emitter','info','[CM][%s][%s]','stringify','emit','exec','data1','data2','xmd-contactid','ListId','data3','split','phone','$or','map','destcalleridnum','calleridnum','firstName','lastName','mobile','fax','createdAt','scheduledAt','updatedAt','union','resolve','then','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','calleridname','<unknown>','Unknown','destcalleridname','createContact','push','[CM][%s][%s]\x20Contact\x20created:%s','format','user:%s','action','toLowerCase','merge','lodash','bluebird','ioredis'];(function(_0x54d26e,_0x169876){var _0x5da276=function(_0x463b3e){while(--_0x463b3e){_0x54d26e['push'](_0x54d26e['shift']());}};_0x5da276(++_0x169876);}(_0x5e95,0x19a));var _0x55e9=function(_0x236aaa,_0x2a1f38){_0x236aaa=_0x236aaa-0x0;var _0x341724=_0x5e95[_0x236aaa];return _0x341724;};'use strict';var _=require(_0x55e9('0x0'));var BPromise=require(_0x55e9('0x1'));var Redis=require(_0x55e9('0x2'));var util=require(_0x55e9('0x3'));var config=require(_0x55e9('0x4'));var logger=require(_0x55e9('0x5'))(_0x55e9('0x6'));var cmContactRpc=require('../../rpc/cmContact');config[_0x55e9('0x7')]=_[_0x55e9('0x8')](config[_0x55e9('0x7')],{'host':'localhost','port':0x18eb});var io=require(_0x55e9('0x9'))(new Redis(config[_0x55e9('0x7')]));function emit(_0x2efe48,_0x30541a,_0x5d1b88,_0x201041,_0x4a10c5){logger[_0x55e9('0xa')](_0x55e9('0xb'),_0x2efe48,_0x30541a['id'],_0x5d1b88,_0x201041,JSON[_0x55e9('0xc')](_0x4a10c5));io['to'](_0x5d1b88)[_0x55e9('0xd')](_0x201041,_0x4a10c5);}exports[_0x55e9('0xe')]=function(_0x3a7288,_0x278a2c,_0x7d4f9e,_0x5a4809){var _0x54406e,_0x80716f;var _0x47f323={};var _0x1ddd10=Number(_0x7d4f9e[_0x55e9('0xf')]);var _0x1d6b49=_0x7d4f9e[_0x55e9('0x10')]?Boolean(Number(_0x7d4f9e[_0x55e9('0x10')])):![];var _0x32a0e5;if(_0x5a4809[_0x55e9('0x11')]){_0x47f323['id']=_0x5a4809[_0x55e9('0x11')];}if(!_0x47f323['id']){_0x47f323[_0x55e9('0x12')]=_0x1ddd10;_0x32a0e5=_0x7d4f9e[_0x55e9('0x13')]&&_0x7d4f9e[_0x55e9('0x13')]!=='0'?_0x7d4f9e['data3'][_0x55e9('0x14')](','):[_0x55e9('0x15')];_0x47f323[_0x55e9('0x16')]=_[_0x55e9('0x17')](_0x32a0e5,function(_0x44e157){var _0x1af860={};_0x1af860[_0x44e157]=_0x5a4809['routeId']?_0x5a4809[_0x55e9('0x18')]:_0x5a4809[_0x55e9('0x19')];return _0x1af860;});}var _0x22ffbb=['id',_0x55e9('0x1a'),_0x55e9('0x1b'),_0x55e9('0x15'),_0x55e9('0x1c'),_0x55e9('0x1d'),_0x55e9('0x12'),_0x55e9('0x1e'),_0x55e9('0x1f'),_0x55e9('0x20')];var _0x48f00c=_[_0x55e9('0x21')](_0x22ffbb,_0x32a0e5);BPromise[_0x55e9('0x22')]()[_0x55e9('0x23')](cmContactRpc['getContacts']({'attributes':_0x48f00c,'where':_0x47f323}))[_0x55e9('0x23')](function(_0x155698){_0x80716f=_0x155698;if(!_[_0x55e9('0x24')](_0x80716f)){if(_0x80716f[_0x55e9('0x25')]===0x1){_0x54406e=_0x80716f[0x0];logger[_0x55e9('0xa')](_0x55e9('0x26'),_0x5a4809[_0x55e9('0x27')],_0x278a2c['id'],_0x54406e['id']);}else{logger['info'](_0x55e9('0x28'),_0x5a4809[_0x55e9('0x27')],_0x278a2c['id'],_[_0x55e9('0x17')](_0x80716f,'id')[_0x55e9('0x29')](','));}return;}else{logger['info'](_0x55e9('0x2a'),_0x5a4809[_0x55e9('0x27')],_0x278a2c['id']);var _0x38846e={'ListId':_0x1ddd10};var _0x2f7b95=_0x7d4f9e[_0x55e9('0x2b')]&&_0x7d4f9e['data4']!=='0'?_0x7d4f9e[_0x55e9('0x2b')]:_0x55e9('0x15');if(_0x1d6b49){logger[_0x55e9('0xa')](_0x55e9('0x2c'),_0x5a4809[_0x55e9('0x27')],_0x278a2c['id']);_0x38846e[_0x2f7b95]=_[_0x55e9('0x2d')](_0x5a4809[_0x55e9('0x2e')])?_0x5a4809[_0x55e9('0x19')]:_0x5a4809[_0x55e9('0x18')];if(_[_0x55e9('0x2d')](_0x5a4809[_0x55e9('0x2e')])){_0x38846e[_0x55e9('0x1a')]=_0x5a4809['calleridname']&&_0x5a4809[_0x55e9('0x2f')]!==_0x55e9('0x30')?_0x5a4809['calleridname']:_0x55e9('0x31');}else{_0x38846e[_0x55e9('0x1a')]=_0x5a4809[_0x55e9('0x32')]&&_0x5a4809['destcalleridname']!==_0x55e9('0x30')?_0x5a4809[_0x55e9('0x32')]:_0x55e9('0x31');}return BPromise['resolve']()[_0x55e9('0x23')](cmContactRpc[_0x55e9('0x33')](_0x38846e))[_0x55e9('0x23')](function(_0xda1702){_0x54406e=_0xda1702;_0x80716f[_0x55e9('0x34')](_0xda1702);if(_0x54406e){logger['info'](_0x55e9('0x35'),_0x5a4809[_0x55e9('0x27')],_0x278a2c['id'],_0x54406e['id']);}return;});}else{logger[_0x55e9('0xa')]('[CM][%s][%s]\x20Autocreate\x20disabled',_0x5a4809[_0x55e9('0x27')],_0x278a2c['id']);_0x38846e[_0x2f7b95]=_[_0x55e9('0x2d')](_0x5a4809[_0x55e9('0x2e')])?_0x5a4809['calleridnum']:_0x5a4809['destcalleridnum'];if(_[_0x55e9('0x2d')](_0x5a4809[_0x55e9('0x2e')])){_0x38846e[_0x55e9('0x1a')]=_0x5a4809[_0x55e9('0x2f')]&&_0x5a4809['calleridname']!==_0x55e9('0x30')?_0x5a4809[_0x55e9('0x2f')]:_0x55e9('0x31');}else{_0x38846e[_0x55e9('0x1a')]=_0x5a4809[_0x55e9('0x32')]&&_0x5a4809[_0x55e9('0x32')]!==_0x55e9('0x30')?_0x5a4809[_0x55e9('0x32')]:_0x55e9('0x31');}_0x54406e=_0x38846e;_0x80716f[_0x55e9('0x34')](_0x38846e);return;}}})[_0x55e9('0x23')](function(){if(_0x3a7288){emit(_0x5a4809[_0x55e9('0x27')],_0x278a2c,util[_0x55e9('0x36')](_0x55e9('0x37'),_0x3a7288['name']),util[_0x55e9('0x36')]('trigger:%s',_0x7d4f9e[_0x55e9('0x38')][_0x55e9('0x39')]()),{'evt':_[_0x55e9('0x3a')](_0x5a4809,{'autoCreate':_0x1d6b49}),'contact':_0x54406e===undefined?{}:_0x54406e,'contacts':_0x80716f[_0x55e9('0x25')]===0x0?undefined:_0x80716f});}});};