Built motion from commit (unavailable).|2.4.17
[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 _0x32f4=['lodash','ioredis','../../../../config/logger','trigger','redis','defaults','localhost','socket.io-emitter','stringify','exec','autoCreate','data2','data1','isNil','routeId','calleridname','calleridnum','destcalleridname','<unknown>','destcalleridnum','phone','uniqueid','resolve','then','showContact','omit','xmd-contactid2','format','user:%s','name','trigger:%s','action','toLowerCase','merge','catch','Error\x20creating\x20contact','bluebird','util'];(function(_0x148574,_0x590777){var _0x549913=function(_0x53c7c6){while(--_0x53c7c6){_0x148574['push'](_0x148574['shift']());}};_0x549913(++_0x590777);}(_0x32f4,0x154));var _0x432f=function(_0x146a58,_0x151d13){_0x146a58=_0x146a58-0x0;var _0x365f0b=_0x32f4[_0x146a58];return _0x365f0b;};'use strict';var BPromise=require(_0x432f('0x0'));var util=require(_0x432f('0x1'));var _=require(_0x432f('0x2'));var Redis=require(_0x432f('0x3'));var config=require('../../../../config/environment');var logger=require(_0x432f('0x4'))(_0x432f('0x5'));var cmContactRpc=require('../../rpc/cmContact');config[_0x432f('0x6')]=_[_0x432f('0x7')](config[_0x432f('0x6')],{'host':_0x432f('0x8'),'port':0x18eb});var io=require(_0x432f('0x9'))(new Redis(config['redis']));function emit(_0x5b5f08,_0x2f66fd,_0x32b062){logger['info'](_0x5b5f08,_0x2f66fd,JSON[_0x432f('0xa')](_0x32b062));io['to'](_0x5b5f08)['emit'](_0x2f66fd,_0x32b062);}exports[_0x432f('0xb')]=function(_0x340fe9,_0x3a0d4b,_0x13369a){_0x13369a[_0x432f('0xc')]=0x0;if(_0x3a0d4b['data2']&&parseInt(_0x3a0d4b[_0x432f('0xd')],0xa)){var _0x5758d7={'ListId':parseInt(_0x3a0d4b[_0x432f('0xe')],0xa),'phone':_0x13369a['calleridnum']};if(_[_0x432f('0xf')](_0x13369a[_0x432f('0x10')])){_0x5758d7['firstName']=_0x13369a[_0x432f('0x11')]&&_0x13369a[_0x432f('0x11')]!=='<unknown>'?_0x13369a[_0x432f('0x11')]:_0x13369a[_0x432f('0x12')]||_0x13369a['uniqueid'];}else{_0x5758d7['firstName']=_0x13369a[_0x432f('0x13')]&&_0x13369a[_0x432f('0x13')]!==_0x432f('0x14')?_0x13369a[_0x432f('0x13')]:_0x13369a[_0x432f('0x15')]||_0x13369a['uniqueid'];_0x5758d7[_0x432f('0x16')]=_0x13369a[_0x432f('0x13')]&&_0x13369a[_0x432f('0x13')]!==_0x432f('0x14')?_0x13369a['destcalleridname']:_0x13369a[_0x432f('0x15')]||_0x13369a[_0x432f('0x17')];}BPromise[_0x432f('0x18')]()[_0x432f('0x19')](cmContactRpc[_0x432f('0x1a')]({'where':_[_0x432f('0x1b')](_0x5758d7,['firstName'])}))[_0x432f('0x19')](function(_0x4ddd21){if(_0x4ddd21){_0x13369a[_0x432f('0x1c')]=_0x4ddd21['id'];emit(util[_0x432f('0x1d')](_0x432f('0x1e'),_0x340fe9[_0x432f('0x1f')]),util[_0x432f('0x1d')](_0x432f('0x20'),_0x3a0d4b[_0x432f('0x21')][_0x432f('0x22')]()),_[_0x432f('0x23')](_0x13369a,{'ListId':parseInt(_0x3a0d4b[_0x432f('0xe')],0xa)}));return;}else{return BPromise[_0x432f('0x18')]()[_0x432f('0x19')](cmContactRpc['createContact'](_0x5758d7));}})['then'](function(_0x343d13){if(_0x343d13){_0x13369a['xmd-contactid2']=_0x343d13['id'];emit(util[_0x432f('0x1d')]('user:%s',_0x340fe9[_0x432f('0x1f')]),util[_0x432f('0x1d')](_0x432f('0x20'),_0x3a0d4b[_0x432f('0x21')][_0x432f('0x22')]()),_[_0x432f('0x23')](_0x13369a,{'ListId':parseInt(_0x3a0d4b['data1'],0xa)}));}})[_0x432f('0x24')](function(_0x33edec){logger['error'](_0x432f('0x25'),JSON[_0x432f('0xa')](_0x33edec));});}else{if(_0x340fe9){emit(util[_0x432f('0x1d')](_0x432f('0x1e'),_0x340fe9[_0x432f('0x1f')]),util[_0x432f('0x1d')](_0x432f('0x20'),_0x3a0d4b['action'][_0x432f('0x22')]()),_['merge']({'ListId':parseInt(_0x3a0d4b[_0x432f('0xe')],0xa)},_0x13369a));}}};