9d411678b47bf1943e0cddf9f6dd4f064327d160
[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 _0xe03b=['name','trigger:%s','action','toLowerCase','merge','[%s][%s]\x20Contact\x20not\x20found','createContact','[%s][%s]\x20Contact\x20created:%s','catch','[%s][%s]\x20Error\x20creating\x20contact','stringify','[%s][%s]\x20Autocreate\x20disabled','bluebird','util','lodash','ioredis','../../../../config/logger','trigger','redis','defaults','localhost','socket.io-emitter','[%s][%s]','emit','exec','autoCreate','data2','data1','calleridnum','isNil','routeId','calleridname','<unknown>','uniqueid','firstName','destcalleridname','destcalleridnum','phone','resolve','then','showContact','omit','info','[%s][%s]\x20Contact\x20found:%s','xmd-contactid2','format','user:%s'];(function(_0x5b644e,_0x2e5e07){var _0x49c6bf=function(_0x3032d9){while(--_0x3032d9){_0x5b644e['push'](_0x5b644e['shift']());}};_0x49c6bf(++_0x2e5e07);}(_0xe03b,0x155));var _0xbe03=function(_0x2aad87,_0x442b48){_0x2aad87=_0x2aad87-0x0;var _0x364649=_0xe03b[_0x2aad87];return _0x364649;};'use strict';var BPromise=require(_0xbe03('0x0'));var util=require(_0xbe03('0x1'));var _=require(_0xbe03('0x2'));var Redis=require(_0xbe03('0x3'));var config=require('../../../../config/environment');var logger=require(_0xbe03('0x4'))(_0xbe03('0x5'));var cmContactRpc=require('../../rpc/cmContact');config[_0xbe03('0x6')]=_[_0xbe03('0x7')](config[_0xbe03('0x6')],{'host':_0xbe03('0x8'),'port':0x18eb});var io=require(_0xbe03('0x9'))(new Redis(config[_0xbe03('0x6')]));function emit(_0x1b3887,_0x41b8e1,_0x42034b,_0x13ebc0){logger['info'](_0xbe03('0xa'),_0x1b3887,'',_0x41b8e1,_0x42034b,JSON['stringify'](_0x13ebc0));io['to'](_0x41b8e1)[_0xbe03('0xb')](_0x42034b,_0x13ebc0);}exports[_0xbe03('0xc')]=function(_0x2352f8,_0x3a239e,_0x1a487d){_0x1a487d[_0xbe03('0xd')]=0x0;if(_0x3a239e[_0xbe03('0xe')]&&parseInt(_0x3a239e['data2'],0xa)){var _0x4be753={'ListId':parseInt(_0x3a239e[_0xbe03('0xf')],0xa),'phone':_0x1a487d[_0xbe03('0x10')]};if(_[_0xbe03('0x11')](_0x1a487d[_0xbe03('0x12')])){_0x4be753['firstName']=_0x1a487d['calleridname']&&_0x1a487d[_0xbe03('0x13')]!==_0xbe03('0x14')?_0x1a487d[_0xbe03('0x13')]:_0x1a487d['calleridnum']||_0x1a487d[_0xbe03('0x15')];}else{_0x4be753[_0xbe03('0x16')]=_0x1a487d[_0xbe03('0x17')]&&_0x1a487d[_0xbe03('0x17')]!==_0xbe03('0x14')?_0x1a487d[_0xbe03('0x17')]:_0x1a487d[_0xbe03('0x18')]||_0x1a487d['uniqueid'];_0x4be753[_0xbe03('0x19')]=_0x1a487d[_0xbe03('0x17')]&&_0x1a487d[_0xbe03('0x17')]!==_0xbe03('0x14')?_0x1a487d[_0xbe03('0x17')]:_0x1a487d[_0xbe03('0x18')]||_0x1a487d[_0xbe03('0x15')];}BPromise[_0xbe03('0x1a')]()[_0xbe03('0x1b')](cmContactRpc[_0xbe03('0x1c')]({'where':_[_0xbe03('0x1d')](_0x4be753,[_0xbe03('0x16')])}))['then'](function(_0x5b0157){if(_0x5b0157){logger[_0xbe03('0x1e')](_0xbe03('0x1f'),_0x1a487d[_0xbe03('0x15')],'',_0x5b0157['id']);if(_0x2352f8){_0x1a487d[_0xbe03('0x20')]=_0x5b0157['id'];emit(_0x1a487d[_0xbe03('0x15')],util[_0xbe03('0x21')](_0xbe03('0x22'),_0x2352f8[_0xbe03('0x23')]),util[_0xbe03('0x21')](_0xbe03('0x24'),_0x3a239e[_0xbe03('0x25')][_0xbe03('0x26')]()),_[_0xbe03('0x27')](_0x1a487d,{'ListId':parseInt(_0x3a239e[_0xbe03('0xf')],0xa)}));}return;}else{logger[_0xbe03('0x1e')](_0xbe03('0x28'),_0x1a487d['uniqueid'],'');return BPromise[_0xbe03('0x1a')]()[_0xbe03('0x1b')](cmContactRpc[_0xbe03('0x29')](_0x4be753));}})['then'](function(_0xbd6569){if(_0xbd6569){logger[_0xbe03('0x1e')](_0xbe03('0x2a'),_0x1a487d[_0xbe03('0x15')],'',_0xbd6569['id']);if(_0x2352f8){_0x1a487d['xmd-contactid2']=_0xbd6569['id'];emit(_0x1a487d[_0xbe03('0x15')],util[_0xbe03('0x21')](_0xbe03('0x22'),_0x2352f8[_0xbe03('0x23')]),util[_0xbe03('0x21')](_0xbe03('0x24'),_0x3a239e['action'][_0xbe03('0x26')]()),_[_0xbe03('0x27')](_0x1a487d,{'ListId':parseInt(_0x3a239e['data1'],0xa)}));}}})[_0xbe03('0x2b')](function(_0xdf97f2){logger['error'](_0xbe03('0x2c'),_0x1a487d[_0xbe03('0x15')],'',JSON[_0xbe03('0x2d')](_0xdf97f2));});}else{if(_0x2352f8){logger[_0xbe03('0x1e')](_0xbe03('0x2e'),_0x1a487d['uniqueid'],'');emit(_0x1a487d['uniqueid'],util[_0xbe03('0x21')](_0xbe03('0x22'),_0x2352f8['name']),util[_0xbe03('0x21')](_0xbe03('0x24'),_0x3a239e[_0xbe03('0x25')][_0xbe03('0x26')]()),_['merge']({'ListId':parseInt(_0x3a239e[_0xbe03('0xf')],0xa)},_0x1a487d));}}};