33a87e8158dcfb01e568bbef65f0e45e17e1a72a
[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 _0xf4af=['emit','exec','autoCreate','data2','data1','calleridnum','routeId','firstName','calleridname','<unknown>','uniqueid','destcalleridname','destcalleridnum','phone','resolve','then','showContact','omit','xmd-contactid2','format','name','trigger:%s','action','toLowerCase','[%s][%s]\x20Contact\x20not\x20found','createContact','[%s][%s]\x20Contact\x20created:%s','merge','error','[%s][%s]\x20Error\x20creating\x20contact','[%s][%s]\x20Autocreate\x20disabled','user:%s','util','lodash','ioredis','../../../../config/environment','trigger','../../rpc/cmContact','redis','defaults','localhost','socket.io-emitter','info','[%s][%s]','stringify'];(function(_0x17a22a,_0x4d1ba7){var _0x1c1735=function(_0x1fac7d){while(--_0x1fac7d){_0x17a22a['push'](_0x17a22a['shift']());}};_0x1c1735(++_0x4d1ba7);}(_0xf4af,0x7a));var _0xff4a=function(_0xddb860,_0x344918){_0xddb860=_0xddb860-0x0;var _0x255df9=_0xf4af[_0xddb860];return _0x255df9;};'use strict';var BPromise=require('bluebird');var util=require(_0xff4a('0x0'));var _=require(_0xff4a('0x1'));var Redis=require(_0xff4a('0x2'));var config=require(_0xff4a('0x3'));var logger=require('../../../../config/logger')(_0xff4a('0x4'));var cmContactRpc=require(_0xff4a('0x5'));config[_0xff4a('0x6')]=_[_0xff4a('0x7')](config['redis'],{'host':_0xff4a('0x8'),'port':0x18eb});var io=require(_0xff4a('0x9'))(new Redis(config[_0xff4a('0x6')]));function emit(_0x559e5f,_0x4c796d,_0x1812af,_0x34f9d3){logger[_0xff4a('0xa')](_0xff4a('0xb'),_0x559e5f,'',_0x4c796d,_0x1812af,JSON[_0xff4a('0xc')](_0x34f9d3));io['to'](_0x4c796d)[_0xff4a('0xd')](_0x1812af,_0x34f9d3);}exports[_0xff4a('0xe')]=function(_0x1c36db,_0x1907cf,_0x5c6c83){_0x5c6c83[_0xff4a('0xf')]=0x0;if(_0x1907cf[_0xff4a('0x10')]&&parseInt(_0x1907cf[_0xff4a('0x10')],0xa)){var _0x1861b7={'ListId':parseInt(_0x1907cf[_0xff4a('0x11')],0xa),'phone':_0x5c6c83[_0xff4a('0x12')]};if(_['isNil'](_0x5c6c83[_0xff4a('0x13')])){_0x1861b7[_0xff4a('0x14')]=_0x5c6c83['calleridname']&&_0x5c6c83[_0xff4a('0x15')]!==_0xff4a('0x16')?_0x5c6c83[_0xff4a('0x15')]:_0x5c6c83[_0xff4a('0x12')]||_0x5c6c83[_0xff4a('0x17')];}else{_0x1861b7[_0xff4a('0x14')]=_0x5c6c83[_0xff4a('0x18')]&&_0x5c6c83['destcalleridname']!==_0xff4a('0x16')?_0x5c6c83['destcalleridname']:_0x5c6c83[_0xff4a('0x19')]||_0x5c6c83[_0xff4a('0x17')];_0x1861b7[_0xff4a('0x1a')]=_0x5c6c83[_0xff4a('0x18')]&&_0x5c6c83[_0xff4a('0x18')]!==_0xff4a('0x16')?_0x5c6c83[_0xff4a('0x18')]:_0x5c6c83[_0xff4a('0x19')]||_0x5c6c83[_0xff4a('0x17')];}BPromise[_0xff4a('0x1b')]()[_0xff4a('0x1c')](cmContactRpc[_0xff4a('0x1d')]({'where':_[_0xff4a('0x1e')](_0x1861b7,[_0xff4a('0x14')])}))[_0xff4a('0x1c')](function(_0xf3b485){if(_0xf3b485){logger[_0xff4a('0xa')]('[%s][%s]\x20Contact\x20found:%s',_0x5c6c83[_0xff4a('0x17')],'',_0xf3b485['id']);if(_0x1c36db){_0x5c6c83[_0xff4a('0x1f')]=_0xf3b485['id'];emit(_0x5c6c83['uniqueid'],util[_0xff4a('0x20')]('user:%s',_0x1c36db[_0xff4a('0x21')]),util['format'](_0xff4a('0x22'),_0x1907cf[_0xff4a('0x23')][_0xff4a('0x24')]()),_['merge'](_0x5c6c83,{'ListId':parseInt(_0x1907cf[_0xff4a('0x11')],0xa)}));}return;}else{logger[_0xff4a('0xa')](_0xff4a('0x25'),_0x5c6c83[_0xff4a('0x17')],'');return BPromise[_0xff4a('0x1b')]()[_0xff4a('0x1c')](cmContactRpc[_0xff4a('0x26')](_0x1861b7));}})[_0xff4a('0x1c')](function(_0x1544c2){if(_0x1544c2){logger[_0xff4a('0xa')](_0xff4a('0x27'),_0x5c6c83[_0xff4a('0x17')],'',_0x1544c2['id']);if(_0x1c36db){_0x5c6c83[_0xff4a('0x1f')]=_0x1544c2['id'];emit(_0x5c6c83[_0xff4a('0x17')],util[_0xff4a('0x20')]('user:%s',_0x1c36db['name']),util['format']('trigger:%s',_0x1907cf[_0xff4a('0x23')]['toLowerCase']()),_[_0xff4a('0x28')](_0x5c6c83,{'ListId':parseInt(_0x1907cf[_0xff4a('0x11')],0xa)}));}}})['catch'](function(_0x4889b6){logger[_0xff4a('0x29')](_0xff4a('0x2a'),_0x5c6c83[_0xff4a('0x17')],'',JSON['stringify'](_0x4889b6));});}else{if(_0x1c36db){logger['info'](_0xff4a('0x2b'),_0x5c6c83[_0xff4a('0x17')],'');emit(_0x5c6c83[_0xff4a('0x17')],util[_0xff4a('0x20')](_0xff4a('0x2c'),_0x1c36db['name']),util[_0xff4a('0x20')]('trigger:%s',_0x1907cf[_0xff4a('0x23')][_0xff4a('0x24')]()),_[_0xff4a('0x28')]({'ListId':parseInt(_0x1907cf[_0xff4a('0x11')],0xa)},_0x5c6c83));}}};