72d7cb1af2226b86dc4130e1b2ac478f4e1e5b0c
[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 _0x844d=['Unknown','destcalleridname','resolve','createContact','[CM][%s][%s]\x20Autocreate\x20disabled','format','user:%s','name','trigger:%s','action','toLowerCase','merge','bluebird','util','trigger','../../rpc/cmContact','redis','defaults','localhost','socket.io-emitter','info','[CM][%s][%s]','stringify','emit','exec','data2','data5','xmd-contactid','data3','$or','map','routeId','destcalleridnum','calleridnum','firstName','lastName','mobile','fax','ListId','createdAt','scheduledAt','updatedAt','union','getContacts','then','isEmpty','[CM][%s][%s]\x20Contact\x20found:%s','uniqueid','join','[CM][%s][%s]\x20Contact\x20not\x20found','data4','phone','[CM][%s][%s]\x20Autocreate\x20enabled','isNil','calleridname','<unknown>'];(function(_0x50aa2e,_0xfbd6f0){var _0x5e07f0=function(_0x3ed540){while(--_0x3ed540){_0x50aa2e['push'](_0x50aa2e['shift']());}};_0x5e07f0(++_0xfbd6f0);}(_0x844d,0xec));var _0xd844=function(_0x23b85e,_0x39b209){_0x23b85e=_0x23b85e-0x0;var _0x329756=_0x844d[_0x23b85e];return _0x329756;};'use strict';var _=require('lodash');var BPromise=require(_0xd844('0x0'));var Redis=require('ioredis');var util=require(_0xd844('0x1'));var config=require('../../../../config/environment');var logger=require('../../../../config/logger')(_0xd844('0x2'));var cmContactRpc=require(_0xd844('0x3'));config[_0xd844('0x4')]=_[_0xd844('0x5')](config[_0xd844('0x4')],{'host':_0xd844('0x6'),'port':0x18eb});var io=require(_0xd844('0x7'))(new Redis(config[_0xd844('0x4')]));function emit(_0x389e21,_0x4d995f,_0x204ff2,_0x1186b0,_0x35fc5b){logger[_0xd844('0x8')](_0xd844('0x9'),_0x389e21,_0x4d995f['id'],_0x204ff2,_0x1186b0,JSON[_0xd844('0xa')](_0x35fc5b));io['to'](_0x204ff2)[_0xd844('0xb')](_0x1186b0,_0x35fc5b);}exports[_0xd844('0xc')]=function(_0x32e309,_0x242412,_0x515d3a,_0x27382c){var _0x14ed7d,_0x11e14c;var _0x39e000={};var _0x3905a1;var _0x5e3773=Number(_0x515d3a['data1']);var _0x152ced=_0x515d3a[_0xd844('0xd')]?Boolean(Number(_0x515d3a[_0xd844('0xd')])):![];var _0x5a4133;var _0x36cc42=![];if(!_['isNil'](_0x515d3a[_0xd844('0xe')])){if(_0x515d3a[_0xd844('0xe')]=='1')_0x36cc42=!![];}if(!_0x36cc42){if(_0x27382c[_0xd844('0xf')]){_0x39e000['id']=_0x27382c[_0xd844('0xf')];}}if(!_0x39e000['id']){_0x39e000['ListId']=_0x5e3773;_0x5a4133=_0x515d3a[_0xd844('0x10')]&&_0x515d3a[_0xd844('0x10')]!=='0'?_0x515d3a[_0xd844('0x10')]['split'](','):['phone'];_0x39e000[_0xd844('0x11')]=_[_0xd844('0x12')](_0x5a4133,function(_0x37cebb){var _0x1a87de={};_0x1a87de[_0x37cebb]=_0x27382c[_0xd844('0x13')]?_0x27382c[_0xd844('0x14')]:_0x27382c[_0xd844('0x15')];return _0x1a87de;});_0x3905a1=_0x27382c[_0xd844('0x13')]?_0x27382c[_0xd844('0x14')]:_0x27382c[_0xd844('0x15')];}var _0x3298cc=['id',_0xd844('0x16'),_0xd844('0x17'),'phone',_0xd844('0x18'),_0xd844('0x19'),_0xd844('0x1a'),_0xd844('0x1b'),_0xd844('0x1c'),_0xd844('0x1d')];var _0x4286bc=_[_0xd844('0x1e')](_0x3298cc,_0x5a4133);BPromise['resolve']()['then'](cmContactRpc[_0xd844('0x1f')]({'attributes':_0x4286bc,'where':_0x39e000,'phone':_0x3905a1}))[_0xd844('0x20')](function(_0x5398fe){_0x11e14c=_0x5398fe;if(!_[_0xd844('0x21')](_0x11e14c)){if(_0x11e14c['length']===0x1){_0x14ed7d=_0x11e14c[0x0];logger[_0xd844('0x8')](_0xd844('0x22'),_0x27382c[_0xd844('0x23')],_0x242412['id'],_0x14ed7d['id']);}else{logger[_0xd844('0x8')]('[CM][%s][%s]\x20Multiple\x20contacts\x20found:[%s]',_0x27382c[_0xd844('0x23')],_0x242412['id'],_[_0xd844('0x12')](_0x11e14c,'id')[_0xd844('0x24')](','));}return;}else{logger[_0xd844('0x8')](_0xd844('0x25'),_0x27382c['uniqueid'],_0x242412['id']);var _0x579470={'ListId':_0x5e3773};var _0x440454=_0x515d3a['data4']&&_0x515d3a[_0xd844('0x26')]!=='0'?_0x515d3a[_0xd844('0x26')]:_0xd844('0x27');if(_0x152ced){logger[_0xd844('0x8')](_0xd844('0x28'),_0x27382c[_0xd844('0x23')],_0x242412['id']);_0x579470[_0x440454]=_[_0xd844('0x29')](_0x27382c[_0xd844('0x13')])?_0x27382c[_0xd844('0x15')]:_0x27382c[_0xd844('0x14')];if(_['isNil'](_0x27382c[_0xd844('0x13')])){_0x579470[_0xd844('0x16')]=_0x27382c[_0xd844('0x2a')]&&_0x27382c[_0xd844('0x2a')]!==_0xd844('0x2b')?_0x27382c[_0xd844('0x2a')]:_0xd844('0x2c');}else{_0x579470[_0xd844('0x16')]=_0x27382c[_0xd844('0x2d')]&&_0x27382c[_0xd844('0x2d')]!==_0xd844('0x2b')?_0x27382c[_0xd844('0x2d')]:_0xd844('0x2c');}return BPromise[_0xd844('0x2e')]()[_0xd844('0x20')](cmContactRpc[_0xd844('0x2f')](_0x579470))[_0xd844('0x20')](function(_0x109e8d){_0x14ed7d=_0x109e8d;_0x11e14c['push'](_0x109e8d);if(_0x14ed7d){logger[_0xd844('0x8')]('[CM][%s][%s]\x20Contact\x20created:%s',_0x27382c[_0xd844('0x23')],_0x242412['id'],_0x14ed7d['id']);}return;});}else{logger[_0xd844('0x8')](_0xd844('0x30'),_0x27382c['uniqueid'],_0x242412['id']);_0x579470[_0x440454]=_[_0xd844('0x29')](_0x27382c[_0xd844('0x13')])?_0x27382c[_0xd844('0x15')]:_0x27382c[_0xd844('0x14')];if(_[_0xd844('0x29')](_0x27382c[_0xd844('0x13')])){_0x579470[_0xd844('0x16')]=_0x27382c[_0xd844('0x2a')]&&_0x27382c[_0xd844('0x2a')]!==_0xd844('0x2b')?_0x27382c['calleridname']:_0xd844('0x2c');}else{_0x579470[_0xd844('0x16')]=_0x27382c[_0xd844('0x2d')]&&_0x27382c[_0xd844('0x2d')]!==_0xd844('0x2b')?_0x27382c[_0xd844('0x2d')]:_0xd844('0x2c');}_0x14ed7d=_0x579470;_0x11e14c['push'](_0x579470);return;}}})[_0xd844('0x20')](function(){if(_0x32e309){emit(_0x27382c[_0xd844('0x23')],_0x242412,util[_0xd844('0x31')](_0xd844('0x32'),_0x32e309[_0xd844('0x33')]),util[_0xd844('0x31')](_0xd844('0x34'),_0x515d3a[_0xd844('0x35')][_0xd844('0x36')]()),{'evt':_[_0xd844('0x37')](_0x27382c,{'autoCreate':_0x152ced}),'contact':_0x14ed7d===undefined?{}:_0x14ed7d,'contacts':_0x11e14c['length']===0x0?undefined:_0x11e14c});}});};