Built motion from commit (unavailable).|2.5.4
[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 _0xea4e=['catch','error','[%s][%s]\x20Error\x20creating\x20contact','stringify','bluebird','../../../../config/environment','trigger','../../rpc/cmContact','defaults','redis','localhost','socket.io-emitter','[%s][%s]','emit','exec','autoCreate','data2','data1','isNil','routeId','firstName','calleridname','<unknown>','calleridnum','destcalleridname','destcalleridnum','uniqueid','phone','resolve','showContact','omit','then','[%s][%s]\x20Contact\x20found:%s','xmd-contactid2','user:%s','format','trigger:%s','action','toLowerCase','merge','info','[%s][%s]\x20Contact\x20not\x20found','createContact','name'];(function(_0x52b91f,_0x499757){var _0x15f8f5=function(_0x33fbf6){while(--_0x33fbf6){_0x52b91f['push'](_0x52b91f['shift']());}};_0x15f8f5(++_0x499757);}(_0xea4e,0x10c));var _0xeea4=function(_0x42f1e6,_0x372465){_0x42f1e6=_0x42f1e6-0x0;var _0xea2816=_0xea4e[_0x42f1e6];return _0xea2816;};'use strict';var BPromise=require(_0xeea4('0x0'));var util=require('util');var _=require('lodash');var Redis=require('ioredis');var config=require(_0xeea4('0x1'));var logger=require('../../../../config/logger')(_0xeea4('0x2'));var cmContactRpc=require(_0xeea4('0x3'));config['redis']=_[_0xeea4('0x4')](config[_0xeea4('0x5')],{'host':_0xeea4('0x6'),'port':0x18eb});var io=require(_0xeea4('0x7'))(new Redis(config[_0xeea4('0x5')]));function emit(_0x26d41b,_0x1bf7d2,_0x44113d,_0x227d33){logger['info'](_0xeea4('0x8'),_0x26d41b,'',_0x1bf7d2,_0x44113d,JSON['stringify'](_0x227d33));io['to'](_0x1bf7d2)[_0xeea4('0x9')](_0x44113d,_0x227d33);}exports[_0xeea4('0xa')]=function(_0x279b9,_0x367d41,_0x16a077){_0x16a077[_0xeea4('0xb')]=0x0;if(_0x367d41[_0xeea4('0xc')]&&parseInt(_0x367d41[_0xeea4('0xc')],0xa)){var _0x48a0db={'ListId':parseInt(_0x367d41[_0xeea4('0xd')],0xa),'phone':_0x16a077['calleridnum']};if(_[_0xeea4('0xe')](_0x16a077[_0xeea4('0xf')])){_0x48a0db[_0xeea4('0x10')]=_0x16a077[_0xeea4('0x11')]&&_0x16a077[_0xeea4('0x11')]!==_0xeea4('0x12')?_0x16a077[_0xeea4('0x11')]:_0x16a077[_0xeea4('0x13')]||_0x16a077['uniqueid'];}else{_0x48a0db[_0xeea4('0x10')]=_0x16a077[_0xeea4('0x14')]&&_0x16a077['destcalleridname']!==_0xeea4('0x12')?_0x16a077['destcalleridname']:_0x16a077[_0xeea4('0x15')]||_0x16a077[_0xeea4('0x16')];_0x48a0db[_0xeea4('0x17')]=_0x16a077[_0xeea4('0x14')]&&_0x16a077[_0xeea4('0x14')]!==_0xeea4('0x12')?_0x16a077[_0xeea4('0x14')]:_0x16a077[_0xeea4('0x15')]||_0x16a077[_0xeea4('0x16')];}BPromise[_0xeea4('0x18')]()['then'](cmContactRpc[_0xeea4('0x19')]({'where':_[_0xeea4('0x1a')](_0x48a0db,['firstName'])}))[_0xeea4('0x1b')](function(_0x472803){if(_0x472803){logger['info'](_0xeea4('0x1c'),_0x16a077['uniqueid'],'',_0x472803['id']);if(_0x279b9){_0x16a077[_0xeea4('0x1d')]=_0x472803['id'];emit(_0x16a077['uniqueid'],util['format'](_0xeea4('0x1e'),_0x279b9['name']),util[_0xeea4('0x1f')](_0xeea4('0x20'),_0x367d41[_0xeea4('0x21')][_0xeea4('0x22')]()),_[_0xeea4('0x23')](_0x16a077,{'ListId':parseInt(_0x367d41['data1'],0xa)}));}return;}else{logger[_0xeea4('0x24')](_0xeea4('0x25'),_0x16a077[_0xeea4('0x16')],'');return BPromise[_0xeea4('0x18')]()['then'](cmContactRpc[_0xeea4('0x26')](_0x48a0db));}})[_0xeea4('0x1b')](function(_0x455148){if(_0x455148){logger[_0xeea4('0x24')]('[%s][%s]\x20Contact\x20created:%s',_0x16a077['uniqueid'],'',_0x455148['id']);if(_0x279b9){_0x16a077[_0xeea4('0x1d')]=_0x455148['id'];emit(_0x16a077[_0xeea4('0x16')],util[_0xeea4('0x1f')](_0xeea4('0x1e'),_0x279b9[_0xeea4('0x27')]),util['format'](_0xeea4('0x20'),_0x367d41[_0xeea4('0x21')]['toLowerCase']()),_[_0xeea4('0x23')](_0x16a077,{'ListId':parseInt(_0x367d41['data1'],0xa)}));}}})[_0xeea4('0x28')](function(_0xb2acc2){logger[_0xeea4('0x29')](_0xeea4('0x2a'),_0x16a077[_0xeea4('0x16')],'',JSON[_0xeea4('0x2b')](_0xb2acc2));});}else{if(_0x279b9){logger[_0xeea4('0x24')]('[%s][%s]\x20Autocreate\x20disabled',_0x16a077[_0xeea4('0x16')],'');emit(_0x16a077[_0xeea4('0x16')],util['format']('user:%s',_0x279b9['name']),util[_0xeea4('0x1f')]('trigger:%s',_0x367d41[_0xeea4('0x21')][_0xeea4('0x22')]()),_[_0xeea4('0x23')]({'ListId':parseInt(_0x367d41[_0xeea4('0xd')],0xa)},_0x16a077));}}};