Built motion from commit (unavailable).|2.5.26
[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 _0x4e0f=['length','[CM][%s][%s]\x20Contact\x20found:%s','map','info','[CM][%s][%s]\x20Contact\x20not\x20found','uniqueid','data4','isNil','firstName','calleridname','<unknown>','Unknown','destcalleridname','createContact','[CM][%s][%s]\x20Contact\x20created:%s','[CM][%s][%s]\x20Autocreate\x20disabled','push','format','name','trigger:%s','toLowerCase','merge','lodash','bluebird','util','../../../../config/environment','../../../../config/logger','trigger','../../rpc/cmContact','redis','defaults','localhost','socket.io-emitter','[CM][%s][%s]','stringify','emit','exec','data1','data2','xmd-contactid','ListId','data3','split','phone','$or','routeId','destcalleridnum','lastName','mobile','fax','createdAt','scheduledAt','updatedAt','union','resolve','then','getContacts','isEmpty'];(function(_0x143291,_0x520ebc){var _0x4e56b5=function(_0x1659ef){while(--_0x1659ef){_0x143291['push'](_0x143291['shift']());}};_0x4e56b5(++_0x520ebc);}(_0x4e0f,0x1ac));var _0xf4e0=function(_0x2850c0,_0x1363a7){_0x2850c0=_0x2850c0-0x0;var _0x21e830=_0x4e0f[_0x2850c0];return _0x21e830;};'use strict';var _=require(_0xf4e0('0x0'));var BPromise=require(_0xf4e0('0x1'));var Redis=require('ioredis');var util=require(_0xf4e0('0x2'));var config=require(_0xf4e0('0x3'));var logger=require(_0xf4e0('0x4'))(_0xf4e0('0x5'));var cmContactRpc=require(_0xf4e0('0x6'));config[_0xf4e0('0x7')]=_[_0xf4e0('0x8')](config[_0xf4e0('0x7')],{'host':_0xf4e0('0x9'),'port':0x18eb});var io=require(_0xf4e0('0xa'))(new Redis(config[_0xf4e0('0x7')]));function emit(_0x23b996,_0x21b512,_0x5c8d0b,_0xb56283,_0x27ce0c){logger['info'](_0xf4e0('0xb'),_0x23b996,_0x21b512['id'],_0x5c8d0b,_0xb56283,JSON[_0xf4e0('0xc')](_0x27ce0c));io['to'](_0x5c8d0b)[_0xf4e0('0xd')](_0xb56283,_0x27ce0c);}exports[_0xf4e0('0xe')]=function(_0x284a21,_0x3cafe9,_0x2af35b,_0x4e9781){var _0x320797,_0x302356;var _0xd409e6={};var _0x2b70c0=Number(_0x2af35b[_0xf4e0('0xf')]);var _0x54c006=_0x2af35b[_0xf4e0('0x10')]?Boolean(Number(_0x2af35b[_0xf4e0('0x10')])):![];var _0x4b7f09;if(_0x4e9781[_0xf4e0('0x11')]){_0xd409e6['id']=_0x4e9781[_0xf4e0('0x11')];}if(!_0xd409e6['id']){_0xd409e6[_0xf4e0('0x12')]=_0x2b70c0;_0x4b7f09=_0x2af35b[_0xf4e0('0x13')]&&_0x2af35b[_0xf4e0('0x13')]!=='0'?_0x2af35b['data3'][_0xf4e0('0x14')](','):[_0xf4e0('0x15')];_0xd409e6[_0xf4e0('0x16')]=_['map'](_0x4b7f09,function(_0xa66e0f){var _0x142e7e={};_0x142e7e[_0xa66e0f]=_0x4e9781[_0xf4e0('0x17')]?_0x4e9781[_0xf4e0('0x18')]:_0x4e9781['calleridnum'];return _0x142e7e;});}var _0x395ed0=['id','firstName',_0xf4e0('0x19'),_0xf4e0('0x15'),_0xf4e0('0x1a'),_0xf4e0('0x1b'),_0xf4e0('0x12'),_0xf4e0('0x1c'),_0xf4e0('0x1d'),_0xf4e0('0x1e')];var _0x33edaa=_[_0xf4e0('0x1f')](_0x395ed0,_0x4b7f09);BPromise[_0xf4e0('0x20')]()[_0xf4e0('0x21')](cmContactRpc[_0xf4e0('0x22')]({'attributes':_0x33edaa,'where':_0xd409e6}))[_0xf4e0('0x21')](function(_0x435afc){_0x302356=_0x435afc;if(!_[_0xf4e0('0x23')](_0x302356)){if(_0x302356[_0xf4e0('0x24')]===0x1){_0x320797=_0x302356[0x0];logger['info'](_0xf4e0('0x25'),_0x4e9781['uniqueid'],_0x3cafe9['id'],_0x320797['id']);}else{logger['info']('[CM][%s][%s]\x20Multiple\x20contacts\x20found:[%s]',_0x4e9781['uniqueid'],_0x3cafe9['id'],_[_0xf4e0('0x26')](_0x302356,'id')['join'](','));}return;}else{logger[_0xf4e0('0x27')](_0xf4e0('0x28'),_0x4e9781[_0xf4e0('0x29')],_0x3cafe9['id']);var _0x511289={'ListId':_0x2b70c0};var _0x3cb6c3=_0x2af35b[_0xf4e0('0x2a')]&&_0x2af35b[_0xf4e0('0x2a')]!=='0'?_0x2af35b[_0xf4e0('0x2a')]:'phone';if(_0x54c006){logger[_0xf4e0('0x27')]('[CM][%s][%s]\x20Autocreate\x20enabled',_0x4e9781['uniqueid'],_0x3cafe9['id']);_0x511289[_0x3cb6c3]=_['isNil'](_0x4e9781[_0xf4e0('0x17')])?_0x4e9781['calleridnum']:_0x4e9781[_0xf4e0('0x18')];if(_[_0xf4e0('0x2b')](_0x4e9781[_0xf4e0('0x17')])){_0x511289[_0xf4e0('0x2c')]=_0x4e9781[_0xf4e0('0x2d')]&&_0x4e9781[_0xf4e0('0x2d')]!==_0xf4e0('0x2e')?_0x4e9781[_0xf4e0('0x2d')]:_0xf4e0('0x2f');}else{_0x511289[_0xf4e0('0x2c')]=_0x4e9781[_0xf4e0('0x30')]&&_0x4e9781[_0xf4e0('0x30')]!==_0xf4e0('0x2e')?_0x4e9781[_0xf4e0('0x30')]:_0xf4e0('0x2f');}return BPromise[_0xf4e0('0x20')]()[_0xf4e0('0x21')](cmContactRpc[_0xf4e0('0x31')](_0x511289))[_0xf4e0('0x21')](function(_0x2ba88b){_0x320797=_0x2ba88b;_0x302356['push'](_0x2ba88b);if(_0x320797){logger['info'](_0xf4e0('0x32'),_0x4e9781[_0xf4e0('0x29')],_0x3cafe9['id'],_0x320797['id']);}return;});}else{logger[_0xf4e0('0x27')](_0xf4e0('0x33'),_0x4e9781[_0xf4e0('0x29')],_0x3cafe9['id']);_0x511289[_0x3cb6c3]=_[_0xf4e0('0x2b')](_0x4e9781[_0xf4e0('0x17')])?_0x4e9781['calleridnum']:_0x4e9781[_0xf4e0('0x18')];if(_[_0xf4e0('0x2b')](_0x4e9781[_0xf4e0('0x17')])){_0x511289[_0xf4e0('0x2c')]=_0x4e9781[_0xf4e0('0x2d')]&&_0x4e9781[_0xf4e0('0x2d')]!==_0xf4e0('0x2e')?_0x4e9781[_0xf4e0('0x2d')]:_0xf4e0('0x2f');}else{_0x511289['firstName']=_0x4e9781[_0xf4e0('0x30')]&&_0x4e9781['destcalleridname']!==_0xf4e0('0x2e')?_0x4e9781[_0xf4e0('0x30')]:_0xf4e0('0x2f');}_0x320797=_0x511289;_0x302356[_0xf4e0('0x34')](_0x511289);return;}}})['then'](function(){if(_0x284a21){emit(_0x4e9781[_0xf4e0('0x29')],_0x3cafe9,util[_0xf4e0('0x35')]('user:%s',_0x284a21[_0xf4e0('0x36')]),util['format'](_0xf4e0('0x37'),_0x2af35b['action'][_0xf4e0('0x38')]()),{'evt':_[_0xf4e0('0x39')](_0x4e9781,{'autoCreate':_0x54c006}),'contact':_0x320797===undefined?{}:_0x320797,'contacts':_0x302356['length']===0x0?undefined:_0x302356});}});};