Built motion from commit 97153652.|2.6.26
[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 _0xb8ed=['xmd-contactid','ListId','data3','phone','$or','destcalleridnum','calleridnum','lastName','mobile','fax','createdAt','scheduledAt','union','resolve','then','isEmpty','length','[CM][%s][%s]\x20Multiple\x20contacts\x20found:[%s]','uniqueid','map','[CM][%s][%s]\x20Contact\x20not\x20found','data4','[CM][%s][%s]\x20Autocreate\x20enabled','routeId','firstName','calleridname','<unknown>','Unknown','destcalleridname','createContact','push','[CM][%s][%s]\x20Contact\x20created:%s','[CM][%s][%s]\x20Autocreate\x20disabled','format','user:%s','trigger:%s','action','toLowerCase','merge','lodash','bluebird','util','../../../../config/logger','trigger','../../rpc/cmContact','redis','localhost','socket.io-emitter','info','[CM][%s][%s]','stringify','emit','exec','data1','isNil','data5'];(function(_0x183b10,_0x491d3d){var _0x19c46b=function(_0x3c3270){while(--_0x3c3270){_0x183b10['push'](_0x183b10['shift']());}};_0x19c46b(++_0x491d3d);}(_0xb8ed,0xcf));var _0xdb8e=function(_0x4dd757,_0x373c86){_0x4dd757=_0x4dd757-0x0;var _0x27e361=_0xb8ed[_0x4dd757];return _0x27e361;};'use strict';var _=require(_0xdb8e('0x0'));var BPromise=require(_0xdb8e('0x1'));var Redis=require('ioredis');var util=require(_0xdb8e('0x2'));var config=require('../../../../config/environment');var logger=require(_0xdb8e('0x3'))(_0xdb8e('0x4'));var cmContactRpc=require(_0xdb8e('0x5'));config['redis']=_['defaults'](config[_0xdb8e('0x6')],{'host':_0xdb8e('0x7'),'port':0x18eb});var io=require(_0xdb8e('0x8'))(new Redis(config['redis']));function emit(_0x4ffd58,_0x80e08,_0x43dc95,_0x26c00f,_0x623e92){logger[_0xdb8e('0x9')](_0xdb8e('0xa'),_0x4ffd58,_0x80e08['id'],_0x43dc95,_0x26c00f,JSON[_0xdb8e('0xb')](_0x623e92));io['to'](_0x43dc95)[_0xdb8e('0xc')](_0x26c00f,_0x623e92);}exports[_0xdb8e('0xd')]=function(_0x47c625,_0xd32a96,_0x24eb27,_0x19ea45){var _0x508b94,_0x570b82;var _0x12f482={};var _0x304245;var _0x25c8b4=Number(_0x24eb27[_0xdb8e('0xe')]);var _0x184795=_0x24eb27['data2']?Boolean(Number(_0x24eb27['data2'])):![];var _0x4fae0d;var _0x2c1f7b=![];if(!_[_0xdb8e('0xf')](_0x24eb27[_0xdb8e('0x10')])){if(_0x24eb27[_0xdb8e('0x10')]=='1')_0x2c1f7b=!![];}if(!_0x2c1f7b){if(_0x19ea45['xmd-contactid']){_0x12f482['id']=_0x19ea45[_0xdb8e('0x11')];}}if(!_0x12f482['id']){_0x12f482[_0xdb8e('0x12')]=_0x25c8b4;_0x4fae0d=_0x24eb27[_0xdb8e('0x13')]&&_0x24eb27['data3']!=='0'?_0x24eb27[_0xdb8e('0x13')]['split'](','):[_0xdb8e('0x14')];_0x12f482[_0xdb8e('0x15')]=_['map'](_0x4fae0d,function(_0x13eab9){var _0xc3069a={};_0xc3069a[_0x13eab9]=_0x19ea45['routeId']?_0x19ea45[_0xdb8e('0x16')]:_0x19ea45[_0xdb8e('0x17')];return _0xc3069a;});_0x304245=_0x19ea45['routeId']?_0x19ea45[_0xdb8e('0x16')]:_0x19ea45[_0xdb8e('0x17')];}var _0x1df724=['id','firstName',_0xdb8e('0x18'),_0xdb8e('0x14'),_0xdb8e('0x19'),_0xdb8e('0x1a'),_0xdb8e('0x12'),_0xdb8e('0x1b'),_0xdb8e('0x1c'),'updatedAt'];var _0x2868d5=_[_0xdb8e('0x1d')](_0x1df724,_0x4fae0d);BPromise[_0xdb8e('0x1e')]()[_0xdb8e('0x1f')](cmContactRpc['getContacts']({'attributes':_0x2868d5,'where':_0x12f482,'phone':_0x304245}))['then'](function(_0x576773){_0x570b82=_0x576773;if(!_[_0xdb8e('0x20')](_0x570b82)){if(_0x570b82[_0xdb8e('0x21')]===0x1){_0x508b94=_0x570b82[0x0];logger[_0xdb8e('0x9')]('[CM][%s][%s]\x20Contact\x20found:%s',_0x19ea45['uniqueid'],_0xd32a96['id'],_0x508b94['id']);}else{logger[_0xdb8e('0x9')](_0xdb8e('0x22'),_0x19ea45[_0xdb8e('0x23')],_0xd32a96['id'],_[_0xdb8e('0x24')](_0x570b82,'id')['join'](','));}return;}else{logger[_0xdb8e('0x9')](_0xdb8e('0x25'),_0x19ea45['uniqueid'],_0xd32a96['id']);var _0x58db78={'ListId':_0x25c8b4};var _0x312830=_0x24eb27['data4']&&_0x24eb27['data4']!=='0'?_0x24eb27[_0xdb8e('0x26')]:_0xdb8e('0x14');if(_0x184795){logger['info'](_0xdb8e('0x27'),_0x19ea45[_0xdb8e('0x23')],_0xd32a96['id']);_0x58db78[_0x312830]=_[_0xdb8e('0xf')](_0x19ea45[_0xdb8e('0x28')])?_0x19ea45[_0xdb8e('0x17')]:_0x19ea45['destcalleridnum'];if(_[_0xdb8e('0xf')](_0x19ea45[_0xdb8e('0x28')])){_0x58db78[_0xdb8e('0x29')]=_0x19ea45[_0xdb8e('0x2a')]&&_0x19ea45[_0xdb8e('0x2a')]!==_0xdb8e('0x2b')?_0x19ea45[_0xdb8e('0x2a')]:_0xdb8e('0x2c');}else{_0x58db78[_0xdb8e('0x29')]=_0x19ea45['destcalleridname']&&_0x19ea45[_0xdb8e('0x2d')]!=='<unknown>'?_0x19ea45[_0xdb8e('0x2d')]:_0xdb8e('0x2c');}return BPromise['resolve']()[_0xdb8e('0x1f')](cmContactRpc[_0xdb8e('0x2e')](_0x58db78))[_0xdb8e('0x1f')](function(_0x1567ad){_0x508b94=_0x1567ad;_0x570b82[_0xdb8e('0x2f')](_0x1567ad);if(_0x508b94){logger[_0xdb8e('0x9')](_0xdb8e('0x30'),_0x19ea45[_0xdb8e('0x23')],_0xd32a96['id'],_0x508b94['id']);}return;});}else{logger[_0xdb8e('0x9')](_0xdb8e('0x31'),_0x19ea45[_0xdb8e('0x23')],_0xd32a96['id']);_0x58db78[_0x312830]=_['isNil'](_0x19ea45[_0xdb8e('0x28')])?_0x19ea45[_0xdb8e('0x17')]:_0x19ea45[_0xdb8e('0x16')];if(_[_0xdb8e('0xf')](_0x19ea45[_0xdb8e('0x28')])){_0x58db78['firstName']=_0x19ea45[_0xdb8e('0x2a')]&&_0x19ea45[_0xdb8e('0x2a')]!=='<unknown>'?_0x19ea45[_0xdb8e('0x2a')]:_0xdb8e('0x2c');}else{_0x58db78[_0xdb8e('0x29')]=_0x19ea45[_0xdb8e('0x2d')]&&_0x19ea45['destcalleridname']!==_0xdb8e('0x2b')?_0x19ea45[_0xdb8e('0x2d')]:_0xdb8e('0x2c');}_0x508b94=_0x58db78;_0x570b82['push'](_0x58db78);return;}}})[_0xdb8e('0x1f')](function(){if(_0x47c625){emit(_0x19ea45[_0xdb8e('0x23')],_0xd32a96,util[_0xdb8e('0x32')](_0xdb8e('0x33'),_0x47c625['name']),util[_0xdb8e('0x32')](_0xdb8e('0x34'),_0x24eb27[_0xdb8e('0x35')][_0xdb8e('0x36')]()),{'evt':_[_0xdb8e('0x37')](_0x19ea45,{'autoCreate':_0x184795}),'contact':_0x508b94===undefined?{}:_0x508b94,'contacts':_0x570b82[_0xdb8e('0x21')]===0x0?undefined:_0x570b82});}});};