Built motion from commit 25580385.|2.6.2
[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 _0xa914=['uniqueid','data4','[CM][%s][%s]\x20Autocreate\x20enabled','calleridname','<unknown>','destcalleridname','Unknown','createContact','push','[CM][%s][%s]\x20Contact\x20created:%s','[CM][%s][%s]\x20Autocreate\x20disabled','format','name','trigger:%s','action','merge','length','bluebird','ioredis','util','../../../../config/environment','../../../../config/logger','trigger','../../rpc/cmContact','redis','defaults','socket.io-emitter','info','[CM][%s][%s]','stringify','emit','exec','data1','data2','isNil','data5','xmd-contactid','data3','split','$or','map','routeId','destcalleridnum','calleridnum','firstName','lastName','phone','createdAt','scheduledAt','updatedAt','resolve','then','getContacts','isEmpty','[CM][%s][%s]\x20Contact\x20found:%s','join','[CM][%s][%s]\x20Contact\x20not\x20found'];(function(_0x5d80de,_0x2cf15d){var _0x1c7556=function(_0x5bd806){while(--_0x5bd806){_0x5d80de['push'](_0x5d80de['shift']());}};_0x1c7556(++_0x2cf15d);}(_0xa914,0x83));var _0x4a91=function(_0x1aa88f,_0x3b186f){_0x1aa88f=_0x1aa88f-0x0;var _0x3e0b82=_0xa914[_0x1aa88f];return _0x3e0b82;};'use strict';var _=require('lodash');var BPromise=require(_0x4a91('0x0'));var Redis=require(_0x4a91('0x1'));var util=require(_0x4a91('0x2'));var config=require(_0x4a91('0x3'));var logger=require(_0x4a91('0x4'))(_0x4a91('0x5'));var cmContactRpc=require(_0x4a91('0x6'));config[_0x4a91('0x7')]=_[_0x4a91('0x8')](config['redis'],{'host':'localhost','port':0x18eb});var io=require(_0x4a91('0x9'))(new Redis(config['redis']));function emit(_0x358001,_0x5e230e,_0x5c5ec2,_0x109a98,_0x2033bc){logger[_0x4a91('0xa')](_0x4a91('0xb'),_0x358001,_0x5e230e['id'],_0x5c5ec2,_0x109a98,JSON[_0x4a91('0xc')](_0x2033bc));io['to'](_0x5c5ec2)[_0x4a91('0xd')](_0x109a98,_0x2033bc);}exports[_0x4a91('0xe')]=function(_0x2fd087,_0x535116,_0x13f806,_0xa21714){var _0x1db064,_0x4daa4d;var _0x246e6b={};var _0x4c97cc;var _0x53d17d=Number(_0x13f806[_0x4a91('0xf')]);var _0x22da39=_0x13f806[_0x4a91('0x10')]?Boolean(Number(_0x13f806['data2'])):![];var _0x5262a0;var _0x4838a5=![];if(!_[_0x4a91('0x11')](_0x13f806['data5'])){if(_0x13f806[_0x4a91('0x12')]=='1')_0x4838a5=!![];}if(!_0x4838a5){if(_0xa21714[_0x4a91('0x13')]){_0x246e6b['id']=_0xa21714[_0x4a91('0x13')];}}if(!_0x246e6b['id']){_0x246e6b['ListId']=_0x53d17d;_0x5262a0=_0x13f806[_0x4a91('0x14')]&&_0x13f806[_0x4a91('0x14')]!=='0'?_0x13f806[_0x4a91('0x14')][_0x4a91('0x15')](','):['phone'];_0x246e6b[_0x4a91('0x16')]=_[_0x4a91('0x17')](_0x5262a0,function(_0x66e667){var _0xe0bf4a={};_0xe0bf4a[_0x66e667]=_0xa21714[_0x4a91('0x18')]?_0xa21714[_0x4a91('0x19')]:_0xa21714[_0x4a91('0x1a')];return _0xe0bf4a;});_0x4c97cc=_0xa21714[_0x4a91('0x18')]?_0xa21714['destcalleridnum']:_0xa21714[_0x4a91('0x1a')];}var _0x3ef1e3=['id',_0x4a91('0x1b'),_0x4a91('0x1c'),_0x4a91('0x1d'),'mobile','fax','ListId',_0x4a91('0x1e'),_0x4a91('0x1f'),_0x4a91('0x20')];var _0xcec6a6=_['union'](_0x3ef1e3,_0x5262a0);BPromise[_0x4a91('0x21')]()[_0x4a91('0x22')](cmContactRpc[_0x4a91('0x23')]({'attributes':_0xcec6a6,'where':_0x246e6b,'phone':_0x4c97cc}))[_0x4a91('0x22')](function(_0x34dbbb){_0x4daa4d=_0x34dbbb;if(!_[_0x4a91('0x24')](_0x4daa4d)){if(_0x4daa4d['length']===0x1){_0x1db064=_0x4daa4d[0x0];logger[_0x4a91('0xa')](_0x4a91('0x25'),_0xa21714['uniqueid'],_0x535116['id'],_0x1db064['id']);}else{logger['info']('[CM][%s][%s]\x20Multiple\x20contacts\x20found:[%s]',_0xa21714['uniqueid'],_0x535116['id'],_['map'](_0x4daa4d,'id')[_0x4a91('0x26')](','));}return;}else{logger[_0x4a91('0xa')](_0x4a91('0x27'),_0xa21714[_0x4a91('0x28')],_0x535116['id']);var _0x1df1ca={'ListId':_0x53d17d};var _0x296ddb=_0x13f806[_0x4a91('0x29')]&&_0x13f806[_0x4a91('0x29')]!=='0'?_0x13f806[_0x4a91('0x29')]:_0x4a91('0x1d');if(_0x22da39){logger[_0x4a91('0xa')](_0x4a91('0x2a'),_0xa21714[_0x4a91('0x28')],_0x535116['id']);_0x1df1ca[_0x296ddb]=_['isNil'](_0xa21714[_0x4a91('0x18')])?_0xa21714[_0x4a91('0x1a')]:_0xa21714[_0x4a91('0x19')];if(_[_0x4a91('0x11')](_0xa21714['routeId'])){_0x1df1ca['firstName']=_0xa21714[_0x4a91('0x2b')]&&_0xa21714['calleridname']!==_0x4a91('0x2c')?_0xa21714[_0x4a91('0x2b')]:'Unknown';}else{_0x1df1ca[_0x4a91('0x1b')]=_0xa21714[_0x4a91('0x2d')]&&_0xa21714['destcalleridname']!=='<unknown>'?_0xa21714[_0x4a91('0x2d')]:_0x4a91('0x2e');}return BPromise['resolve']()[_0x4a91('0x22')](cmContactRpc[_0x4a91('0x2f')](_0x1df1ca))[_0x4a91('0x22')](function(_0x2d7e29){_0x1db064=_0x2d7e29;_0x4daa4d[_0x4a91('0x30')](_0x2d7e29);if(_0x1db064){logger[_0x4a91('0xa')](_0x4a91('0x31'),_0xa21714[_0x4a91('0x28')],_0x535116['id'],_0x1db064['id']);}return;});}else{logger[_0x4a91('0xa')](_0x4a91('0x32'),_0xa21714['uniqueid'],_0x535116['id']);_0x1df1ca[_0x296ddb]=_['isNil'](_0xa21714[_0x4a91('0x18')])?_0xa21714[_0x4a91('0x1a')]:_0xa21714[_0x4a91('0x19')];if(_[_0x4a91('0x11')](_0xa21714[_0x4a91('0x18')])){_0x1df1ca['firstName']=_0xa21714[_0x4a91('0x2b')]&&_0xa21714[_0x4a91('0x2b')]!==_0x4a91('0x2c')?_0xa21714[_0x4a91('0x2b')]:_0x4a91('0x2e');}else{_0x1df1ca[_0x4a91('0x1b')]=_0xa21714[_0x4a91('0x2d')]&&_0xa21714[_0x4a91('0x2d')]!=='<unknown>'?_0xa21714['destcalleridname']:_0x4a91('0x2e');}_0x1db064=_0x1df1ca;_0x4daa4d[_0x4a91('0x30')](_0x1df1ca);return;}}})[_0x4a91('0x22')](function(){if(_0x2fd087){emit(_0xa21714[_0x4a91('0x28')],_0x535116,util[_0x4a91('0x33')]('user:%s',_0x2fd087[_0x4a91('0x34')]),util['format'](_0x4a91('0x35'),_0x13f806[_0x4a91('0x36')]['toLowerCase']()),{'evt':_[_0x4a91('0x37')](_0xa21714,{'autoCreate':_0x22da39}),'contact':_0x1db064===undefined?{}:_0x1db064,'contacts':_0x4daa4d[_0x4a91('0x38')]===0x0?undefined:_0x4daa4d});}});};