a66b7967ecf3ec12dabab0edfc53d55e6f586073
[motion2.git] / server / api / cmHopper / cmHopper.controller.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 _0x2239=['update','then','destroy','error','stack','name','send','index','map','CmHopper','rawAttributes','fieldName','type','key','model','query','intersection','concat','filters','$and','$gt','$gte','$lt','$lte','$ne','$not','$between','$notBetween','$in','$notIn','$like','$notLike','$iLike','$overlap','$contained','$any','attributes','fields','length','hasOwnProperty','nolimit','limit','order','sort','where','pick','merge','VIRTUAL','filter','options','catch','keys','includeAll','include','find','create','body','params','describe','VoiceQueueId','CampaignId','VoiceQueue','Campaign','dataValues','createdAt','state','statedesc','deleted','campaign','membername','user','UserId','deletedat','format','YYYY-MM-DD\x20HH:mm:ss','calleridnum','phone','campaigntype','queue','ivr','firstName','isNil','lastName','calleridname','finally','CmHopperFinal','getPreview','CmContact','getVoiceQueues','dialOrderByScheduledAt','dialPreviewAutoRecallMe','sequelize','transaction','value','direction','isEmpty','hopperIds','ASC','DESC','literal','priority','scheduledAt','scheduledat','recallme','LOCK','Contact','CmCompany','CmList','List','Queue','dialActive','getPreviewRecall','UPDATE','Company','getOpenContacts','outbound','preview','isNumber','CmHopper,\x20%s,\x20%s,\x20%s','entity\x20not\x20found','getTimezones','timezones','utcOffset','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','fs-extra','lodash','crypto','jsforce','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','api','../../config/utils','../../config/environment','../../mysqldb','status','end','json','offset','undefined','count','set','Content-Range','save'];(function(_0x44e50a,_0x1cc4a2){var _0x1b5994=function(_0x29a487){while(--_0x29a487){_0x44e50a['push'](_0x44e50a['shift']());}};_0x1b5994(++_0x1cc4a2);}(_0x2239,0x1b1));var _0x9223=function(_0x44fbb6,_0x2e833e){_0x44fbb6=_0x44fbb6-0x0;var _0x270ec=_0x2239[_0x44fbb6];return _0x270ec;};'use strict';var emlformat=require(_0x9223('0x0'));var rimraf=require(_0x9223('0x1'));var zipdir=require(_0x9223('0x2'));var jsonpatch=require(_0x9223('0x3'));var rp=require(_0x9223('0x4'));var moment=require(_0x9223('0x5'));var BPromise=require(_0x9223('0x6'));var Mustache=require(_0x9223('0x7'));var util=require(_0x9223('0x8'));var path=require('path');var sox=require(_0x9223('0x9'));var csv=require(_0x9223('0xa'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x9223('0xb'));var _=require(_0x9223('0xc'));var squel=require('squel');var crypto=require(_0x9223('0xd'));var jsforce=require(_0x9223('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x9223('0xa'));var querystring=require(_0x9223('0xf'));var Papa=require(_0x9223('0x10'));var Redis=require('ioredis');var authService=require(_0x9223('0x11'));var qs=require(_0x9223('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x9223('0x13'));var utils=require(_0x9223('0x14'));var config=require(_0x9223('0x15'));var shared=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x9223('0x16'))['db'];function respondWithStatusCode(_0x3e8939,_0x4613ac){_0x4613ac=_0x4613ac||0xcc;return function(_0x386515){if(_0x386515){return _0x3e8939['sendStatus'](_0x4613ac);}return _0x3e8939[_0x9223('0x17')](_0x4613ac)[_0x9223('0x18')]();};}function respondWithResult(_0x2cc52e,_0x1896ea){_0x1896ea=_0x1896ea||0xc8;return function(_0x9700d7){if(_0x9700d7){return _0x2cc52e[_0x9223('0x17')](_0x1896ea)[_0x9223('0x19')](_0x9700d7);}};}function respondWithFilteredResult(_0x4a03d6,_0xe35a0d){return function(_0x2624f5){if(_0x2624f5){var _0x809aaa=typeof _0xe35a0d[_0x9223('0x1a')]===_0x9223('0x1b')&&typeof _0xe35a0d['limit']===_0x9223('0x1b');var _0x541e1e=_0x2624f5[_0x9223('0x1c')];var _0x2e77fd=_0x809aaa?0x0:_0xe35a0d[_0x9223('0x1a')];var _0x15889f=_0x809aaa?_0x2624f5[_0x9223('0x1c')]:_0xe35a0d[_0x9223('0x1a')]+_0xe35a0d['limit'];var _0x4d170e;if(_0x15889f>=_0x541e1e){_0x15889f=_0x541e1e;_0x4d170e=0xc8;}else{_0x4d170e=0xce;}_0x4a03d6['status'](_0x4d170e);return _0x4a03d6[_0x9223('0x1d')](_0x9223('0x1e'),_0x2e77fd+'-'+_0x15889f+'/'+_0x541e1e)[_0x9223('0x19')](_0x2624f5);}return null;};}function patchUpdates(_0x638a2b){return function(_0x5718ac){try{jsonpatch['apply'](_0x5718ac,_0x638a2b,!![]);}catch(_0x4a9b17){return BPromise['reject'](_0x4a9b17);}return _0x5718ac[_0x9223('0x1f')]();};}function saveUpdates(_0x3ae84b,_0x634d7e){return function(_0x18ef84){if(_0x18ef84){return _0x18ef84[_0x9223('0x20')](_0x3ae84b)[_0x9223('0x21')](function(_0x149c1d){return _0x149c1d;});}return null;};}function removeEntity(_0xa24e03,_0x243bb8){return function(_0x41cde3){if(_0x41cde3){return _0x41cde3[_0x9223('0x22')]()['then'](function(){_0xa24e03[_0x9223('0x17')](0xcc)[_0x9223('0x18')]();});}};}function handleEntityNotFound(_0x12568a,_0x1a9c9f){return function(_0x42ef0c){if(!_0x42ef0c){_0x12568a['sendStatus'](0x194);}return _0x42ef0c;};}function handleError(_0x1fa004,_0x11a845){_0x11a845=_0x11a845||0x1f4;return function(_0x1583d2){logger[_0x9223('0x23')](_0x1583d2[_0x9223('0x24')]);if(_0x1583d2[_0x9223('0x25')]){delete _0x1583d2[_0x9223('0x25')];}_0x1fa004[_0x9223('0x17')](_0x11a845)[_0x9223('0x26')](_0x1583d2);};}exports[_0x9223('0x27')]=function(_0x3fc46a,_0x211cf8){var _0x403f97={},_0x140f42={},_0x2fe032={'count':0x0,'rows':[]};var _0x48f8aa=_[_0x9223('0x28')](db[_0x9223('0x29')][_0x9223('0x2a')],function(_0x12da44){return{'name':_0x12da44[_0x9223('0x2b')],'type':_0x12da44[_0x9223('0x2c')][_0x9223('0x2d')]};});_0x140f42[_0x9223('0x2e')]=_[_0x9223('0x28')](_0x48f8aa,_0x9223('0x25'));_0x140f42[_0x9223('0x2f')]=_['keys'](_0x3fc46a['query']);_0x140f42['filters']=_[_0x9223('0x30')](_0x140f42[_0x9223('0x2e')],_0x140f42[_0x9223('0x2f')]);_0x140f42['filters']=_[_0x9223('0x31')](_0x140f42[_0x9223('0x32')],[_0x9223('0x33'),'$or',_0x9223('0x34'),_0x9223('0x35'),_0x9223('0x36'),_0x9223('0x37'),_0x9223('0x38'),'$eq',_0x9223('0x39'),_0x9223('0x3a'),_0x9223('0x3b'),_0x9223('0x3c'),_0x9223('0x3d'),_0x9223('0x3e'),_0x9223('0x3f'),_0x9223('0x40'),'$notILike',_0x9223('0x3e'),_0x9223('0x41'),'$contains',_0x9223('0x42'),_0x9223('0x43')]);_0x403f97[_0x9223('0x44')]=_[_0x9223('0x30')](_0x140f42[_0x9223('0x2e')],qs[_0x9223('0x45')](_0x3fc46a['query'][_0x9223('0x45')]));_0x403f97[_0x9223('0x44')]=_0x403f97[_0x9223('0x44')][_0x9223('0x46')]?_0x403f97[_0x9223('0x44')]:_0x140f42[_0x9223('0x2e')];if(!_0x3fc46a[_0x9223('0x2f')][_0x9223('0x47')](_0x9223('0x48'))){_0x403f97[_0x9223('0x49')]=qs[_0x9223('0x49')](_0x3fc46a[_0x9223('0x2f')]['limit']);_0x403f97[_0x9223('0x1a')]=qs['offset'](_0x3fc46a['query'][_0x9223('0x1a')]);}_0x403f97[_0x9223('0x4a')]=qs[_0x9223('0x4b')](_0x3fc46a['query']['sort']);_0x403f97[_0x9223('0x4c')]=qs['filters'](_[_0x9223('0x4d')](_0x3fc46a[_0x9223('0x2f')],_0x140f42[_0x9223('0x32')]),_0x48f8aa);if(_0x3fc46a[_0x9223('0x2f')]['filter']){_0x403f97[_0x9223('0x4c')]=_[_0x9223('0x4e')](_0x403f97[_0x9223('0x4c')],{'$or':_[_0x9223('0x28')](_0x48f8aa,function(_0x374362){if(_0x374362[_0x9223('0x2c')]!==_0x9223('0x4f')){var _0x417abf={};_0x417abf[_0x374362[_0x9223('0x25')]]={'$like':'%'+_0x3fc46a[_0x9223('0x2f')][_0x9223('0x50')]+'%'};return _0x417abf;}})});}_0x403f97=_[_0x9223('0x4e')]({},_0x403f97,_0x3fc46a[_0x9223('0x51')]);var _0x1a32b0={'where':_0x403f97[_0x9223('0x4c')]};return db[_0x9223('0x29')][_0x9223('0x1c')](_0x1a32b0)[_0x9223('0x21')](function(_0x500bcf){_0x2fe032[_0x9223('0x1c')]=_0x500bcf;if(_0x3fc46a[_0x9223('0x2f')]['includeAll']){_0x403f97['include']=[{'all':!![]}];}return db[_0x9223('0x29')]['findAll'](_0x403f97);})['then'](function(_0x169d37){_0x2fe032['rows']=_0x169d37;return _0x2fe032;})[_0x9223('0x21')](respondWithFilteredResult(_0x211cf8,_0x403f97))[_0x9223('0x52')](handleError(_0x211cf8,null));};exports['show']=function(_0x5332e4,_0x18f910){var _0x150961={'raw':!![],'where':{'id':_0x5332e4['params']['id']}},_0x45f8f6={};_0x45f8f6[_0x9223('0x2e')]=_[_0x9223('0x53')](db[_0x9223('0x29')][_0x9223('0x2a')]);_0x45f8f6['query']=_[_0x9223('0x53')](_0x5332e4[_0x9223('0x2f')]);_0x45f8f6[_0x9223('0x32')]=_[_0x9223('0x30')](_0x45f8f6[_0x9223('0x2e')],_0x45f8f6[_0x9223('0x2f')]);_0x150961['attributes']=_[_0x9223('0x30')](_0x45f8f6['model'],qs[_0x9223('0x45')](_0x5332e4[_0x9223('0x2f')][_0x9223('0x45')]));_0x150961[_0x9223('0x44')]=_0x150961['attributes'][_0x9223('0x46')]?_0x150961[_0x9223('0x44')]:_0x45f8f6[_0x9223('0x2e')];if(_0x5332e4[_0x9223('0x2f')][_0x9223('0x54')]){_0x150961[_0x9223('0x55')]=[{'all':!![]}];}_0x150961=_[_0x9223('0x4e')]({},_0x150961,_0x5332e4[_0x9223('0x51')]);return db[_0x9223('0x29')][_0x9223('0x56')](_0x150961)[_0x9223('0x21')](handleEntityNotFound(_0x18f910,null))[_0x9223('0x21')](respondWithResult(_0x18f910,null))[_0x9223('0x52')](handleError(_0x18f910,null));};exports[_0x9223('0x57')]=function(_0xf4f23c,_0x4429e3){return db[_0x9223('0x29')][_0x9223('0x57')](_0xf4f23c[_0x9223('0x58')],{})[_0x9223('0x21')](respondWithResult(_0x4429e3,0xc9))[_0x9223('0x52')](handleError(_0x4429e3,null));};exports[_0x9223('0x20')]=function(_0x376de3,_0x3a7a8c){if(_0x376de3['body']['id']){delete _0x376de3[_0x9223('0x58')]['id'];}return db[_0x9223('0x29')][_0x9223('0x56')]({'where':{'id':_0x376de3[_0x9223('0x59')]['id']}})[_0x9223('0x21')](handleEntityNotFound(_0x3a7a8c,null))[_0x9223('0x21')](saveUpdates(_0x376de3[_0x9223('0x58')],null))[_0x9223('0x21')](respondWithResult(_0x3a7a8c,null))[_0x9223('0x52')](handleError(_0x3a7a8c,null));};exports[_0x9223('0x5a')]=function(_0x45a7f1,_0x128711){return db['CmHopper'][_0x9223('0x5a')]()[_0x9223('0x21')](respondWithResult(_0x128711,null))['catch'](handleError(_0x128711,null));};exports['destroy']=function(_0xc68708,_0x43a452){var _0x5e75bc;var _0xb9529a=_0xc68708['params']['id'];return db[_0x9223('0x29')][_0x9223('0x56')]({'where':{'id':_0xc68708[_0x9223('0x59')]['id']}})[_0x9223('0x21')](handleEntityNotFound(_0x43a452,null))[_0x9223('0x21')](function(_0x524675){if(_0x524675){return _0x524675[_0x9223('0x22')]()[_0x9223('0x21')](function(_0x26875b){return _0x26875b;});}})[_0x9223('0x21')](function(_0x4fb259){_0x5e75bc=_0x4fb259;if(_0x4fb259){if(_0x4fb259[_0x9223('0x5b')]||_0x4fb259[_0x9223('0x5c')]){return db[_0x4fb259[_0x9223('0x5b')]?_0x9223('0x5d'):_0x9223('0x5e')][_0x9223('0x56')]({'where':{'id':_0x4fb259[_0x9223('0x5b')]?_0x4fb259[_0x9223('0x5b')]:_0x4fb259[_0x9223('0x5c')]},'attributes':['id',_0x9223('0x25')],'raw':!![]});}}})['then'](function(_0x8acf5d){var _0x33327c={};if(_0x8acf5d){_[_0x9223('0x4e')](_0x33327c,_['omit'](_0x5e75bc[_0x9223('0x5f')],[_0x9223('0x60'),'updatedAt','id']));_0x33327c[_0x9223('0x61')]=0x15;_0x33327c[_0x9223('0x62')]=_0x9223('0x63');_0x33327c[_0x9223('0x64')]=_0x8acf5d['name'];_0x33327c[_0x9223('0x65')]=_0xc68708[_0x9223('0x66')][_0x9223('0x25')];_0x33327c[_0x9223('0x67')]=_0xc68708[_0x9223('0x66')]['id'];_0x33327c[_0x9223('0x63')]=!![];_0x33327c[_0x9223('0x68')]=moment()[_0x9223('0x69')](_0x9223('0x6a'));_0x33327c[_0x9223('0x6b')]=_0x5e75bc[_0x9223('0x6c')];_0x33327c[_0x9223('0x6d')]=_0x5e75bc[_0x9223('0x5b')]?_0x9223('0x6e'):_0x9223('0x6f');return db['CmContact'][_0x9223('0x56')]({'where':{'id':_0x33327c['ContactId']},'attributes':[_0x9223('0x70'),'lastName']})[_0x9223('0x21')](function(_0x56e10b){if(!_[_0x9223('0x71')](_0x43a452)&&!_[_0x9223('0x71')](_0x56e10b[_0x9223('0x70')])){_0x33327c['calleridname']=_0x56e10b[_0x9223('0x70')];if(!_[_0x9223('0x71')](_0x56e10b[_0x9223('0x72')])){_0x33327c[_0x9223('0x73')]+='\x20'+_0x56e10b[_0x9223('0x72')];}}})[_0x9223('0x74')](function(){return db[_0x9223('0x75')]['create'](_0x33327c);});}})[_0x9223('0x21')](function(_0x15fc0a){return db['CmHopperAdditionalPhone']['destroy']({'where':{'CmHopperId':_0xb9529a}});})[_0x9223('0x21')](function(){return _0x43a452['status'](0xcc)[_0x9223('0x18')]();})[_0x9223('0x52')](handleError(_0x43a452,null));};exports[_0x9223('0x76')]=function(_0x1e33d3,_0x8ee357,_0x13a7ee){var _0xc61569=[];return db[_0x9223('0x77')][_0x9223('0x5a')]()[_0x9223('0x21')](function(_0xfd46d8){_0xc61569=_[_0x9223('0x53')](_0xfd46d8);return _0x1e33d3[_0x9223('0x66')][_0x9223('0x78')]({'where':{'type':'outbound','dialActive':!![],'dialMethod':'preview'},'attributes':['id',_0x9223('0x79'),_0x9223('0x7a')],'raw':!![]});})[_0x9223('0x21')](function(_0x2d693a){if(_0x2d693a&&_0x2d693a[_0x9223('0x46')]){return db[_0x9223('0x7b')][_0x9223('0x7c')](function(_0x58ba2e){var _0x341766={'active':![],'recallme':![],'scheduledAt':{'$lte':moment()['format']('YYYY-MM-DD\x20HH:mm:ss')},'VoiceQueueId':{'$in':_[_0x9223('0x28')](_0x2d693a,'id')},'$or':[{'UserId':null},{'UserId':_0x1e33d3[_0x9223('0x66')]['id']}]};var _0x1a7ee0={'active':![],'recallme':!![],'VoiceQueueId':{'$in':_(_0x2d693a)[_0x9223('0x50')]([_0x9223('0x7a'),0x0])[_0x9223('0x28')]('id')[_0x9223('0x7d')]()},'$or':[{'UserId':null},{'UserId':_0x1e33d3['user']['id']}]};var _0x180716={'$or':[_0x341766,_0x1a7ee0]};var _0x3a7a9f=[];if(_0x1e33d3['body'][_0x9223('0x7e')]&&_0x1e33d3[_0x9223('0x58')]['direction']==='prev'){if(!_[_0x9223('0x7f')](_0x1e33d3[_0x9223('0x58')][_0x9223('0x80')])){_0x180716['id']={'$in':_0x1e33d3[_0x9223('0x58')][_0x9223('0x80')]};}_0x3a7a9f=[['priority',_0x9223('0x81')],['scheduledAt',_0x2d693a[0x0][_0x9223('0x79')]===_0x9223('0x81')?_0x9223('0x82'):_0x9223('0x81')],db[_0x9223('0x7b')][_0x9223('0x83')]('COALESCE(CmHopper.UserId,\x200)\x20ASC'),['id',_0x9223('0x82')]];}else{if(!_[_0x9223('0x7f')](_0x1e33d3[_0x9223('0x58')][_0x9223('0x80')])){_0x180716['id']={'$notIn':_0x1e33d3['body']['hopperIds']};}_0x3a7a9f=[[_0x9223('0x84'),'DESC'],[_0x9223('0x85'),_0x2d693a[0x0][_0x9223('0x79')]],db[_0x9223('0x7b')]['literal']('COALESCE(CmHopper.UserId,\x200)\x20DESC'),['id',_0x9223('0x81')]];}return db[_0x9223('0x29')]['findOne']({'attributes':['id',_0x9223('0x86'),_0x9223('0x6c'),_0x9223('0x87')],'where':_0x180716,'order':_0x3a7a9f,'transaction':_0x58ba2e,'lock':_0x58ba2e[_0x9223('0x88')]['UPDATE'],'include':[{'model':db[_0x9223('0x77')],'as':_0x9223('0x89'),'attributes':_0xc61569,'include':[{'model':db[_0x9223('0x8a')],'as':'Company','attributes':['id',_0x9223('0x25')]}]},{'model':db[_0x9223('0x8b')],'as':_0x9223('0x8c'),'attributes':['id','name']},{'model':db['VoiceQueue'],'as':_0x9223('0x8d'),'attributes':['id',_0x9223('0x25'),_0x9223('0x8e')]}]})[_0x9223('0x21')](function(_0x95a9ff){if(_0x95a9ff){return _0x95a9ff[_0x9223('0x20')]({'UserId':_0x1e33d3[_0x9223('0x66')]['id']},{'transaction':_0x58ba2e});}});});}})[_0x9223('0x21')](handleEntityNotFound(_0x8ee357,null))[_0x9223('0x21')](respondWithResult(_0x8ee357,null))[_0x9223('0x52')](handleError(_0x8ee357,null));};exports[_0x9223('0x8f')]=function(_0x63fd5a,_0x24da00,_0x13f929){var _0x369c3e=[];return db['CmContact'][_0x9223('0x5a')]()['then'](function(_0x2a69a1){_0x369c3e=_['keys'](_0x2a69a1);return _0x63fd5a[_0x9223('0x66')][_0x9223('0x78')]({'where':{'type':'outbound','dialActive':!![],'dialMethod':'preview'},'attributes':['id',_0x9223('0x79'),_0x9223('0x7a')],'raw':!![]});})['then'](function(_0x1ab6c4){if(_0x1ab6c4&&_0x1ab6c4[_0x9223('0x46')]){return db[_0x9223('0x7b')][_0x9223('0x7c')](function(_0x276797){var _0x15bc50={'active':![],'recallme':!![],'id':_0x63fd5a[_0x9223('0x58')]['hopperId']};return db[_0x9223('0x29')]['findOne']({'attributes':['id',_0x9223('0x86'),_0x9223('0x87')],'where':_0x15bc50,'transaction':_0x276797,'lock':_0x276797[_0x9223('0x88')][_0x9223('0x90')],'include':[{'model':db[_0x9223('0x77')],'as':_0x9223('0x89'),'attributes':_0x369c3e,'include':[{'model':db[_0x9223('0x8a')],'as':_0x9223('0x91'),'attributes':['id',_0x9223('0x25')]}]},{'model':db[_0x9223('0x8b')],'as':_0x9223('0x8c'),'attributes':['id',_0x9223('0x25')]},{'model':db[_0x9223('0x5d')],'as':'Queue','attributes':['id',_0x9223('0x25'),_0x9223('0x8e')]}]})[_0x9223('0x21')](function(_0x4fb461){if(_0x4fb461){return _0x4fb461[_0x9223('0x20')]({'UserId':_0x63fd5a[_0x9223('0x66')]['id']},{'transaction':_0x276797});}});});}})[_0x9223('0x21')](handleEntityNotFound(_0x24da00,null))[_0x9223('0x21')](respondWithResult(_0x24da00,null))[_0x9223('0x52')](handleError(_0x24da00,null));};exports[_0x9223('0x92')]=function(_0x3f3153,_0x3e5410,_0x1b0395){return _0x3f3153['user'][_0x9223('0x78')]({'where':{'type':_0x9223('0x93'),'dialActive':!![],'dialMethod':_0x9223('0x94')},'attributes':['id'],'raw':!![]})['then'](function(_0x1941d8){if(_0x1941d8&&_0x1941d8[_0x9223('0x46')]){return db[_0x9223('0x29')][_0x9223('0x1c')]({'where':{'active':![],'recallme':![],'scheduledAt':{'$lte':moment()[_0x9223('0x69')]('YYYY-MM-DD\x20HH:mm:ss')},'VoiceQueueId':{'$in':_[_0x9223('0x28')](_0x1941d8,'id')},'$or':[{'UserId':null},{'UserId':_0x3f3153['user']['id']}]}});}return 0x0;})['then'](function(_0x42d024){if(!_[_0x9223('0x71')](_0x42d024)&&_[_0x9223('0x95')](_0x42d024)){return _0x3e5410[_0x9223('0x17')](0xc8)[_0x9223('0x19')]({'contacts':_0x42d024});}else{logger[_0x9223('0x23')](_0x9223('0x96'),'getOpenContacts',0x194,_0x9223('0x97'));_0x3e5410['sendStatus'](0x194);}})[_0x9223('0x52')](handleError(_0x3e5410,null));};exports[_0x9223('0x98')]=function(_0x5d4751,_0x37ebbd,_0x3493f3){var _0x1670d8=shared[_0x9223('0x99')];var _0x4dfe80=[];_['map'](_0x1670d8,function(_0x2d544c){_0x4dfe80['push']({'id':_0x2d544c['name'],'name':_0x2d544c['name'],'utcOffset':_0x2d544c[_0x9223('0x9a')]});});return _0x37ebbd[_0x9223('0x17')](0xc8)[_0x9223('0x19')]({'tz':_0x4dfe80});};exports['getTimezone']=function(_0x36b058,_0x547b4a,_0x7e0ba5){var _0x2e936e=shared['timezones'];var _0x5cf34c={};if(!_['isNil'](_0x2e936e[_0x36b058['body']['id']]))_0x5cf34c=_0x2e936e[_0x36b058[_0x9223('0x58')]['id']];return _0x547b4a[_0x9223('0x17')](0xc8)[_0x9223('0x19')](_0x5cf34c);};