b939412eb0a2e3c6c93f680c2b69f66889c39813
[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 _0x8d23=['data3','phone','$or','routeId','destcalleridnum','calleridnum','firstName','lastName','createdAt','scheduledAt','union','resolve','then','length','[CM][%s][%s]\x20Contact\x20found:%s','uniqueid','[CM][%s][%s]\x20Multiple\x20contacts\x20found:[%s]','map','join','[CM][%s][%s]\x20Contact\x20not\x20found','data4','[CM][%s][%s]\x20Autocreate\x20enabled','isNil','calleridname','<unknown>','destcalleridname','Unknown','createContact','push','[CM][%s][%s]\x20Contact\x20created:%s','[CM][%s][%s]\x20Autocreate\x20disabled','format','user:%s','name','action','toLowerCase','merge','bluebird','ioredis','util','../../../../config/environment','../../../../config/logger','../../rpc/cmContact','redis','defaults','localhost','info','[CM][%s][%s]','emit','data1','data2','data5','xmd-contactid','ListId'];(function(_0x3b8d58,_0x1c313c){var _0x33ea08=function(_0x187d65){while(--_0x187d65){_0x3b8d58['push'](_0x3b8d58['shift']());}};_0x33ea08(++_0x1c313c);}(_0x8d23,0x133));var _0x38d2=function(_0x49a7d1,_0x547a87){_0x49a7d1=_0x49a7d1-0x0;var _0x35a99d=_0x8d23[_0x49a7d1];return _0x35a99d;};'use strict';var _=require('lodash');var BPromise=require(_0x38d2('0x0'));var Redis=require(_0x38d2('0x1'));var util=require(_0x38d2('0x2'));var config=require(_0x38d2('0x3'));var logger=require(_0x38d2('0x4'))('trigger');var cmContactRpc=require(_0x38d2('0x5'));config[_0x38d2('0x6')]=_[_0x38d2('0x7')](config[_0x38d2('0x6')],{'host':_0x38d2('0x8'),'port':0x18eb});var io=require('socket.io-emitter')(new Redis(config[_0x38d2('0x6')]));function emit(_0x21cf9a,_0x2e7391,_0x412b7e,_0x5317a6,_0x19cf29){logger[_0x38d2('0x9')](_0x38d2('0xa'),_0x21cf9a,_0x2e7391['id'],_0x412b7e,_0x5317a6,JSON['stringify'](_0x19cf29));io['to'](_0x412b7e)[_0x38d2('0xb')](_0x5317a6,_0x19cf29);}exports['exec']=function(_0x344c17,_0x7557ea,_0x23c119,_0x5959fe){var _0x4deb93,_0x4c999b;var _0x58d9bb={};var _0x2bf240;var _0x1746e4=Number(_0x23c119[_0x38d2('0xc')]);var _0x2566a5=_0x23c119[_0x38d2('0xd')]?Boolean(Number(_0x23c119['data2'])):![];var _0x57cef3;var _0x105314=![];if(!_['isNil'](_0x23c119[_0x38d2('0xe')])){if(_0x23c119['data5']=='1')_0x105314=!![];}if(!_0x105314){if(_0x5959fe[_0x38d2('0xf')]){_0x58d9bb['id']=_0x5959fe[_0x38d2('0xf')];}}if(!_0x58d9bb['id']){_0x58d9bb[_0x38d2('0x10')]=_0x1746e4;_0x57cef3=_0x23c119[_0x38d2('0x11')]&&_0x23c119['data3']!=='0'?_0x23c119['data3']['split'](','):[_0x38d2('0x12')];_0x58d9bb[_0x38d2('0x13')]=_['map'](_0x57cef3,function(_0x12ed0f){var _0x3fe0c9={};_0x3fe0c9[_0x12ed0f]=_0x5959fe[_0x38d2('0x14')]?_0x5959fe[_0x38d2('0x15')]:_0x5959fe[_0x38d2('0x16')];return _0x3fe0c9;});_0x2bf240=_0x5959fe[_0x38d2('0x14')]?_0x5959fe[_0x38d2('0x15')]:_0x5959fe[_0x38d2('0x16')];}var _0xd92c18=['id',_0x38d2('0x17'),_0x38d2('0x18'),_0x38d2('0x12'),'mobile','fax',_0x38d2('0x10'),_0x38d2('0x19'),_0x38d2('0x1a'),'updatedAt'];var _0x3d4a04=_[_0x38d2('0x1b')](_0xd92c18,_0x57cef3);BPromise[_0x38d2('0x1c')]()[_0x38d2('0x1d')](cmContactRpc['getContacts']({'attributes':_0x3d4a04,'where':_0x58d9bb,'phone':_0x2bf240}))[_0x38d2('0x1d')](function(_0x599a05){_0x4c999b=_0x599a05;if(!_['isEmpty'](_0x4c999b)){if(_0x4c999b[_0x38d2('0x1e')]===0x1){_0x4deb93=_0x4c999b[0x0];logger[_0x38d2('0x9')](_0x38d2('0x1f'),_0x5959fe[_0x38d2('0x20')],_0x7557ea['id'],_0x4deb93['id']);}else{logger[_0x38d2('0x9')](_0x38d2('0x21'),_0x5959fe[_0x38d2('0x20')],_0x7557ea['id'],_[_0x38d2('0x22')](_0x4c999b,'id')[_0x38d2('0x23')](','));}return;}else{logger[_0x38d2('0x9')](_0x38d2('0x24'),_0x5959fe['uniqueid'],_0x7557ea['id']);var _0x158662={'ListId':_0x1746e4};var _0x596e16=_0x23c119[_0x38d2('0x25')]&&_0x23c119[_0x38d2('0x25')]!=='0'?_0x23c119['data4']:'phone';if(_0x2566a5){logger[_0x38d2('0x9')](_0x38d2('0x26'),_0x5959fe['uniqueid'],_0x7557ea['id']);_0x158662[_0x596e16]=_[_0x38d2('0x27')](_0x5959fe[_0x38d2('0x14')])?_0x5959fe[_0x38d2('0x16')]:_0x5959fe[_0x38d2('0x15')];if(_['isNil'](_0x5959fe[_0x38d2('0x14')])){_0x158662['firstName']=_0x5959fe[_0x38d2('0x28')]&&_0x5959fe[_0x38d2('0x28')]!==_0x38d2('0x29')?_0x5959fe[_0x38d2('0x28')]:'Unknown';}else{_0x158662['firstName']=_0x5959fe[_0x38d2('0x2a')]&&_0x5959fe[_0x38d2('0x2a')]!==_0x38d2('0x29')?_0x5959fe[_0x38d2('0x2a')]:_0x38d2('0x2b');}return BPromise['resolve']()['then'](cmContactRpc[_0x38d2('0x2c')](_0x158662))[_0x38d2('0x1d')](function(_0x51cf3d){_0x4deb93=_0x51cf3d;_0x4c999b[_0x38d2('0x2d')](_0x51cf3d);if(_0x4deb93){logger[_0x38d2('0x9')](_0x38d2('0x2e'),_0x5959fe[_0x38d2('0x20')],_0x7557ea['id'],_0x4deb93['id']);}return;});}else{logger[_0x38d2('0x9')](_0x38d2('0x2f'),_0x5959fe[_0x38d2('0x20')],_0x7557ea['id']);_0x158662[_0x596e16]=_[_0x38d2('0x27')](_0x5959fe[_0x38d2('0x14')])?_0x5959fe[_0x38d2('0x16')]:_0x5959fe['destcalleridnum'];if(_[_0x38d2('0x27')](_0x5959fe['routeId'])){_0x158662[_0x38d2('0x17')]=_0x5959fe[_0x38d2('0x28')]&&_0x5959fe[_0x38d2('0x28')]!=='<unknown>'?_0x5959fe[_0x38d2('0x28')]:_0x38d2('0x2b');}else{_0x158662['firstName']=_0x5959fe['destcalleridname']&&_0x5959fe[_0x38d2('0x2a')]!==_0x38d2('0x29')?_0x5959fe[_0x38d2('0x2a')]:_0x38d2('0x2b');}_0x4deb93=_0x158662;_0x4c999b[_0x38d2('0x2d')](_0x158662);return;}}})[_0x38d2('0x1d')](function(){if(_0x344c17){emit(_0x5959fe[_0x38d2('0x20')],_0x7557ea,util[_0x38d2('0x30')](_0x38d2('0x31'),_0x344c17[_0x38d2('0x32')]),util[_0x38d2('0x30')]('trigger:%s',_0x23c119[_0x38d2('0x33')][_0x38d2('0x34')]()),{'evt':_[_0x38d2('0x35')](_0x5959fe,{'autoCreate':_0x2566a5}),'contact':_0x4deb93===undefined?{}:_0x4deb93,'contacts':_0x4c999b[_0x38d2('0x1e')]===0x0?undefined:_0x4c999b});}});};