Built motion from commit bbec7235.|2.6.20
[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 _0x00c2=['[CM][%s][%s]\x20Contact\x20created:%s','user:%s','name','trigger:%s','action','toLowerCase','merge','lodash','bluebird','util','../../../../config/environment','../../../../config/logger','trigger','../../rpc/cmContact','defaults','socket.io-emitter','info','[CM][%s][%s]','stringify','emit','exec','data1','data2','isNil','data5','xmd-contactid','ListId','data3','split','phone','map','destcalleridnum','calleridnum','routeId','firstName','mobile','fax','createdAt','updatedAt','union','resolve','then','getContacts','isEmpty','length','[CM][%s][%s]\x20Contact\x20found:%s','[CM][%s][%s]\x20Multiple\x20contacts\x20found:[%s]','uniqueid','join','[CM][%s][%s]\x20Contact\x20not\x20found','data4','[CM][%s][%s]\x20Autocreate\x20enabled','calleridname','destcalleridname','<unknown>','Unknown','push'];(function(_0x220b24,_0x2f3599){var _0x52cc97=function(_0x5651c0){while(--_0x5651c0){_0x220b24['push'](_0x220b24['shift']());}};_0x52cc97(++_0x2f3599);}(_0x00c2,0x79));var _0x200c=function(_0x501510,_0x61caa9){_0x501510=_0x501510-0x0;var _0x1e6ee5=_0x00c2[_0x501510];return _0x1e6ee5;};'use strict';var _=require(_0x200c('0x0'));var BPromise=require(_0x200c('0x1'));var Redis=require('ioredis');var util=require(_0x200c('0x2'));var config=require(_0x200c('0x3'));var logger=require(_0x200c('0x4'))(_0x200c('0x5'));var cmContactRpc=require(_0x200c('0x6'));config['redis']=_[_0x200c('0x7')](config['redis'],{'host':'localhost','port':0x18eb});var io=require(_0x200c('0x8'))(new Redis(config['redis']));function emit(_0x3f612b,_0x18a250,_0x26ff74,_0x32dfd6,_0x262279){logger[_0x200c('0x9')](_0x200c('0xa'),_0x3f612b,_0x18a250['id'],_0x26ff74,_0x32dfd6,JSON[_0x200c('0xb')](_0x262279));io['to'](_0x26ff74)[_0x200c('0xc')](_0x32dfd6,_0x262279);}exports[_0x200c('0xd')]=function(_0x383d46,_0x77929c,_0x5dfb71,_0x5e7c2c){var _0x5baeb4,_0x2402ce;var _0x13fd84={};var _0x2e301d;var _0x7d2c63=Number(_0x5dfb71[_0x200c('0xe')]);var _0x3c9243=_0x5dfb71[_0x200c('0xf')]?Boolean(Number(_0x5dfb71[_0x200c('0xf')])):![];var _0xb0125d;var _0x34a21c=![];if(!_[_0x200c('0x10')](_0x5dfb71[_0x200c('0x11')])){if(_0x5dfb71[_0x200c('0x11')]=='1')_0x34a21c=!![];}if(!_0x34a21c){if(_0x5e7c2c[_0x200c('0x12')]){_0x13fd84['id']=_0x5e7c2c[_0x200c('0x12')];}}if(!_0x13fd84['id']){_0x13fd84[_0x200c('0x13')]=_0x7d2c63;_0xb0125d=_0x5dfb71[_0x200c('0x14')]&&_0x5dfb71[_0x200c('0x14')]!=='0'?_0x5dfb71[_0x200c('0x14')][_0x200c('0x15')](','):[_0x200c('0x16')];_0x13fd84['$or']=_[_0x200c('0x17')](_0xb0125d,function(_0x5699d9){var _0x3d92e2={};_0x3d92e2[_0x5699d9]=_0x5e7c2c['routeId']?_0x5e7c2c[_0x200c('0x18')]:_0x5e7c2c[_0x200c('0x19')];return _0x3d92e2;});_0x2e301d=_0x5e7c2c[_0x200c('0x1a')]?_0x5e7c2c[_0x200c('0x18')]:_0x5e7c2c['calleridnum'];}var _0x721ad4=['id',_0x200c('0x1b'),'lastName',_0x200c('0x16'),_0x200c('0x1c'),_0x200c('0x1d'),_0x200c('0x13'),_0x200c('0x1e'),'scheduledAt',_0x200c('0x1f')];var _0x2a5883=_[_0x200c('0x20')](_0x721ad4,_0xb0125d);BPromise[_0x200c('0x21')]()[_0x200c('0x22')](cmContactRpc[_0x200c('0x23')]({'attributes':_0x2a5883,'where':_0x13fd84,'phone':_0x2e301d}))[_0x200c('0x22')](function(_0x44cc1c){_0x2402ce=_0x44cc1c;if(!_[_0x200c('0x24')](_0x2402ce)){if(_0x2402ce[_0x200c('0x25')]===0x1){_0x5baeb4=_0x2402ce[0x0];logger['info'](_0x200c('0x26'),_0x5e7c2c['uniqueid'],_0x77929c['id'],_0x5baeb4['id']);}else{logger[_0x200c('0x9')](_0x200c('0x27'),_0x5e7c2c[_0x200c('0x28')],_0x77929c['id'],_[_0x200c('0x17')](_0x2402ce,'id')[_0x200c('0x29')](','));}return;}else{logger['info'](_0x200c('0x2a'),_0x5e7c2c[_0x200c('0x28')],_0x77929c['id']);var _0x3776f6={'ListId':_0x7d2c63};var _0x38d676=_0x5dfb71[_0x200c('0x2b')]&&_0x5dfb71[_0x200c('0x2b')]!=='0'?_0x5dfb71['data4']:_0x200c('0x16');if(_0x3c9243){logger[_0x200c('0x9')](_0x200c('0x2c'),_0x5e7c2c[_0x200c('0x28')],_0x77929c['id']);_0x3776f6[_0x38d676]=_[_0x200c('0x10')](_0x5e7c2c[_0x200c('0x1a')])?_0x5e7c2c[_0x200c('0x19')]:_0x5e7c2c[_0x200c('0x18')];if(_[_0x200c('0x10')](_0x5e7c2c[_0x200c('0x1a')])){_0x3776f6[_0x200c('0x1b')]=_0x5e7c2c[_0x200c('0x2d')]&&_0x5e7c2c[_0x200c('0x2d')]!=='<unknown>'?_0x5e7c2c[_0x200c('0x2d')]:'Unknown';}else{_0x3776f6[_0x200c('0x1b')]=_0x5e7c2c[_0x200c('0x2e')]&&_0x5e7c2c[_0x200c('0x2e')]!==_0x200c('0x2f')?_0x5e7c2c[_0x200c('0x2e')]:_0x200c('0x30');}return BPromise[_0x200c('0x21')]()[_0x200c('0x22')](cmContactRpc['createContact'](_0x3776f6))['then'](function(_0x482efb){_0x5baeb4=_0x482efb;_0x2402ce[_0x200c('0x31')](_0x482efb);if(_0x5baeb4){logger[_0x200c('0x9')](_0x200c('0x32'),_0x5e7c2c[_0x200c('0x28')],_0x77929c['id'],_0x5baeb4['id']);}return;});}else{logger['info']('[CM][%s][%s]\x20Autocreate\x20disabled',_0x5e7c2c[_0x200c('0x28')],_0x77929c['id']);_0x3776f6[_0x38d676]=_[_0x200c('0x10')](_0x5e7c2c[_0x200c('0x1a')])?_0x5e7c2c['calleridnum']:_0x5e7c2c[_0x200c('0x18')];if(_[_0x200c('0x10')](_0x5e7c2c[_0x200c('0x1a')])){_0x3776f6['firstName']=_0x5e7c2c[_0x200c('0x2d')]&&_0x5e7c2c[_0x200c('0x2d')]!=='<unknown>'?_0x5e7c2c[_0x200c('0x2d')]:_0x200c('0x30');}else{_0x3776f6[_0x200c('0x1b')]=_0x5e7c2c[_0x200c('0x2e')]&&_0x5e7c2c['destcalleridname']!==_0x200c('0x2f')?_0x5e7c2c[_0x200c('0x2e')]:_0x200c('0x30');}_0x5baeb4=_0x3776f6;_0x2402ce[_0x200c('0x31')](_0x3776f6);return;}}})[_0x200c('0x22')](function(){if(_0x383d46){emit(_0x5e7c2c[_0x200c('0x28')],_0x77929c,util['format'](_0x200c('0x33'),_0x383d46[_0x200c('0x34')]),util['format'](_0x200c('0x35'),_0x5dfb71[_0x200c('0x36')][_0x200c('0x37')]()),{'evt':_[_0x200c('0x38')](_0x5e7c2c,{'autoCreate':_0x3c9243}),'contact':_0x5baeb4===undefined?{}:_0x5baeb4,'contacts':_0x2402ce[_0x200c('0x25')]===0x0?undefined:_0x2402ce});}});};