1f52413cee13746e3a8ee9621fec52bf4143c0e3
[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 _0x8f0a=['Unknown','destcalleridname','<unknown>','createContact','[CM][%s][%s]\x20Contact\x20created:%s','[CM][%s][%s]\x20Autocreate\x20disabled','push','format','trigger:%s','action','toLowerCase','merge','length','lodash','bluebird','ioredis','../../../../config/environment','../../../../config/logger','trigger','../../rpc/cmContact','redis','localhost','socket.io-emitter','info','stringify','emit','exec','data2','isNil','data5','xmd-contactid','ListId','data3','phone','$or','map','routeId','destcalleridnum','calleridnum','firstName','mobile','fax','createdAt','scheduledAt','updatedAt','resolve','then','isEmpty','[CM][%s][%s]\x20Contact\x20found:%s','uniqueid','[CM][%s][%s]\x20Multiple\x20contacts\x20found:[%s]','join','data4','[CM][%s][%s]\x20Autocreate\x20enabled','calleridname'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x8f0a,0x157));var _0xa8f0=function(_0x474d97,_0x5909ce){_0x474d97=_0x474d97-0x0;var _0x1edf25=_0x8f0a[_0x474d97];return _0x1edf25;};'use strict';var _=require(_0xa8f0('0x0'));var BPromise=require(_0xa8f0('0x1'));var Redis=require(_0xa8f0('0x2'));var util=require('util');var config=require(_0xa8f0('0x3'));var logger=require(_0xa8f0('0x4'))(_0xa8f0('0x5'));var cmContactRpc=require(_0xa8f0('0x6'));config[_0xa8f0('0x7')]=_['defaults'](config[_0xa8f0('0x7')],{'host':_0xa8f0('0x8'),'port':0x18eb});var io=require(_0xa8f0('0x9'))(new Redis(config[_0xa8f0('0x7')]));function emit(_0x233f2e,_0x53a740,_0x2e5920,_0x79f240,_0x2db575){logger[_0xa8f0('0xa')]('[CM][%s][%s]',_0x233f2e,_0x53a740['id'],_0x2e5920,_0x79f240,JSON[_0xa8f0('0xb')](_0x2db575));io['to'](_0x2e5920)[_0xa8f0('0xc')](_0x79f240,_0x2db575);}exports[_0xa8f0('0xd')]=function(_0x117159,_0x496d31,_0x9e8582,_0x2d541d){var _0x21daef,_0xc55fde;var _0x13808e={};var _0x231d6c;var _0x37e3a9=Number(_0x9e8582['data1']);var _0xc06516=_0x9e8582['data2']?Boolean(Number(_0x9e8582[_0xa8f0('0xe')])):![];var _0x190e38;var _0x58b9f2=![];if(!_[_0xa8f0('0xf')](_0x9e8582[_0xa8f0('0x10')])){if(_0x9e8582['data5']=='1')_0x58b9f2=!![];}if(!_0x58b9f2){if(_0x2d541d[_0xa8f0('0x11')]){_0x13808e['id']=_0x2d541d[_0xa8f0('0x11')];}}if(!_0x13808e['id']){_0x13808e[_0xa8f0('0x12')]=_0x37e3a9;_0x190e38=_0x9e8582[_0xa8f0('0x13')]&&_0x9e8582[_0xa8f0('0x13')]!=='0'?_0x9e8582[_0xa8f0('0x13')]['split'](','):[_0xa8f0('0x14')];_0x13808e[_0xa8f0('0x15')]=_[_0xa8f0('0x16')](_0x190e38,function(_0x595b43){var _0x1644a0={};_0x1644a0[_0x595b43]=_0x2d541d[_0xa8f0('0x17')]?_0x2d541d[_0xa8f0('0x18')]:_0x2d541d[_0xa8f0('0x19')];return _0x1644a0;});_0x231d6c=_0x2d541d['routeId']?_0x2d541d[_0xa8f0('0x18')]:_0x2d541d['calleridnum'];}var _0x10e3ca=['id',_0xa8f0('0x1a'),'lastName','phone',_0xa8f0('0x1b'),_0xa8f0('0x1c'),_0xa8f0('0x12'),_0xa8f0('0x1d'),_0xa8f0('0x1e'),_0xa8f0('0x1f')];var _0xa9ee68=_['union'](_0x10e3ca,_0x190e38);BPromise[_0xa8f0('0x20')]()[_0xa8f0('0x21')](cmContactRpc['getContacts']({'attributes':_0xa9ee68,'where':_0x13808e,'phone':_0x231d6c}))[_0xa8f0('0x21')](function(_0x5b8e7e){_0xc55fde=_0x5b8e7e;if(!_[_0xa8f0('0x22')](_0xc55fde)){if(_0xc55fde['length']===0x1){_0x21daef=_0xc55fde[0x0];logger[_0xa8f0('0xa')](_0xa8f0('0x23'),_0x2d541d[_0xa8f0('0x24')],_0x496d31['id'],_0x21daef['id']);}else{logger['info'](_0xa8f0('0x25'),_0x2d541d[_0xa8f0('0x24')],_0x496d31['id'],_['map'](_0xc55fde,'id')[_0xa8f0('0x26')](','));}return;}else{logger['info']('[CM][%s][%s]\x20Contact\x20not\x20found',_0x2d541d['uniqueid'],_0x496d31['id']);var _0x415e8a={'ListId':_0x37e3a9};var _0x104a99=_0x9e8582['data4']&&_0x9e8582[_0xa8f0('0x27')]!=='0'?_0x9e8582[_0xa8f0('0x27')]:_0xa8f0('0x14');if(_0xc06516){logger[_0xa8f0('0xa')](_0xa8f0('0x28'),_0x2d541d[_0xa8f0('0x24')],_0x496d31['id']);_0x415e8a[_0x104a99]=_[_0xa8f0('0xf')](_0x2d541d[_0xa8f0('0x17')])?_0x2d541d[_0xa8f0('0x19')]:_0x2d541d[_0xa8f0('0x18')];if(_[_0xa8f0('0xf')](_0x2d541d[_0xa8f0('0x17')])){_0x415e8a[_0xa8f0('0x1a')]=_0x2d541d['calleridname']&&_0x2d541d['calleridname']!=='<unknown>'?_0x2d541d[_0xa8f0('0x29')]:_0xa8f0('0x2a');}else{_0x415e8a[_0xa8f0('0x1a')]=_0x2d541d[_0xa8f0('0x2b')]&&_0x2d541d[_0xa8f0('0x2b')]!==_0xa8f0('0x2c')?_0x2d541d[_0xa8f0('0x2b')]:_0xa8f0('0x2a');}return BPromise[_0xa8f0('0x20')]()['then'](cmContactRpc[_0xa8f0('0x2d')](_0x415e8a))[_0xa8f0('0x21')](function(_0x5821d4){_0x21daef=_0x5821d4;_0xc55fde['push'](_0x5821d4);if(_0x21daef){logger['info'](_0xa8f0('0x2e'),_0x2d541d[_0xa8f0('0x24')],_0x496d31['id'],_0x21daef['id']);}return;});}else{logger[_0xa8f0('0xa')](_0xa8f0('0x2f'),_0x2d541d[_0xa8f0('0x24')],_0x496d31['id']);_0x415e8a[_0x104a99]=_[_0xa8f0('0xf')](_0x2d541d['routeId'])?_0x2d541d[_0xa8f0('0x19')]:_0x2d541d[_0xa8f0('0x18')];if(_[_0xa8f0('0xf')](_0x2d541d['routeId'])){_0x415e8a[_0xa8f0('0x1a')]=_0x2d541d[_0xa8f0('0x29')]&&_0x2d541d['calleridname']!==_0xa8f0('0x2c')?_0x2d541d[_0xa8f0('0x29')]:_0xa8f0('0x2a');}else{_0x415e8a[_0xa8f0('0x1a')]=_0x2d541d[_0xa8f0('0x2b')]&&_0x2d541d[_0xa8f0('0x2b')]!==_0xa8f0('0x2c')?_0x2d541d[_0xa8f0('0x2b')]:_0xa8f0('0x2a');}_0x21daef=_0x415e8a;_0xc55fde[_0xa8f0('0x30')](_0x415e8a);return;}}})[_0xa8f0('0x21')](function(){if(_0x117159){emit(_0x2d541d[_0xa8f0('0x24')],_0x496d31,util[_0xa8f0('0x31')]('user:%s',_0x117159['name']),util[_0xa8f0('0x31')](_0xa8f0('0x32'),_0x9e8582[_0xa8f0('0x33')][_0xa8f0('0x34')]()),{'evt':_[_0xa8f0('0x35')](_0x2d541d,{'autoCreate':_0xc06516}),'contact':_0x21daef===undefined?{}:_0x21daef,'contacts':_0xc55fde[_0xa8f0('0x36')]===0x0?undefined:_0xc55fde});}});};