Built motion from commit 85328c08.|2.5.50
[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 _0xaa2a=['$notILike','$overlap','$contains','$contained','$any','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','VIRTUAL','options','includeAll','findAll','rows','catch','keys','rawAttributes','include','find','create','body','update','params','describe','destroy','VoiceQueueId','CampaignId','VoiceQueue','Campaign','omit','dataValues','createdAt','state','statedesc','campaign','user','UserId','deletedat','phone','campaigntype','queue','ivr','CmContact','ContactId','lastName','isNil','firstName','calleridname','finally','CmHopperFinal','getPreview','getVoiceQueues','outbound','preview','dialPreviewAutoRecallMe','sequelize','format','value','direction','prev','isEmpty','ASC','scheduledAt','dialOrderByScheduledAt','DESC','COALESCE(CmHopper.UserId,\x200)\x20ASC','hopperIds','priority','literal','COALESCE(CmHopper.UserId,\x200)\x20DESC','findOne','scheduledat','recallme','UPDATE','CmCompany','List','Queue','dialActive','getPreviewRecall','transaction','hopperId','LOCK','Company','CmList','YYYY-MM-DD\x20HH:mm:ss','isNumber','CmHopper,\x20%s,\x20%s,\x20%s','entity\x20not\x20found','getTimezones','timezones','push','utcOffset','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','sendStatus','status','json','offset','undefined','limit','count','set','reject','then','end','error','stack','name','map','CmHopper','type','key','model','query','intersection','filters','concat','$and','$or','$gt','$gte','$lt','$lte','$ne','$eq','$not','$between','$in','$notIn','$like','$notLike','$iLike'];(function(_0x481143,_0x3ff7cb){var _0x3f69fb=function(_0x14390d){while(--_0x14390d){_0x481143['push'](_0x481143['shift']());}};_0x3f69fb(++_0x3ff7cb);}(_0xaa2a,0x1a4));var _0xaaa2=function(_0x7a0496,_0x3b4dbc){_0x7a0496=_0x7a0496-0x0;var _0x4d5a25=_0xaa2a[_0x7a0496];return _0x4d5a25;};'use strict';var emlformat=require(_0xaaa2('0x0'));var rimraf=require(_0xaaa2('0x1'));var zipdir=require(_0xaaa2('0x2'));var jsonpatch=require(_0xaaa2('0x3'));var rp=require('request-promise');var moment=require(_0xaaa2('0x4'));var BPromise=require(_0xaaa2('0x5'));var Mustache=require(_0xaaa2('0x6'));var util=require(_0xaaa2('0x7'));var path=require(_0xaaa2('0x8'));var sox=require('sox');var csv=require(_0xaaa2('0x9'));var ejs=require(_0xaaa2('0xa'));var fs=require('fs');var fs_extra=require(_0xaaa2('0xb'));var _=require(_0xaaa2('0xc'));var squel=require(_0xaaa2('0xd'));var crypto=require('crypto');var jsforce=require(_0xaaa2('0xe'));var deskjs=require(_0xaaa2('0xf'));var toCsv=require(_0xaaa2('0x9'));var querystring=require(_0xaaa2('0x10'));var Papa=require(_0xaaa2('0x11'));var Redis=require('ioredis');var authService=require(_0xaaa2('0x12'));var qs=require(_0xaaa2('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xaaa2('0x14'));var logger=require(_0xaaa2('0x15'))(_0xaaa2('0x16'));var utils=require('../../config/utils');var config=require(_0xaaa2('0x17'));var shared=require(_0xaaa2('0x17'));var licenseUtil=require(_0xaaa2('0x18'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x2c7eff,_0x200a34){_0x200a34=_0x200a34||0xcc;return function(_0x23d15d){if(_0x23d15d){return _0x2c7eff[_0xaaa2('0x19')](_0x200a34);}return _0x2c7eff[_0xaaa2('0x1a')](_0x200a34)['end']();};}function respondWithResult(_0xc84eaf,_0x49f944){_0x49f944=_0x49f944||0xc8;return function(_0x1732bf){if(_0x1732bf){return _0xc84eaf['status'](_0x49f944)[_0xaaa2('0x1b')](_0x1732bf);}};}function respondWithFilteredResult(_0x434f26,_0x3f2d54){return function(_0x45f4ef){if(_0x45f4ef){var _0x1cde1a=typeof _0x3f2d54[_0xaaa2('0x1c')]===_0xaaa2('0x1d')&&typeof _0x3f2d54[_0xaaa2('0x1e')]===_0xaaa2('0x1d');var _0x3fbd97=_0x45f4ef['count'];var _0xdbd1dd=_0x1cde1a?0x0:_0x3f2d54[_0xaaa2('0x1c')];var _0x50aff2=_0x1cde1a?_0x45f4ef[_0xaaa2('0x1f')]:_0x3f2d54[_0xaaa2('0x1c')]+_0x3f2d54['limit'];var _0x130bba;if(_0x50aff2>=_0x3fbd97){_0x50aff2=_0x3fbd97;_0x130bba=0xc8;}else{_0x130bba=0xce;}_0x434f26[_0xaaa2('0x1a')](_0x130bba);return _0x434f26[_0xaaa2('0x20')]('Content-Range',_0xdbd1dd+'-'+_0x50aff2+'/'+_0x3fbd97)[_0xaaa2('0x1b')](_0x45f4ef);}return null;};}function patchUpdates(_0x127ea4){return function(_0x4123d4){try{jsonpatch['apply'](_0x4123d4,_0x127ea4,!![]);}catch(_0x5ab98e){return BPromise[_0xaaa2('0x21')](_0x5ab98e);}return _0x4123d4['save']();};}function saveUpdates(_0x23eadb,_0x3fddcd){return function(_0x1e9859){if(_0x1e9859){return _0x1e9859['update'](_0x23eadb)[_0xaaa2('0x22')](function(_0x23f65f){return _0x23f65f;});}return null;};}function removeEntity(_0x5f325e,_0x5c4216){return function(_0xa32e32){if(_0xa32e32){return _0xa32e32['destroy']()['then'](function(){_0x5f325e[_0xaaa2('0x1a')](0xcc)[_0xaaa2('0x23')]();});}};}function handleEntityNotFound(_0x38fc11,_0x24ef79){return function(_0x2f6a5a){if(!_0x2f6a5a){_0x38fc11[_0xaaa2('0x19')](0x194);}return _0x2f6a5a;};}function handleError(_0x4a7538,_0x3980a0){_0x3980a0=_0x3980a0||0x1f4;return function(_0x3687d5){logger[_0xaaa2('0x24')](_0x3687d5[_0xaaa2('0x25')]);if(_0x3687d5[_0xaaa2('0x26')]){delete _0x3687d5['name'];}_0x4a7538['status'](_0x3980a0)['send'](_0x3687d5);};}exports['index']=function(_0x50e628,_0x51664c){var _0x270bf3={},_0x2bac20={},_0x3214ca={'count':0x0,'rows':[]};var _0x4439cc=_[_0xaaa2('0x27')](db[_0xaaa2('0x28')]['rawAttributes'],function(_0x531929){return{'name':_0x531929['fieldName'],'type':_0x531929[_0xaaa2('0x29')][_0xaaa2('0x2a')]};});_0x2bac20[_0xaaa2('0x2b')]=_['map'](_0x4439cc,_0xaaa2('0x26'));_0x2bac20['query']=_['keys'](_0x50e628[_0xaaa2('0x2c')]);_0x2bac20['filters']=_[_0xaaa2('0x2d')](_0x2bac20[_0xaaa2('0x2b')],_0x2bac20[_0xaaa2('0x2c')]);_0x2bac20[_0xaaa2('0x2e')]=_[_0xaaa2('0x2f')](_0x2bac20['filters'],[_0xaaa2('0x30'),_0xaaa2('0x31'),_0xaaa2('0x32'),_0xaaa2('0x33'),_0xaaa2('0x34'),_0xaaa2('0x35'),_0xaaa2('0x36'),_0xaaa2('0x37'),_0xaaa2('0x38'),_0xaaa2('0x39'),'$notBetween',_0xaaa2('0x3a'),_0xaaa2('0x3b'),_0xaaa2('0x3c'),_0xaaa2('0x3d'),_0xaaa2('0x3e'),_0xaaa2('0x3f'),_0xaaa2('0x3c'),_0xaaa2('0x40'),_0xaaa2('0x41'),_0xaaa2('0x42'),_0xaaa2('0x43')]);_0x270bf3[_0xaaa2('0x44')]=_['intersection'](_0x2bac20[_0xaaa2('0x2b')],qs[_0xaaa2('0x45')](_0x50e628[_0xaaa2('0x2c')][_0xaaa2('0x45')]));_0x270bf3[_0xaaa2('0x44')]=_0x270bf3['attributes'][_0xaaa2('0x46')]?_0x270bf3['attributes']:_0x2bac20[_0xaaa2('0x2b')];if(!_0x50e628[_0xaaa2('0x2c')][_0xaaa2('0x47')](_0xaaa2('0x48'))){_0x270bf3['limit']=qs[_0xaaa2('0x1e')](_0x50e628[_0xaaa2('0x2c')][_0xaaa2('0x1e')]);_0x270bf3[_0xaaa2('0x1c')]=qs[_0xaaa2('0x1c')](_0x50e628[_0xaaa2('0x2c')][_0xaaa2('0x1c')]);}_0x270bf3[_0xaaa2('0x49')]=qs['sort'](_0x50e628[_0xaaa2('0x2c')][_0xaaa2('0x4a')]);_0x270bf3[_0xaaa2('0x4b')]=qs[_0xaaa2('0x2e')](_['pick'](_0x50e628[_0xaaa2('0x2c')],_0x2bac20[_0xaaa2('0x2e')]),_0x4439cc);if(_0x50e628['query'][_0xaaa2('0x4c')]){_0x270bf3[_0xaaa2('0x4b')]=_[_0xaaa2('0x4d')](_0x270bf3[_0xaaa2('0x4b')],{'$or':_[_0xaaa2('0x27')](_0x4439cc,function(_0x1ea3d5){if(_0x1ea3d5[_0xaaa2('0x29')]!==_0xaaa2('0x4e')){var _0x28b0ff={};_0x28b0ff[_0x1ea3d5[_0xaaa2('0x26')]]={'$like':'%'+_0x50e628[_0xaaa2('0x2c')]['filter']+'%'};return _0x28b0ff;}})});}_0x270bf3=_['merge']({},_0x270bf3,_0x50e628[_0xaaa2('0x4f')]);var _0x8d433a={'where':_0x270bf3[_0xaaa2('0x4b')]};return db[_0xaaa2('0x28')][_0xaaa2('0x1f')](_0x8d433a)[_0xaaa2('0x22')](function(_0x1dbf2d){_0x3214ca[_0xaaa2('0x1f')]=_0x1dbf2d;if(_0x50e628[_0xaaa2('0x2c')][_0xaaa2('0x50')]){_0x270bf3['include']=[{'all':!![]}];}return db[_0xaaa2('0x28')][_0xaaa2('0x51')](_0x270bf3);})['then'](function(_0x5ca9da){_0x3214ca[_0xaaa2('0x52')]=_0x5ca9da;return _0x3214ca;})[_0xaaa2('0x22')](respondWithFilteredResult(_0x51664c,_0x270bf3))[_0xaaa2('0x53')](handleError(_0x51664c,null));};exports['show']=function(_0xd452bc,_0x4f619a){var _0x479ec0={'raw':!![],'where':{'id':_0xd452bc['params']['id']}},_0x497e70={};_0x497e70[_0xaaa2('0x2b')]=_[_0xaaa2('0x54')](db[_0xaaa2('0x28')][_0xaaa2('0x55')]);_0x497e70['query']=_[_0xaaa2('0x54')](_0xd452bc[_0xaaa2('0x2c')]);_0x497e70['filters']=_[_0xaaa2('0x2d')](_0x497e70[_0xaaa2('0x2b')],_0x497e70[_0xaaa2('0x2c')]);_0x479ec0[_0xaaa2('0x44')]=_[_0xaaa2('0x2d')](_0x497e70['model'],qs[_0xaaa2('0x45')](_0xd452bc['query']['fields']));_0x479ec0['attributes']=_0x479ec0[_0xaaa2('0x44')][_0xaaa2('0x46')]?_0x479ec0['attributes']:_0x497e70['model'];if(_0xd452bc[_0xaaa2('0x2c')][_0xaaa2('0x50')]){_0x479ec0[_0xaaa2('0x56')]=[{'all':!![]}];}_0x479ec0=_['merge']({},_0x479ec0,_0xd452bc[_0xaaa2('0x4f')]);return db[_0xaaa2('0x28')][_0xaaa2('0x57')](_0x479ec0)['then'](handleEntityNotFound(_0x4f619a,null))['then'](respondWithResult(_0x4f619a,null))[_0xaaa2('0x53')](handleError(_0x4f619a,null));};exports['create']=function(_0x4d7485,_0x31daeb){return db[_0xaaa2('0x28')][_0xaaa2('0x58')](_0x4d7485[_0xaaa2('0x59')],{})[_0xaaa2('0x22')](respondWithResult(_0x31daeb,0xc9))[_0xaaa2('0x53')](handleError(_0x31daeb,null));};exports[_0xaaa2('0x5a')]=function(_0x26fc0f,_0x4ea3ad){if(_0x26fc0f['body']['id']){delete _0x26fc0f['body']['id'];}return db[_0xaaa2('0x28')][_0xaaa2('0x57')]({'where':{'id':_0x26fc0f[_0xaaa2('0x5b')]['id']}})['then'](handleEntityNotFound(_0x4ea3ad,null))[_0xaaa2('0x22')](saveUpdates(_0x26fc0f['body'],null))[_0xaaa2('0x22')](respondWithResult(_0x4ea3ad,null))['catch'](handleError(_0x4ea3ad,null));};exports[_0xaaa2('0x5c')]=function(_0x298252,_0x44c366){return db['CmHopper'][_0xaaa2('0x5c')]()[_0xaaa2('0x22')](respondWithResult(_0x44c366,null))['catch'](handleError(_0x44c366,null));};exports[_0xaaa2('0x5d')]=function(_0x1c5781,_0x210961){var _0x5de605;return db[_0xaaa2('0x28')][_0xaaa2('0x57')]({'where':{'id':_0x1c5781['params']['id']}})[_0xaaa2('0x22')](handleEntityNotFound(_0x210961,null))[_0xaaa2('0x22')](function(_0xf6e14f){if(_0xf6e14f){return _0xf6e14f[_0xaaa2('0x5d')]()[_0xaaa2('0x22')](function(_0x5f1899){return _0x5f1899;});}})[_0xaaa2('0x22')](function(_0x3a50dc){_0x5de605=_0x3a50dc;if(_0x3a50dc){if(_0x3a50dc[_0xaaa2('0x5e')]||_0x3a50dc[_0xaaa2('0x5f')]){return db[_0x3a50dc[_0xaaa2('0x5e')]?_0xaaa2('0x60'):_0xaaa2('0x61')][_0xaaa2('0x57')]({'where':{'id':_0x3a50dc[_0xaaa2('0x5e')]?_0x3a50dc[_0xaaa2('0x5e')]:_0x3a50dc[_0xaaa2('0x5f')]},'attributes':['id',_0xaaa2('0x26')],'raw':!![]});}}})[_0xaaa2('0x22')](function(_0x17caec){var _0x38c8e1={};if(_0x17caec){_[_0xaaa2('0x4d')](_0x38c8e1,_[_0xaaa2('0x62')](_0x5de605[_0xaaa2('0x63')],[_0xaaa2('0x64'),'updatedAt','id']));_0x38c8e1[_0xaaa2('0x65')]=0x15;_0x38c8e1[_0xaaa2('0x66')]='deleted';_0x38c8e1[_0xaaa2('0x67')]=_0x17caec['name'];_0x38c8e1['membername']=_0x1c5781[_0xaaa2('0x68')]['name'];_0x38c8e1[_0xaaa2('0x69')]=_0x1c5781[_0xaaa2('0x68')]['id'];_0x38c8e1['deleted']=!![];_0x38c8e1[_0xaaa2('0x6a')]=moment()['format']('YYYY-MM-DD\x20HH:mm:ss');_0x38c8e1['calleridnum']=_0x5de605[_0xaaa2('0x6b')];_0x38c8e1[_0xaaa2('0x6c')]=_0x5de605[_0xaaa2('0x5e')]?_0xaaa2('0x6d'):_0xaaa2('0x6e');return db[_0xaaa2('0x6f')][_0xaaa2('0x57')]({'where':{'id':_0x38c8e1[_0xaaa2('0x70')]},'attributes':['firstName',_0xaaa2('0x71')]})[_0xaaa2('0x22')](function(_0xacf44d){if(!_[_0xaaa2('0x72')](_0x210961)&&!_[_0xaaa2('0x72')](_0xacf44d[_0xaaa2('0x73')])){_0x38c8e1[_0xaaa2('0x74')]=_0xacf44d[_0xaaa2('0x73')];if(!_[_0xaaa2('0x72')](_0xacf44d[_0xaaa2('0x71')])){_0x38c8e1[_0xaaa2('0x74')]+='\x20'+_0xacf44d[_0xaaa2('0x71')];}}})[_0xaaa2('0x75')](function(){return db[_0xaaa2('0x76')]['create'](_0x38c8e1);});}})[_0xaaa2('0x22')](function(){return _0x210961['status'](0xcc)[_0xaaa2('0x23')]();})[_0xaaa2('0x53')](handleError(_0x210961,null));};exports[_0xaaa2('0x77')]=function(_0xff74ed,_0x115910,_0x3d0aa1){var _0x2becc1=[];return db[_0xaaa2('0x6f')][_0xaaa2('0x5c')]()['then'](function(_0x2fd31f){_0x2becc1=_[_0xaaa2('0x54')](_0x2fd31f);return _0xff74ed[_0xaaa2('0x68')][_0xaaa2('0x78')]({'where':{'type':_0xaaa2('0x79'),'dialActive':!![],'dialMethod':_0xaaa2('0x7a')},'attributes':['id','dialOrderByScheduledAt',_0xaaa2('0x7b')],'raw':!![]});})[_0xaaa2('0x22')](function(_0x339d71){if(_0x339d71&&_0x339d71[_0xaaa2('0x46')]){return db[_0xaaa2('0x7c')]['transaction'](function(_0x19e7fc){var _0x3ac89a={'active':![],'recallme':![],'scheduledAt':{'$lte':moment()[_0xaaa2('0x7d')]('YYYY-MM-DD\x20HH:mm:ss')},'VoiceQueueId':{'$in':_[_0xaaa2('0x27')](_0x339d71,'id')},'$or':[{'UserId':null},{'UserId':_0xff74ed[_0xaaa2('0x68')]['id']}]};var _0x31a94a={'active':![],'recallme':!![],'VoiceQueueId':{'$in':_(_0x339d71)[_0xaaa2('0x4c')]([_0xaaa2('0x7b'),0x0])[_0xaaa2('0x27')]('id')[_0xaaa2('0x7e')]()},'$or':[{'UserId':null},{'UserId':_0xff74ed[_0xaaa2('0x68')]['id']}]};var _0x3f51a8={'$or':[_0x3ac89a,_0x31a94a]};var _0x16dee7=[];if(_0xff74ed[_0xaaa2('0x59')][_0xaaa2('0x7f')]&&_0xff74ed['body'][_0xaaa2('0x7f')]===_0xaaa2('0x80')){if(!_[_0xaaa2('0x81')](_0xff74ed[_0xaaa2('0x59')]['hopperIds'])){_0x3f51a8['id']={'$in':_0xff74ed[_0xaaa2('0x59')]['hopperIds']};}_0x16dee7=[['priority',_0xaaa2('0x82')],[_0xaaa2('0x83'),_0x339d71[0x0][_0xaaa2('0x84')]===_0xaaa2('0x82')?_0xaaa2('0x85'):_0xaaa2('0x82')],db[_0xaaa2('0x7c')]['literal'](_0xaaa2('0x86')),['id',_0xaaa2('0x85')]];}else{if(!_[_0xaaa2('0x81')](_0xff74ed[_0xaaa2('0x59')]['hopperIds'])){_0x3f51a8['id']={'$notIn':_0xff74ed['body'][_0xaaa2('0x87')]};}_0x16dee7=[[_0xaaa2('0x88'),_0xaaa2('0x85')],['scheduledAt',_0x339d71[0x0][_0xaaa2('0x84')]],db['sequelize'][_0xaaa2('0x89')](_0xaaa2('0x8a')),['id','ASC']];}return db['CmHopper'][_0xaaa2('0x8b')]({'attributes':['id',_0xaaa2('0x8c'),_0xaaa2('0x8d')],'where':_0x3f51a8,'order':_0x16dee7,'transaction':_0x19e7fc,'lock':_0x19e7fc['LOCK'][_0xaaa2('0x8e')],'include':[{'model':db[_0xaaa2('0x6f')],'as':'Contact','attributes':_0x2becc1,'include':[{'model':db[_0xaaa2('0x8f')],'as':'Company','attributes':['id',_0xaaa2('0x26')]}]},{'model':db['CmList'],'as':_0xaaa2('0x90'),'attributes':['id',_0xaaa2('0x26')]},{'model':db[_0xaaa2('0x60')],'as':_0xaaa2('0x91'),'attributes':['id','name',_0xaaa2('0x92')]}]})['then'](function(_0x16eb57){if(_0x16eb57){return _0x16eb57[_0xaaa2('0x5a')]({'UserId':_0xff74ed[_0xaaa2('0x68')]['id']},{'transaction':_0x19e7fc});}});});}})[_0xaaa2('0x22')](handleEntityNotFound(_0x115910,null))[_0xaaa2('0x22')](respondWithResult(_0x115910,null))[_0xaaa2('0x53')](handleError(_0x115910,null));};exports[_0xaaa2('0x93')]=function(_0x560423,_0x3c7e0e,_0x46627c){var _0x5c241a=[];return db[_0xaaa2('0x6f')][_0xaaa2('0x5c')]()[_0xaaa2('0x22')](function(_0x40a9e0){_0x5c241a=_[_0xaaa2('0x54')](_0x40a9e0);return _0x560423[_0xaaa2('0x68')][_0xaaa2('0x78')]({'where':{'type':_0xaaa2('0x79'),'dialActive':!![],'dialMethod':_0xaaa2('0x7a')},'attributes':['id',_0xaaa2('0x84'),_0xaaa2('0x7b')],'raw':!![]});})[_0xaaa2('0x22')](function(_0x2214aa){if(_0x2214aa&&_0x2214aa[_0xaaa2('0x46')]){return db['sequelize'][_0xaaa2('0x94')](function(_0x198c74){var _0x56dd38={'active':![],'recallme':!![],'id':_0x560423[_0xaaa2('0x59')][_0xaaa2('0x95')]};return db[_0xaaa2('0x28')]['findOne']({'attributes':['id',_0xaaa2('0x8c'),'recallme'],'where':_0x56dd38,'transaction':_0x198c74,'lock':_0x198c74[_0xaaa2('0x96')][_0xaaa2('0x8e')],'include':[{'model':db['CmContact'],'as':'Contact','attributes':_0x5c241a,'include':[{'model':db[_0xaaa2('0x8f')],'as':_0xaaa2('0x97'),'attributes':['id','name']}]},{'model':db[_0xaaa2('0x98')],'as':_0xaaa2('0x90'),'attributes':['id','name']},{'model':db['VoiceQueue'],'as':_0xaaa2('0x91'),'attributes':['id',_0xaaa2('0x26'),_0xaaa2('0x92')]}]})['then'](function(_0x4c541b){if(_0x4c541b){return _0x4c541b['update']({'UserId':_0x560423[_0xaaa2('0x68')]['id']},{'transaction':_0x198c74});}});});}})['then'](handleEntityNotFound(_0x3c7e0e,null))[_0xaaa2('0x22')](respondWithResult(_0x3c7e0e,null))['catch'](handleError(_0x3c7e0e,null));};exports['getOpenContacts']=function(_0x5bf967,_0x1046ae,_0x327d1e){return _0x5bf967[_0xaaa2('0x68')][_0xaaa2('0x78')]({'where':{'type':'outbound','dialActive':!![],'dialMethod':_0xaaa2('0x7a')},'attributes':['id'],'raw':!![]})[_0xaaa2('0x22')](function(_0x23340d){if(_0x23340d&&_0x23340d[_0xaaa2('0x46')]){return db[_0xaaa2('0x28')][_0xaaa2('0x1f')]({'where':{'active':![],'recallme':![],'scheduledAt':{'$lte':moment()['format'](_0xaaa2('0x99'))},'VoiceQueueId':{'$in':_[_0xaaa2('0x27')](_0x23340d,'id')},'$or':[{'UserId':null},{'UserId':_0x5bf967[_0xaaa2('0x68')]['id']}]}});}return 0x0;})[_0xaaa2('0x22')](function(_0x3432fa){if(!_[_0xaaa2('0x72')](_0x3432fa)&&_[_0xaaa2('0x9a')](_0x3432fa)){return _0x1046ae['status'](0xc8)[_0xaaa2('0x1b')]({'contacts':_0x3432fa});}else{logger[_0xaaa2('0x24')](_0xaaa2('0x9b'),'getOpenContacts',0x194,_0xaaa2('0x9c'));_0x1046ae['sendStatus'](0x194);}})[_0xaaa2('0x53')](handleError(_0x1046ae,null));};exports[_0xaaa2('0x9d')]=function(_0x5c2553,_0x4f6135,_0x265382){var _0x4e6d96=shared[_0xaaa2('0x9e')];var _0x1ce47a=[];_[_0xaaa2('0x27')](_0x4e6d96,function(_0x153f54){_0x1ce47a[_0xaaa2('0x9f')]({'id':_0x153f54[_0xaaa2('0x26')],'name':_0x153f54['name'],'utcOffset':_0x153f54[_0xaaa2('0xa0')]});});return _0x4f6135[_0xaaa2('0x1a')](0xc8)[_0xaaa2('0x1b')]({'tz':_0x1ce47a});};exports['getTimezone']=function(_0x72fcd8,_0x1f0bc3,_0x4f7cac){var _0x542fb5=shared[_0xaaa2('0x9e')];var _0x3adaec={};if(!_[_0xaaa2('0x72')](_0x542fb5[_0x72fcd8[_0xaaa2('0x59')]['id']]))_0x3adaec=_0x542fb5[_0x72fcd8['body']['id']];return _0x1f0bc3[_0xaaa2('0x1a')](0xc8)['json'](_0x3adaec);};