Built motion from commit (unavailable).|2.4.21
[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 _0x2041=['user:%s','trigger:%s','toLowerCase','merge','createContact','xmd-contactid2','name','catch','error','[%s][%s]\x20Error\x20creating\x20contact','action','bluebird','util','ioredis','../../../../config/environment','../../../../config/logger','trigger','redis','defaults','localhost','socket.io-emitter','info','[%s][%s]','stringify','emit','exec','autoCreate','data2','data1','calleridnum','isNil','firstName','calleridname','<unknown>','uniqueid','destcalleridname','destcalleridnum','phone','resolve','then','showContact','[%s][%s]\x20Contact\x20found:%s','format'];(function(_0x5114b3,_0x3aae65){var _0x51736c=function(_0x3476d1){while(--_0x3476d1){_0x5114b3['push'](_0x5114b3['shift']());}};_0x51736c(++_0x3aae65);}(_0x2041,0x10d));var _0x1204=function(_0x1f1bae,_0x779840){_0x1f1bae=_0x1f1bae-0x0;var _0x1c5310=_0x2041[_0x1f1bae];return _0x1c5310;};'use strict';var BPromise=require(_0x1204('0x0'));var util=require(_0x1204('0x1'));var _=require('lodash');var Redis=require(_0x1204('0x2'));var config=require(_0x1204('0x3'));var logger=require(_0x1204('0x4'))(_0x1204('0x5'));var cmContactRpc=require('../../rpc/cmContact');config[_0x1204('0x6')]=_[_0x1204('0x7')](config[_0x1204('0x6')],{'host':_0x1204('0x8'),'port':0x18eb});var io=require(_0x1204('0x9'))(new Redis(config[_0x1204('0x6')]));function emit(_0x1e2e6e,_0x20109d,_0x332928,_0x56c2a2){logger[_0x1204('0xa')](_0x1204('0xb'),_0x1e2e6e,'',_0x20109d,_0x332928,JSON[_0x1204('0xc')](_0x56c2a2));io['to'](_0x20109d)[_0x1204('0xd')](_0x332928,_0x56c2a2);}exports[_0x1204('0xe')]=function(_0x17ff4b,_0xe98e57,_0x6aa8a3){_0x6aa8a3[_0x1204('0xf')]=0x0;if(_0xe98e57[_0x1204('0x10')]&&parseInt(_0xe98e57[_0x1204('0x10')],0xa)){var _0x1a2fbe={'ListId':parseInt(_0xe98e57[_0x1204('0x11')],0xa),'phone':_0x6aa8a3[_0x1204('0x12')]};if(_[_0x1204('0x13')](_0x6aa8a3['routeId'])){_0x1a2fbe[_0x1204('0x14')]=_0x6aa8a3[_0x1204('0x15')]&&_0x6aa8a3[_0x1204('0x15')]!==_0x1204('0x16')?_0x6aa8a3[_0x1204('0x15')]:_0x6aa8a3['calleridnum']||_0x6aa8a3[_0x1204('0x17')];}else{_0x1a2fbe[_0x1204('0x14')]=_0x6aa8a3[_0x1204('0x18')]&&_0x6aa8a3['destcalleridname']!==_0x1204('0x16')?_0x6aa8a3[_0x1204('0x18')]:_0x6aa8a3[_0x1204('0x19')]||_0x6aa8a3[_0x1204('0x17')];_0x1a2fbe[_0x1204('0x1a')]=_0x6aa8a3[_0x1204('0x18')]&&_0x6aa8a3[_0x1204('0x18')]!=='<unknown>'?_0x6aa8a3['destcalleridname']:_0x6aa8a3[_0x1204('0x19')]||_0x6aa8a3['uniqueid'];}BPromise[_0x1204('0x1b')]()[_0x1204('0x1c')](cmContactRpc[_0x1204('0x1d')]({'where':_['omit'](_0x1a2fbe,[_0x1204('0x14')])}))[_0x1204('0x1c')](function(_0x52f4a1){if(_0x52f4a1){logger[_0x1204('0xa')](_0x1204('0x1e'),_0x6aa8a3[_0x1204('0x17')],'',_0x52f4a1['id']);if(_0x17ff4b){_0x6aa8a3['xmd-contactid2']=_0x52f4a1['id'];emit(_0x6aa8a3[_0x1204('0x17')],util[_0x1204('0x1f')](_0x1204('0x20'),_0x17ff4b['name']),util['format'](_0x1204('0x21'),_0xe98e57['action'][_0x1204('0x22')]()),_[_0x1204('0x23')](_0x6aa8a3,{'ListId':parseInt(_0xe98e57['data1'],0xa)}));}return;}else{logger[_0x1204('0xa')]('[%s][%s]\x20Contact\x20not\x20found',_0x6aa8a3['uniqueid'],'');return BPromise[_0x1204('0x1b')]()[_0x1204('0x1c')](cmContactRpc[_0x1204('0x24')](_0x1a2fbe));}})[_0x1204('0x1c')](function(_0x10dbfe){if(_0x10dbfe){logger[_0x1204('0xa')]('[%s][%s]\x20Contact\x20created:%s',_0x6aa8a3[_0x1204('0x17')],'',_0x10dbfe['id']);if(_0x17ff4b){_0x6aa8a3[_0x1204('0x25')]=_0x10dbfe['id'];emit(_0x6aa8a3[_0x1204('0x17')],util[_0x1204('0x1f')](_0x1204('0x20'),_0x17ff4b[_0x1204('0x26')]),util[_0x1204('0x1f')]('trigger:%s',_0xe98e57['action'][_0x1204('0x22')]()),_[_0x1204('0x23')](_0x6aa8a3,{'ListId':parseInt(_0xe98e57['data1'],0xa)}));}}})[_0x1204('0x27')](function(_0xc013af){logger[_0x1204('0x28')](_0x1204('0x29'),_0x6aa8a3[_0x1204('0x17')],'',JSON[_0x1204('0xc')](_0xc013af));});}else{if(_0x17ff4b){logger[_0x1204('0xa')]('[%s][%s]\x20Autocreate\x20disabled',_0x6aa8a3[_0x1204('0x17')],'');emit(_0x6aa8a3[_0x1204('0x17')],util[_0x1204('0x1f')](_0x1204('0x20'),_0x17ff4b[_0x1204('0x26')]),util[_0x1204('0x1f')](_0x1204('0x21'),_0xe98e57[_0x1204('0x2a')]['toLowerCase']()),_[_0x1204('0x23')]({'ListId':parseInt(_0xe98e57['data1'],0xa)},_0x6aa8a3));}}};