Built motion from commit ffdca78c.|2.6.24
[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 _0x93cc=['xmd-contactid','data3','split','phone','$or','map','routeId','destcalleridnum','calleridnum','firstName','lastName','mobile','fax','createdAt','scheduledAt','union','resolve','getContacts','then','isEmpty','length','[CM][%s][%s]\x20Contact\x20found:%s','uniqueid','[CM][%s][%s]\x20Multiple\x20contacts\x20found:[%s]','data4','[CM][%s][%s]\x20Autocreate\x20enabled','calleridname','<unknown>','destcalleridname','createContact','push','[CM][%s][%s]\x20Contact\x20created:%s','Unknown','format','user:%s','name','action','toLowerCase','lodash','bluebird','../../../../config/environment','../../../../config/logger','trigger','../../rpc/cmContact','redis','socket.io-emitter','info','[CM][%s][%s]','exec','data1','data2','isNil','data5'];(function(_0x4d7379,_0x4b4e63){var _0x46d7cf=function(_0x53f5f0){while(--_0x53f5f0){_0x4d7379['push'](_0x4d7379['shift']());}};_0x46d7cf(++_0x4b4e63);}(_0x93cc,0x90));var _0xc93c=function(_0x5ea0da,_0x581fc5){_0x5ea0da=_0x5ea0da-0x0;var _0x23762e=_0x93cc[_0x5ea0da];return _0x23762e;};'use strict';var _=require(_0xc93c('0x0'));var BPromise=require(_0xc93c('0x1'));var Redis=require('ioredis');var util=require('util');var config=require(_0xc93c('0x2'));var logger=require(_0xc93c('0x3'))(_0xc93c('0x4'));var cmContactRpc=require(_0xc93c('0x5'));config[_0xc93c('0x6')]=_['defaults'](config['redis'],{'host':'localhost','port':0x18eb});var io=require(_0xc93c('0x7'))(new Redis(config[_0xc93c('0x6')]));function emit(_0xed1201,_0x2a30b7,_0x2255b3,_0x1b4e21,_0x4d8aad){logger[_0xc93c('0x8')](_0xc93c('0x9'),_0xed1201,_0x2a30b7['id'],_0x2255b3,_0x1b4e21,JSON['stringify'](_0x4d8aad));io['to'](_0x2255b3)['emit'](_0x1b4e21,_0x4d8aad);}exports[_0xc93c('0xa')]=function(_0x20851d,_0x50c667,_0x5eef92,_0x14a8b2){var _0x356465,_0x41049d;var _0x3713e5={};var _0x4cd9bf;var _0x5a4148=Number(_0x5eef92[_0xc93c('0xb')]);var _0x3aba6a=_0x5eef92[_0xc93c('0xc')]?Boolean(Number(_0x5eef92['data2'])):![];var _0x207cbd;var _0x5004f7=![];if(!_[_0xc93c('0xd')](_0x5eef92['data5'])){if(_0x5eef92[_0xc93c('0xe')]=='1')_0x5004f7=!![];}if(!_0x5004f7){if(_0x14a8b2[_0xc93c('0xf')]){_0x3713e5['id']=_0x14a8b2[_0xc93c('0xf')];}}if(!_0x3713e5['id']){_0x3713e5['ListId']=_0x5a4148;_0x207cbd=_0x5eef92[_0xc93c('0x10')]&&_0x5eef92[_0xc93c('0x10')]!=='0'?_0x5eef92[_0xc93c('0x10')][_0xc93c('0x11')](','):[_0xc93c('0x12')];_0x3713e5[_0xc93c('0x13')]=_[_0xc93c('0x14')](_0x207cbd,function(_0x30d94a){var _0x3187f5={};_0x3187f5[_0x30d94a]=_0x14a8b2[_0xc93c('0x15')]?_0x14a8b2[_0xc93c('0x16')]:_0x14a8b2[_0xc93c('0x17')];return _0x3187f5;});_0x4cd9bf=_0x14a8b2[_0xc93c('0x15')]?_0x14a8b2['destcalleridnum']:_0x14a8b2['calleridnum'];}var _0x548dff=['id',_0xc93c('0x18'),_0xc93c('0x19'),_0xc93c('0x12'),_0xc93c('0x1a'),_0xc93c('0x1b'),'ListId',_0xc93c('0x1c'),_0xc93c('0x1d'),'updatedAt'];var _0x1be8cc=_[_0xc93c('0x1e')](_0x548dff,_0x207cbd);BPromise[_0xc93c('0x1f')]()['then'](cmContactRpc[_0xc93c('0x20')]({'attributes':_0x1be8cc,'where':_0x3713e5,'phone':_0x4cd9bf}))[_0xc93c('0x21')](function(_0x1f67c7){_0x41049d=_0x1f67c7;if(!_[_0xc93c('0x22')](_0x41049d)){if(_0x41049d[_0xc93c('0x23')]===0x1){_0x356465=_0x41049d[0x0];logger['info'](_0xc93c('0x24'),_0x14a8b2[_0xc93c('0x25')],_0x50c667['id'],_0x356465['id']);}else{logger['info'](_0xc93c('0x26'),_0x14a8b2['uniqueid'],_0x50c667['id'],_[_0xc93c('0x14')](_0x41049d,'id')['join'](','));}return;}else{logger[_0xc93c('0x8')]('[CM][%s][%s]\x20Contact\x20not\x20found',_0x14a8b2['uniqueid'],_0x50c667['id']);var _0x3d0684={'ListId':_0x5a4148};var _0x3815a0=_0x5eef92['data4']&&_0x5eef92['data4']!=='0'?_0x5eef92[_0xc93c('0x27')]:_0xc93c('0x12');if(_0x3aba6a){logger[_0xc93c('0x8')](_0xc93c('0x28'),_0x14a8b2[_0xc93c('0x25')],_0x50c667['id']);_0x3d0684[_0x3815a0]=_[_0xc93c('0xd')](_0x14a8b2[_0xc93c('0x15')])?_0x14a8b2['calleridnum']:_0x14a8b2[_0xc93c('0x16')];if(_['isNil'](_0x14a8b2['routeId'])){_0x3d0684[_0xc93c('0x18')]=_0x14a8b2[_0xc93c('0x29')]&&_0x14a8b2[_0xc93c('0x29')]!==_0xc93c('0x2a')?_0x14a8b2[_0xc93c('0x29')]:'Unknown';}else{_0x3d0684['firstName']=_0x14a8b2[_0xc93c('0x2b')]&&_0x14a8b2['destcalleridname']!==_0xc93c('0x2a')?_0x14a8b2[_0xc93c('0x2b')]:'Unknown';}return BPromise[_0xc93c('0x1f')]()[_0xc93c('0x21')](cmContactRpc[_0xc93c('0x2c')](_0x3d0684))[_0xc93c('0x21')](function(_0x3ffc82){_0x356465=_0x3ffc82;_0x41049d[_0xc93c('0x2d')](_0x3ffc82);if(_0x356465){logger[_0xc93c('0x8')](_0xc93c('0x2e'),_0x14a8b2[_0xc93c('0x25')],_0x50c667['id'],_0x356465['id']);}return;});}else{logger[_0xc93c('0x8')]('[CM][%s][%s]\x20Autocreate\x20disabled',_0x14a8b2[_0xc93c('0x25')],_0x50c667['id']);_0x3d0684[_0x3815a0]=_[_0xc93c('0xd')](_0x14a8b2[_0xc93c('0x15')])?_0x14a8b2[_0xc93c('0x17')]:_0x14a8b2[_0xc93c('0x16')];if(_['isNil'](_0x14a8b2['routeId'])){_0x3d0684[_0xc93c('0x18')]=_0x14a8b2[_0xc93c('0x29')]&&_0x14a8b2[_0xc93c('0x29')]!=='<unknown>'?_0x14a8b2[_0xc93c('0x29')]:'Unknown';}else{_0x3d0684[_0xc93c('0x18')]=_0x14a8b2['destcalleridname']&&_0x14a8b2[_0xc93c('0x2b')]!=='<unknown>'?_0x14a8b2['destcalleridname']:_0xc93c('0x2f');}_0x356465=_0x3d0684;_0x41049d['push'](_0x3d0684);return;}}})[_0xc93c('0x21')](function(){if(_0x20851d){emit(_0x14a8b2[_0xc93c('0x25')],_0x50c667,util[_0xc93c('0x30')](_0xc93c('0x31'),_0x20851d[_0xc93c('0x32')]),util[_0xc93c('0x30')]('trigger:%s',_0x5eef92[_0xc93c('0x33')][_0xc93c('0x34')]()),{'evt':_['merge'](_0x14a8b2,{'autoCreate':_0x3aba6a}),'contact':_0x356465===undefined?{}:_0x356465,'contacts':_0x41049d[_0xc93c('0x23')]===0x0?undefined:_0x41049d});}});};