Built motion from commit (unavailable).|2.4.18
[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 _0x1867=['uniqueid','resolve','showContact','omit','then','xmd-contactid2','name','trigger:%s','data1','format','user:%s','action','toLowerCase','merge','catch','error','Error\x20creating\x20contact','bluebird','util','ioredis','../../../../config/logger','trigger','../../rpc/cmContact','redis','defaults','localhost','socket.io-emitter','stringify','emit','exec','autoCreate','data2','calleridnum','isNil','routeId','firstName','calleridname','<unknown>','destcalleridname','destcalleridnum','phone'];(function(_0x32706c,_0x5698b0){var _0x1e7cdb=function(_0x4ad492){while(--_0x4ad492){_0x32706c['push'](_0x32706c['shift']());}};_0x1e7cdb(++_0x5698b0);}(_0x1867,0xb5));var _0x7186=function(_0x4ca2f7,_0x5c083f){_0x4ca2f7=_0x4ca2f7-0x0;var _0x56ab6a=_0x1867[_0x4ca2f7];return _0x56ab6a;};'use strict';var BPromise=require(_0x7186('0x0'));var util=require(_0x7186('0x1'));var _=require('lodash');var Redis=require(_0x7186('0x2'));var config=require('../../../../config/environment');var logger=require(_0x7186('0x3'))(_0x7186('0x4'));var cmContactRpc=require(_0x7186('0x5'));config[_0x7186('0x6')]=_[_0x7186('0x7')](config[_0x7186('0x6')],{'host':_0x7186('0x8'),'port':0x18eb});var io=require(_0x7186('0x9'))(new Redis(config[_0x7186('0x6')]));function emit(_0x4bea9f,_0x45938b,_0x18c4b9){logger['info'](_0x4bea9f,_0x45938b,JSON[_0x7186('0xa')](_0x18c4b9));io['to'](_0x4bea9f)[_0x7186('0xb')](_0x45938b,_0x18c4b9);}exports[_0x7186('0xc')]=function(_0xb49c4b,_0x551c34,_0x41739d){_0x41739d[_0x7186('0xd')]=0x0;if(_0x551c34[_0x7186('0xe')]&&parseInt(_0x551c34[_0x7186('0xe')],0xa)){var _0x7d44ae={'ListId':parseInt(_0x551c34['data1'],0xa),'phone':_0x41739d[_0x7186('0xf')]};if(_[_0x7186('0x10')](_0x41739d[_0x7186('0x11')])){_0x7d44ae[_0x7186('0x12')]=_0x41739d['calleridname']&&_0x41739d[_0x7186('0x13')]!==_0x7186('0x14')?_0x41739d[_0x7186('0x13')]:_0x41739d[_0x7186('0xf')]||_0x41739d['uniqueid'];}else{_0x7d44ae['firstName']=_0x41739d['destcalleridname']&&_0x41739d[_0x7186('0x15')]!==_0x7186('0x14')?_0x41739d[_0x7186('0x15')]:_0x41739d[_0x7186('0x16')]||_0x41739d['uniqueid'];_0x7d44ae[_0x7186('0x17')]=_0x41739d[_0x7186('0x15')]&&_0x41739d[_0x7186('0x15')]!==_0x7186('0x14')?_0x41739d[_0x7186('0x15')]:_0x41739d[_0x7186('0x16')]||_0x41739d[_0x7186('0x18')];}BPromise[_0x7186('0x19')]()['then'](cmContactRpc[_0x7186('0x1a')]({'where':_[_0x7186('0x1b')](_0x7d44ae,['firstName'])}))[_0x7186('0x1c')](function(_0x40b42f){if(_0x40b42f){_0x41739d[_0x7186('0x1d')]=_0x40b42f['id'];emit(util['format']('user:%s',_0xb49c4b[_0x7186('0x1e')]),util['format'](_0x7186('0x1f'),_0x551c34['action']['toLowerCase']()),_['merge'](_0x41739d,{'ListId':parseInt(_0x551c34[_0x7186('0x20')],0xa)}));return;}else{return BPromise[_0x7186('0x19')]()['then'](cmContactRpc['createContact'](_0x7d44ae));}})['then'](function(_0x562403){if(_0x562403){_0x41739d[_0x7186('0x1d')]=_0x562403['id'];emit(util[_0x7186('0x21')](_0x7186('0x22'),_0xb49c4b['name']),util[_0x7186('0x21')](_0x7186('0x1f'),_0x551c34[_0x7186('0x23')][_0x7186('0x24')]()),_[_0x7186('0x25')](_0x41739d,{'ListId':parseInt(_0x551c34['data1'],0xa)}));}})[_0x7186('0x26')](function(_0x207b9e){logger[_0x7186('0x27')](_0x7186('0x28'),JSON[_0x7186('0xa')](_0x207b9e));});}else{if(_0xb49c4b){emit(util[_0x7186('0x21')](_0x7186('0x22'),_0xb49c4b[_0x7186('0x1e')]),util['format'](_0x7186('0x1f'),_0x551c34[_0x7186('0x23')]['toLowerCase']()),_[_0x7186('0x25')]({'ListId':parseInt(_0x551c34['data1'],0xa)},_0x41739d));}}};