7a8e7328411845968daf51e25a9e8f0fab0c1c22
[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 _0x0ee6=['error','[%s][%s]\x20Error\x20creating\x20contact','[%s][%s]\x20Autocreate\x20disabled','merge','bluebird','util','ioredis','../../../../config/environment','../../../../config/logger','trigger','redis','defaults','localhost','socket.io-emitter','info','[%s][%s]','stringify','emit','exec','autoCreate','data2','data1','calleridnum','firstName','calleridname','uniqueid','destcalleridname','<unknown>','phone','destcalleridnum','resolve','then','omit','xmd-contactid2','format','user:%s','name','trigger:%s','toLowerCase','createContact','[%s][%s]\x20Contact\x20created:%s','action','catch'];(function(_0x9ea926,_0x32b1b2){var _0x129b2a=function(_0x278c47){while(--_0x278c47){_0x9ea926['push'](_0x9ea926['shift']());}};_0x129b2a(++_0x32b1b2);}(_0x0ee6,0x106));var _0x60ee=function(_0x1c0476,_0x1ac465){_0x1c0476=_0x1c0476-0x0;var _0x172c8a=_0x0ee6[_0x1c0476];return _0x172c8a;};'use strict';var BPromise=require(_0x60ee('0x0'));var util=require(_0x60ee('0x1'));var _=require('lodash');var Redis=require(_0x60ee('0x2'));var config=require(_0x60ee('0x3'));var logger=require(_0x60ee('0x4'))(_0x60ee('0x5'));var cmContactRpc=require('../../rpc/cmContact');config[_0x60ee('0x6')]=_[_0x60ee('0x7')](config[_0x60ee('0x6')],{'host':_0x60ee('0x8'),'port':0x18eb});var io=require(_0x60ee('0x9'))(new Redis(config['redis']));function emit(_0x568e89,_0x2a4312,_0x234bd9,_0x46c6e4){logger[_0x60ee('0xa')](_0x60ee('0xb'),_0x568e89,'',_0x2a4312,_0x234bd9,JSON[_0x60ee('0xc')](_0x46c6e4));io['to'](_0x2a4312)[_0x60ee('0xd')](_0x234bd9,_0x46c6e4);}exports[_0x60ee('0xe')]=function(_0x2898b0,_0x3d9202,_0x3b0311){_0x3b0311[_0x60ee('0xf')]=0x0;if(_0x3d9202[_0x60ee('0x10')]&&parseInt(_0x3d9202[_0x60ee('0x10')],0xa)){var _0x503044={'ListId':parseInt(_0x3d9202[_0x60ee('0x11')],0xa),'phone':_0x3b0311[_0x60ee('0x12')]};if(_['isNil'](_0x3b0311['routeId'])){_0x503044[_0x60ee('0x13')]=_0x3b0311[_0x60ee('0x14')]&&_0x3b0311[_0x60ee('0x14')]!=='<unknown>'?_0x3b0311['calleridname']:_0x3b0311[_0x60ee('0x12')]||_0x3b0311[_0x60ee('0x15')];}else{_0x503044[_0x60ee('0x13')]=_0x3b0311[_0x60ee('0x16')]&&_0x3b0311[_0x60ee('0x16')]!==_0x60ee('0x17')?_0x3b0311[_0x60ee('0x16')]:_0x3b0311['destcalleridnum']||_0x3b0311['uniqueid'];_0x503044[_0x60ee('0x18')]=_0x3b0311['destcalleridname']&&_0x3b0311['destcalleridname']!=='<unknown>'?_0x3b0311[_0x60ee('0x16')]:_0x3b0311[_0x60ee('0x19')]||_0x3b0311[_0x60ee('0x15')];}BPromise[_0x60ee('0x1a')]()[_0x60ee('0x1b')](cmContactRpc['showContact']({'where':_[_0x60ee('0x1c')](_0x503044,[_0x60ee('0x13')])}))['then'](function(_0x9109f7){if(_0x9109f7){logger[_0x60ee('0xa')]('[%s][%s]\x20Contact\x20found:%s',_0x3b0311['uniqueid'],'',_0x9109f7['id']);if(_0x2898b0){_0x3b0311[_0x60ee('0x1d')]=_0x9109f7['id'];emit(_0x3b0311[_0x60ee('0x15')],util[_0x60ee('0x1e')](_0x60ee('0x1f'),_0x2898b0[_0x60ee('0x20')]),util[_0x60ee('0x1e')](_0x60ee('0x21'),_0x3d9202['action'][_0x60ee('0x22')]()),_['merge'](_0x3b0311,{'ListId':parseInt(_0x3d9202[_0x60ee('0x11')],0xa)}));}return;}else{logger['info']('[%s][%s]\x20Contact\x20not\x20found',_0x3b0311[_0x60ee('0x15')],'');return BPromise[_0x60ee('0x1a')]()[_0x60ee('0x1b')](cmContactRpc[_0x60ee('0x23')](_0x503044));}})['then'](function(_0x3e113f){if(_0x3e113f){logger['info'](_0x60ee('0x24'),_0x3b0311[_0x60ee('0x15')],'',_0x3e113f['id']);if(_0x2898b0){_0x3b0311[_0x60ee('0x1d')]=_0x3e113f['id'];emit(_0x3b0311[_0x60ee('0x15')],util[_0x60ee('0x1e')](_0x60ee('0x1f'),_0x2898b0[_0x60ee('0x20')]),util[_0x60ee('0x1e')]('trigger:%s',_0x3d9202[_0x60ee('0x25')][_0x60ee('0x22')]()),_['merge'](_0x3b0311,{'ListId':parseInt(_0x3d9202[_0x60ee('0x11')],0xa)}));}}})[_0x60ee('0x26')](function(_0x3d719e){logger[_0x60ee('0x27')](_0x60ee('0x28'),_0x3b0311['uniqueid'],'',JSON[_0x60ee('0xc')](_0x3d719e));});}else{if(_0x2898b0){logger['info'](_0x60ee('0x29'),_0x3b0311[_0x60ee('0x15')],'');emit(_0x3b0311['uniqueid'],util[_0x60ee('0x1e')](_0x60ee('0x1f'),_0x2898b0[_0x60ee('0x20')]),util[_0x60ee('0x1e')](_0x60ee('0x21'),_0x3d9202[_0x60ee('0x25')][_0x60ee('0x22')]()),_[_0x60ee('0x2a')]({'ListId':parseInt(_0x3d9202[_0x60ee('0x11')],0xa)},_0x3b0311));}}};