Built motion from commit (unavailable).|2.5.31
[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 _0x2d08=['bluebird','ioredis','util','../../../../config/environment','../../../../config/logger','trigger','../../rpc/cmContact','redis','localhost','[CM][%s][%s]','emit','exec','data1','data2','xmd-contactid','ListId','data3','$or','map','routeId','destcalleridnum','calleridnum','firstName','lastName','mobile','fax','createdAt','scheduledAt','updatedAt','union','resolve','then','getContacts','length','[CM][%s][%s]\x20Contact\x20found:%s','info','[CM][%s][%s]\x20Multiple\x20contacts\x20found:[%s]','[CM][%s][%s]\x20Contact\x20not\x20found','uniqueid','data4','phone','[CM][%s][%s]\x20Autocreate\x20enabled','isNil','calleridname','<unknown>','Unknown','destcalleridname','createContact','push','[CM][%s][%s]\x20Contact\x20created:%s','[CM][%s][%s]\x20Autocreate\x20disabled','format','user:%s','action','merge'];(function(_0x5c814d,_0x4d81c7){var _0x89b71=function(_0x1068a4){while(--_0x1068a4){_0x5c814d['push'](_0x5c814d['shift']());}};_0x89b71(++_0x4d81c7);}(_0x2d08,0xdc));var _0x82d0=function(_0x1d537c,_0x2b834d){_0x1d537c=_0x1d537c-0x0;var _0x184fb9=_0x2d08[_0x1d537c];return _0x184fb9;};'use strict';var _=require('lodash');var BPromise=require(_0x82d0('0x0'));var Redis=require(_0x82d0('0x1'));var util=require(_0x82d0('0x2'));var config=require(_0x82d0('0x3'));var logger=require(_0x82d0('0x4'))(_0x82d0('0x5'));var cmContactRpc=require(_0x82d0('0x6'));config[_0x82d0('0x7')]=_['defaults'](config['redis'],{'host':_0x82d0('0x8'),'port':0x18eb});var io=require('socket.io-emitter')(new Redis(config[_0x82d0('0x7')]));function emit(_0x43d5d7,_0x42ba29,_0x1d5ea7,_0xf88d5c,_0xdc65cf){logger['info'](_0x82d0('0x9'),_0x43d5d7,_0x42ba29['id'],_0x1d5ea7,_0xf88d5c,JSON['stringify'](_0xdc65cf));io['to'](_0x1d5ea7)[_0x82d0('0xa')](_0xf88d5c,_0xdc65cf);}exports[_0x82d0('0xb')]=function(_0x7cc549,_0x5af0d1,_0x59215d,_0x26d832){var _0x42dcf3,_0x3142ab;var _0x5e83c0={};var _0x1e83ea=Number(_0x59215d[_0x82d0('0xc')]);var _0xbb6653=_0x59215d['data2']?Boolean(Number(_0x59215d[_0x82d0('0xd')])):![];var _0x79e207;if(_0x26d832[_0x82d0('0xe')]){_0x5e83c0['id']=_0x26d832[_0x82d0('0xe')];}if(!_0x5e83c0['id']){_0x5e83c0[_0x82d0('0xf')]=_0x1e83ea;_0x79e207=_0x59215d[_0x82d0('0x10')]&&_0x59215d[_0x82d0('0x10')]!=='0'?_0x59215d[_0x82d0('0x10')]['split'](','):['phone'];_0x5e83c0[_0x82d0('0x11')]=_[_0x82d0('0x12')](_0x79e207,function(_0x7628c2){var _0x196800={};_0x196800[_0x7628c2]=_0x26d832[_0x82d0('0x13')]?_0x26d832[_0x82d0('0x14')]:_0x26d832[_0x82d0('0x15')];return _0x196800;});}var _0x2f3e1d=['id',_0x82d0('0x16'),_0x82d0('0x17'),'phone',_0x82d0('0x18'),_0x82d0('0x19'),_0x82d0('0xf'),_0x82d0('0x1a'),_0x82d0('0x1b'),_0x82d0('0x1c')];var _0x1023a2=_[_0x82d0('0x1d')](_0x2f3e1d,_0x79e207);BPromise[_0x82d0('0x1e')]()[_0x82d0('0x1f')](cmContactRpc[_0x82d0('0x20')]({'attributes':_0x1023a2,'where':_0x5e83c0}))[_0x82d0('0x1f')](function(_0x3a40f8){_0x3142ab=_0x3a40f8;if(!_['isEmpty'](_0x3142ab)){if(_0x3142ab[_0x82d0('0x21')]===0x1){_0x42dcf3=_0x3142ab[0x0];logger['info'](_0x82d0('0x22'),_0x26d832['uniqueid'],_0x5af0d1['id'],_0x42dcf3['id']);}else{logger[_0x82d0('0x23')](_0x82d0('0x24'),_0x26d832['uniqueid'],_0x5af0d1['id'],_[_0x82d0('0x12')](_0x3142ab,'id')['join'](','));}return;}else{logger[_0x82d0('0x23')](_0x82d0('0x25'),_0x26d832[_0x82d0('0x26')],_0x5af0d1['id']);var _0x5d9905={'ListId':_0x1e83ea};var _0x1f309c=_0x59215d[_0x82d0('0x27')]&&_0x59215d[_0x82d0('0x27')]!=='0'?_0x59215d[_0x82d0('0x27')]:_0x82d0('0x28');if(_0xbb6653){logger[_0x82d0('0x23')](_0x82d0('0x29'),_0x26d832[_0x82d0('0x26')],_0x5af0d1['id']);_0x5d9905[_0x1f309c]=_[_0x82d0('0x2a')](_0x26d832['routeId'])?_0x26d832[_0x82d0('0x15')]:_0x26d832[_0x82d0('0x14')];if(_[_0x82d0('0x2a')](_0x26d832[_0x82d0('0x13')])){_0x5d9905[_0x82d0('0x16')]=_0x26d832[_0x82d0('0x2b')]&&_0x26d832[_0x82d0('0x2b')]!==_0x82d0('0x2c')?_0x26d832['calleridname']:_0x82d0('0x2d');}else{_0x5d9905['firstName']=_0x26d832[_0x82d0('0x2e')]&&_0x26d832['destcalleridname']!=='<unknown>'?_0x26d832[_0x82d0('0x2e')]:_0x82d0('0x2d');}return BPromise[_0x82d0('0x1e')]()['then'](cmContactRpc[_0x82d0('0x2f')](_0x5d9905))[_0x82d0('0x1f')](function(_0x27267a){_0x42dcf3=_0x27267a;_0x3142ab[_0x82d0('0x30')](_0x27267a);if(_0x42dcf3){logger[_0x82d0('0x23')](_0x82d0('0x31'),_0x26d832['uniqueid'],_0x5af0d1['id'],_0x42dcf3['id']);}return;});}else{logger[_0x82d0('0x23')](_0x82d0('0x32'),_0x26d832[_0x82d0('0x26')],_0x5af0d1['id']);_0x5d9905[_0x1f309c]=_[_0x82d0('0x2a')](_0x26d832[_0x82d0('0x13')])?_0x26d832[_0x82d0('0x15')]:_0x26d832[_0x82d0('0x14')];if(_['isNil'](_0x26d832[_0x82d0('0x13')])){_0x5d9905[_0x82d0('0x16')]=_0x26d832[_0x82d0('0x2b')]&&_0x26d832[_0x82d0('0x2b')]!==_0x82d0('0x2c')?_0x26d832[_0x82d0('0x2b')]:'Unknown';}else{_0x5d9905[_0x82d0('0x16')]=_0x26d832[_0x82d0('0x2e')]&&_0x26d832[_0x82d0('0x2e')]!==_0x82d0('0x2c')?_0x26d832[_0x82d0('0x2e')]:_0x82d0('0x2d');}_0x42dcf3=_0x5d9905;_0x3142ab['push'](_0x5d9905);return;}}})[_0x82d0('0x1f')](function(){if(_0x7cc549){emit(_0x26d832[_0x82d0('0x26')],_0x5af0d1,util[_0x82d0('0x33')](_0x82d0('0x34'),_0x7cc549['name']),util[_0x82d0('0x33')]('trigger:%s',_0x59215d[_0x82d0('0x35')]['toLowerCase']()),{'evt':_[_0x82d0('0x36')](_0x26d832,{'autoCreate':_0xbb6653}),'contact':_0x42dcf3===undefined?{}:_0x42dcf3,'contacts':_0x3142ab[_0x82d0('0x21')]===0x0?undefined:_0x3142ab});}});};