Built motion from commit a61a4a20.|2.5.46
[motion2.git] / server / api / cmHopper / cmHopper.rpc.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 _0xb653=['UPDATE','CmContact','keys','User','Agent','name','voicePause','length','UserId','push','update','includes','all','dataValues','ContactId','MoveContactManagedDialer','CmHopperFinal','destroy','literal','`scheduledat`\x20>=\x20','format','YYYY-MM-DD\x20HH:mm:ss','\x20,\x201,\x20null','contactsRescheduled','CountReScheduled','GetContactRecallMe','order','Contact','findOne','phone','dialTimezone','DESC','getContactByPhone','ResetActiveCalls','voiceQueueId','interval','NOW()\x20+\x20INTERVAL\x20','\x20MINUTE','CmList','List','lodash','util','randomstring','ioredis','../../mysqldb','../../config/utils','../../config/logger','rpc','../../config/environment','twilio/lib/webhooks/webhooks','request','then','CmHopper,\x20%s,\x20%s','debug','CmHopper,\x20%s,\x20%s,\x20%s','request\x20sent','stringify','error','code','message','info','result','findAll','options','raw','where','attributes','include','map','model','GetCmHopper','catch','ShowCmHopper','CreateCmHopper','CmHopper','create','UpdateCmHopper','body','limit','UpdateCmHopper\x20hopper\x20options\x20[%s]\x20active\x20status\x20[%s]','active','DestroyCmHopper','GetContactDialer','describe','sequelize','transaction','LOCK'];(function(_0x396d5c,_0x2e1acd){var _0x25153a=function(_0x33c7a0){while(--_0x33c7a0){_0x396d5c['push'](_0x396d5c['shift']());}};_0x25153a(++_0x2e1acd);}(_0xb653,0x7f));var _0x3b65=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0xb653[_0x3dd15e];return _0x231fd0;};'use strict';var _=require(_0x3b65('0x0'));var util=require(_0x3b65('0x1'));var moment=require('moment');var BPromise=require('bluebird');var rs=require(_0x3b65('0x2'));var fs=require('fs');var Redis=require(_0x3b65('0x3'));var db=require(_0x3b65('0x4'))['db'];var utils=require(_0x3b65('0x5'));var logger=require(_0x3b65('0x6'))(_0x3b65('0x7'));var config=require(_0x3b65('0x8'));var jayson=require('jayson/promise');const {validateExpressRequest}=require(_0x3b65('0x9'));var client=jayson['client']['http']({'port':0x232a});function respondWithRpcPromise(_0x196a63,_0x19dba2,_0x134aad){return new BPromise(function(_0x596c3c,_0x3d6a6f){return client[_0x3b65('0xa')](_0x196a63,_0x134aad)[_0x3b65('0xb')](function(_0x1f9de0){logger['info'](_0x3b65('0xc'),_0x19dba2,'request\x20sent');logger[_0x3b65('0xd')](_0x3b65('0xe'),_0x19dba2,_0x3b65('0xf'),JSON[_0x3b65('0x10')](_0x1f9de0));if(_0x1f9de0['error']){if(_0x1f9de0[_0x3b65('0x11')][_0x3b65('0x12')]===0x1f4){logger['error']('CmHopper,\x20%s,\x20%s',_0x19dba2,_0x1f9de0['error'][_0x3b65('0x13')]);return _0x3d6a6f(_0x1f9de0[_0x3b65('0x11')]['message']);}logger['error'](_0x3b65('0xc'),_0x19dba2,_0x1f9de0[_0x3b65('0x11')][_0x3b65('0x13')]);return _0x596c3c(_0x1f9de0[_0x3b65('0x11')]['message']);}else{logger[_0x3b65('0x14')]('CmHopper,\x20%s,\x20%s',_0x19dba2,_0x3b65('0xf'));_0x596c3c(_0x1f9de0[_0x3b65('0x15')][_0x3b65('0x13')]);}})['catch'](function(_0x1267f4){logger['error'](_0x3b65('0xc'),_0x19dba2,_0x1267f4);_0x3d6a6f(_0x1267f4);});});}exports['GetCmHopper']=function(_0xccc1c4){var _0x1e0071=this;return new Promise(function(_0x555283,_0x3b39f5){return db['CmHopper'][_0x3b65('0x16')]({'raw':_0xccc1c4[_0x3b65('0x17')]?_0xccc1c4[_0x3b65('0x17')][_0x3b65('0x18')]===undefined?!![]:![]:!![],'where':_0xccc1c4[_0x3b65('0x17')]?_0xccc1c4['options'][_0x3b65('0x19')]||null:null,'attributes':_0xccc1c4[_0x3b65('0x17')]?_0xccc1c4[_0x3b65('0x17')][_0x3b65('0x1a')]||null:null,'limit':_0xccc1c4[_0x3b65('0x17')]?_0xccc1c4[_0x3b65('0x17')]['limit']||null:null,'include':_0xccc1c4[_0x3b65('0x17')]?_0xccc1c4[_0x3b65('0x17')][_0x3b65('0x1b')]?_[_0x3b65('0x1c')](_0xccc1c4[_0x3b65('0x17')][_0x3b65('0x1b')],function(_0x425fed){return{'model':db[_0x425fed[_0x3b65('0x1d')]],'as':_0x425fed['as'],'attributes':_0x425fed[_0x3b65('0x1a')],'include':_0x425fed['include']?_[_0x3b65('0x1c')](_0x425fed['include'],function(_0x2f50f4){return{'model':db[_0x2f50f4['model']],'as':_0x2f50f4['as'],'attributes':_0x2f50f4[_0x3b65('0x1a')],'include':_0x2f50f4[_0x3b65('0x1b')]?_[_0x3b65('0x1c')](_0x2f50f4[_0x3b65('0x1b')],function(_0x2cbf78){return{'model':db[_0x2cbf78['model']],'as':_0x2cbf78['as'],'attributes':_0x2cbf78[_0x3b65('0x1a')]};}):[]};}):[]};}):[]:[]})[_0x3b65('0xb')](function(_0x28ce75){logger[_0x3b65('0x14')](_0x3b65('0x1e'),_0xccc1c4);logger[_0x3b65('0xd')]('GetCmHopper',_0xccc1c4,JSON['stringify'](_0x28ce75));_0x555283(_0x28ce75);})[_0x3b65('0x1f')](function(_0x284eed){logger['error'](_0x3b65('0x1e'),_0x284eed[_0x3b65('0x13')],_0xccc1c4);_0x3b39f5(_0x1e0071[_0x3b65('0x11')](0x1f4,_0x284eed[_0x3b65('0x13')]));});});};exports[_0x3b65('0x20')]=function(_0x3c202e){var _0x3c11ab=this;return new Promise(function(_0x1c685e,_0x1c5319){return db['CmHopper']['find']({'raw':_0x3c202e[_0x3b65('0x17')]?_0x3c202e[_0x3b65('0x17')][_0x3b65('0x18')]===undefined?!![]:![]:!![],'where':_0x3c202e[_0x3b65('0x17')]?_0x3c202e[_0x3b65('0x17')][_0x3b65('0x19')]||null:null,'attributes':_0x3c202e[_0x3b65('0x17')]?_0x3c202e[_0x3b65('0x17')]['attributes']||null:null,'include':_0x3c202e['options']?_0x3c202e[_0x3b65('0x17')]['include']?_['map'](_0x3c202e['options']['include'],function(_0x2102b3){return{'model':db[_0x2102b3['model']],'as':_0x2102b3['as'],'attributes':_0x2102b3[_0x3b65('0x1a')],'include':_0x2102b3[_0x3b65('0x1b')]?_[_0x3b65('0x1c')](_0x2102b3['include'],function(_0x314f2a){return{'model':db[_0x314f2a[_0x3b65('0x1d')]],'as':_0x314f2a['as'],'attributes':_0x314f2a['attributes'],'include':_0x314f2a[_0x3b65('0x1b')]?_[_0x3b65('0x1c')](_0x314f2a[_0x3b65('0x1b')],function(_0x1a2a86){return{'model':db[_0x1a2a86['model']],'as':_0x1a2a86['as'],'attributes':_0x1a2a86[_0x3b65('0x1a')]};}):[]};}):[]};}):[]:[]})['then'](function(_0x2a9984){logger[_0x3b65('0x14')]('ShowCmHopper',_0x3c202e);logger[_0x3b65('0xd')](_0x3b65('0x20'),_0x3c202e,JSON[_0x3b65('0x10')](_0x2a9984));_0x1c685e(_0x2a9984);})[_0x3b65('0x1f')](function(_0x30820b){logger[_0x3b65('0x11')](_0x3b65('0x20'),_0x30820b[_0x3b65('0x13')],_0x3c202e);_0x1c5319(_0x3c11ab['error'](0x1f4,_0x30820b[_0x3b65('0x13')]));});});};exports[_0x3b65('0x21')]=function(_0x55b067){var _0x4b69cb=this;return new Promise(function(_0xe78620,_0x4edf5a){return db[_0x3b65('0x22')][_0x3b65('0x23')](_0x55b067['body'],{'raw':_0x55b067[_0x3b65('0x17')]?_0x55b067[_0x3b65('0x17')][_0x3b65('0x18')]===undefined?!![]:![]:!![]})['then'](function(_0x4de8f1){logger[_0x3b65('0x14')](_0x3b65('0x21'),_0x55b067);logger['debug']('CreateCmHopper',_0x55b067,JSON[_0x3b65('0x10')](_0x4de8f1));_0xe78620(_0x4de8f1);})[_0x3b65('0x1f')](function(_0x3b967b){logger[_0x3b65('0x11')](_0x3b65('0x21'),_0x3b967b[_0x3b65('0x13')],_0x55b067);_0x4edf5a(_0x4b69cb['error'](0x1f4,_0x3b967b['message']));});});};exports[_0x3b65('0x24')]=function(_0x5ba8ce){var _0x7612ab=this;return new Promise(function(_0x19f573,_0xcd1773){return db[_0x3b65('0x22')]['update'](_0x5ba8ce[_0x3b65('0x25')],{'raw':_0x5ba8ce[_0x3b65('0x17')]?_0x5ba8ce['options']['raw']===undefined?!![]:![]:!![],'individualHooks':!![],'where':_0x5ba8ce['options']?_0x5ba8ce[_0x3b65('0x17')][_0x3b65('0x19')]||null:null,'attributes':_0x5ba8ce['options']?_0x5ba8ce['options'][_0x3b65('0x1a')]||null:null,'limit':_0x5ba8ce[_0x3b65('0x17')]?_0x5ba8ce[_0x3b65('0x17')][_0x3b65('0x26')]||null:null})[_0x3b65('0xb')](function(_0x3a9b4f){logger[_0x3b65('0x14')](_0x3b65('0x24'),_0x5ba8ce);logger['info'](_0x3b65('0x27'),JSON['stringify'](_0x5ba8ce[_0x3b65('0x17')][_0x3b65('0x19')]),_0x5ba8ce[_0x3b65('0x25')][_0x3b65('0x28')]);logger['debug'](_0x3b65('0x24'),_0x5ba8ce,JSON[_0x3b65('0x10')](_0x3a9b4f));_0x19f573(_0x3a9b4f);})[_0x3b65('0x1f')](function(_0x160d57){logger['error'](_0x3b65('0x24'),_0x160d57[_0x3b65('0x13')],_0x5ba8ce);_0xcd1773(_0x7612ab[_0x3b65('0x11')](0x1f4,_0x160d57[_0x3b65('0x13')]));});});};exports[_0x3b65('0x29')]=function(_0x244872){var _0x585c99=this;return new Promise(function(_0x353c06,_0x58d9b5){return db[_0x3b65('0x22')]['destroy']({'where':_0x244872['options']?_0x244872[_0x3b65('0x17')][_0x3b65('0x19')]||null:null})[_0x3b65('0xb')](function(_0x54c1cd){logger['info'](_0x3b65('0x29'),_0x244872);logger[_0x3b65('0xd')]('DestroyCmHopper',_0x244872,JSON[_0x3b65('0x10')](_0x54c1cd));_0x353c06(_0x54c1cd);})[_0x3b65('0x1f')](function(_0x528c10){logger[_0x3b65('0x11')](_0x3b65('0x29'),_0x528c10[_0x3b65('0x13')],_0x244872);_0x58d9b5(_0x585c99[_0x3b65('0x11')](0x1f4,_0x528c10[_0x3b65('0x13')]));});});};exports[_0x3b65('0x2a')]=function(_0x4325bc){var _0x4856af=this;return new Promise(function(_0x3d63c8,_0x3f9056){return db['CmContact'][_0x3b65('0x2b')]()['then'](function(_0x579b48){return db[_0x3b65('0x2c')][_0x3b65('0x2d')](function(_0x2a436f){return db[_0x3b65('0x22')][_0x3b65('0x16')]({'where':_0x4325bc[_0x3b65('0x17')]?_0x4325bc[_0x3b65('0x17')][_0x3b65('0x19')]||null:null,'attributes':_0x4325bc[_0x3b65('0x17')]?_0x4325bc[_0x3b65('0x17')]['attributes']||null:null,'limit':_0x4325bc['options']?_0x4325bc[_0x3b65('0x17')]['limit']||null:null,'order':_0x4325bc['options']?_0x4325bc[_0x3b65('0x17')]['order']||null:null,'transaction':_0x2a436f,'lock':_0x2a436f[_0x3b65('0x2e')][_0x3b65('0x2f')],'include':[{'model':db[_0x3b65('0x30')],'as':'Contact','attributes':_[_0x3b65('0x31')](_0x579b48)},{'model':db[_0x3b65('0x32')],'as':_0x3b65('0x33'),'attributes':['id',_0x3b65('0x34'),_0x3b65('0x35')]}]})['then'](function(_0x3639a3){var _0x4baed4=[];var _0x22cec4=[];for(var _0x5e9a1d=0x0;_0x5e9a1d<_0x3639a3[_0x3b65('0x36')];_0x5e9a1d+=0x1){var _0x9b04c8=_0x3639a3[_0x5e9a1d][_0x3b65('0x37')];if(_0x9b04c8===null){_0x4baed4[_0x3b65('0x38')](_0x3639a3[_0x5e9a1d][_0x3b65('0x39')](_0x4325bc[_0x3b65('0x25')],{'transaction':_0x2a436f}));}else if(!_0x22cec4[_0x3b65('0x3a')](_0x9b04c8)){_0x22cec4[_0x3b65('0x38')](_0x9b04c8);_0x4baed4[_0x3b65('0x38')](_0x3639a3[_0x5e9a1d][_0x3b65('0x39')](_0x4325bc[_0x3b65('0x25')],{'transaction':_0x2a436f}));}}return BPromise[_0x3b65('0x3b')](_0x4baed4);});})[_0x3b65('0xb')](function(_0x28975f){logger['info']('GetContactDialer',_0x4325bc);if(_0x28975f[_0x3b65('0x36')]>0x0){logger[_0x3b65('0x14')]('GetContactDialer\x20hopperId\x20[%s]\x20-\x20contactId\x20[%s]\x20-\x20active\x20status\x20[%s]',_0x28975f[0x0][_0x3b65('0x3c')]['id'],_0x28975f[0x0][_0x3b65('0x3c')][_0x3b65('0x3d')],_0x28975f[0x0][_0x3b65('0x3c')][_0x3b65('0x28')]);}logger['debug'](_0x3b65('0x2a'),_0x4325bc,JSON[_0x3b65('0x10')](_0x28975f));_0x3d63c8(_0x28975f);})['catch'](function(_0x297490){logger[_0x3b65('0x11')](_0x3b65('0x2a'),_0x297490['message'],_0x4325bc);_0x3f9056(_0x4856af[_0x3b65('0x11')](0x1f4,_0x297490[_0x3b65('0x13')]));});});});};exports[_0x3b65('0x3e')]=function(_0x33c1aa){var _0x1eecfa=this;return new Promise(function(_0x2a7123,_0x3a6b3e){return db['sequelize'][_0x3b65('0x2d')](function(_0x1d3aca){return db[_0x3b65('0x3f')]['create'](_0x33c1aa[_0x3b65('0x25')],{'raw':_0x33c1aa[_0x3b65('0x17')]?_0x33c1aa['options'][_0x3b65('0x18')]===undefined?!![]:![]:!![],'transaction':_0x1d3aca})[_0x3b65('0xb')](function(){logger[_0x3b65('0x14')]('MoveContactManagedDialer\x20hopper\x20options\x20[%s]\x20active\x20status\x20[%s]',JSON[_0x3b65('0x10')](_0x33c1aa['options'][_0x3b65('0x19')]),_0x33c1aa[_0x3b65('0x17')][_0x3b65('0x19')][_0x3b65('0x28')]);return db[_0x3b65('0x22')][_0x3b65('0x40')]({'where':_0x33c1aa[_0x3b65('0x17')]?_0x33c1aa[_0x3b65('0x17')][_0x3b65('0x19')]||null:null,'transaction':_0x1d3aca});});})[_0x3b65('0xb')](function(_0x1d9306){logger[_0x3b65('0x14')]('MoveContactManagedDialer',_0x33c1aa);logger['debug'](_0x3b65('0x3e'),_0x33c1aa,JSON[_0x3b65('0x10')](_0x1d9306));_0x2a7123(_0x1d9306);})[_0x3b65('0x1f')](function(_0x132384){logger[_0x3b65('0x11')](_0x3b65('0x3e'),_0x132384[_0x3b65('0x13')],_0x33c1aa);_0x3a6b3e(_0x1eecfa[_0x3b65('0x11')](0x1f4,_0x132384[_0x3b65('0x13')]));});});};exports['CountReScheduled']=function(_0x359f81){var _0x3271e4=this;return new Promise(function(_0xcf969a,_0x58a696){return db[_0x3b65('0x22')]['findAll']({'raw':_0x359f81[_0x3b65('0x17')]?_0x359f81[_0x3b65('0x17')][_0x3b65('0x18')]===undefined?!![]:![]:!![],'where':_0x359f81[_0x3b65('0x17')]?_0x359f81[_0x3b65('0x17')]['where']||null:null,'attributes':[[db[_0x3b65('0x2c')]['fn']('COUNT',db[_0x3b65('0x2c')]['fn']('IF',db[_0x3b65('0x2c')][_0x3b65('0x41')](_0x3b65('0x42')+util[_0x3b65('0x43')]('\x22%s\x22',moment()[_0x3b65('0x43')](_0x3b65('0x44')))+_0x3b65('0x45')))),_0x3b65('0x46')]]})[_0x3b65('0xb')](function(_0x94cfc2){logger[_0x3b65('0x14')](_0x3b65('0x47'),_0x359f81);logger[_0x3b65('0xd')](_0x3b65('0x47'),_0x359f81,JSON[_0x3b65('0x10')](_0x94cfc2));_0xcf969a(_0x94cfc2);})[_0x3b65('0x1f')](function(_0x5ed3aa){logger['error'](_0x3b65('0x47'),_0x5ed3aa[_0x3b65('0x13')],_0x359f81);_0x58a696(_0x3271e4[_0x3b65('0x11')](0x1f4,_0x5ed3aa['message']));});});};exports[_0x3b65('0x48')]=function(_0x286dbb){var _0xa79e5=this;return new Promise(function(_0x27e15e,_0x3b7fc9){return db[_0x3b65('0x30')][_0x3b65('0x2b')]()[_0x3b65('0xb')](function(_0x18c863){return db[_0x3b65('0x2c')][_0x3b65('0x2d')](function(_0xf01271){return db[_0x3b65('0x22')][_0x3b65('0x16')]({'where':_0x286dbb['options']?_0x286dbb[_0x3b65('0x17')][_0x3b65('0x19')]||null:null,'attributes':_0x286dbb['options']?_0x286dbb[_0x3b65('0x17')][_0x3b65('0x1a')]||null:null,'limit':0x1,'order':_0x286dbb[_0x3b65('0x17')]?_0x286dbb[_0x3b65('0x17')][_0x3b65('0x49')]||null:null,'group':db[_0x3b65('0x22')][_0x3b65('0x37')],'transaction':_0xf01271,'lock':_0xf01271[_0x3b65('0x2e')][_0x3b65('0x2f')],'include':_0x286dbb[_0x3b65('0x17')]?_0x286dbb[_0x3b65('0x17')][_0x3b65('0x1b')]?_['map'](_0x286dbb[_0x3b65('0x17')][_0x3b65('0x1b')],function(_0x3e45c7){return{'model':db[_0x3e45c7[_0x3b65('0x1d')]],'as':_0x3e45c7['as'],'attributes':_0x3e45c7[_0x3b65('0x1a')],'include':_0x3e45c7[_0x3b65('0x1b')]?_['map'](_0x3e45c7['include'],function(_0x41b61c){return{'model':db[_0x41b61c[_0x3b65('0x1d')]],'as':_0x41b61c['as'],'attributes':_0x41b61c[_0x3b65('0x1a')],'include':_0x41b61c['include']?_['map'](_0x41b61c[_0x3b65('0x1b')],function(_0xb6a2ba){return{'model':db[_0xb6a2ba[_0x3b65('0x1d')]],'as':_0xb6a2ba['as'],'attributes':_0xb6a2ba[_0x3b65('0x1a')]};}):[]};}):[]};}):[]:[]})[_0x3b65('0xb')](function(_0x4e25a9){var _0x252035=[];for(var _0xc3d7d4=0x0;_0xc3d7d4<_0x4e25a9[_0x3b65('0x36')];_0xc3d7d4+=0x1){_0x252035[_0x3b65('0x38')](_0x4e25a9[_0xc3d7d4]['update'](_0x286dbb[_0x3b65('0x25')],{'transaction':_0xf01271}));}return BPromise[_0x3b65('0x3b')](_0x252035);});})[_0x3b65('0xb')](function(_0x28ad69){logger[_0x3b65('0x14')](_0x3b65('0x48'),_0x286dbb);logger[_0x3b65('0xd')](_0x3b65('0x48'),_0x286dbb,JSON['stringify'](_0x28ad69));_0x27e15e(_0x28ad69);})[_0x3b65('0x1f')](function(_0x3e0cd2){logger[_0x3b65('0x11')](_0x3b65('0x48'),_0x3e0cd2['message'],_0x286dbb);_0x3b7fc9(_0xa79e5[_0x3b65('0x11')](0x1f4,_0x3e0cd2[_0x3b65('0x13')]));});});});};exports['GetCmHopperPreview']=function(_0x3e1611){var _0x3463f5=this;return new Promise(function(_0x25d749,_0x543386){db[_0x3b65('0x30')][_0x3b65('0x2b')]()[_0x3b65('0xb')](function(_0x2578f0){return db['CmHopper']['findAll']({'raw':_0x3e1611[_0x3b65('0x17')]?_0x3e1611['options']['raw']===undefined?!![]:![]:!![],'where':_0x3e1611[_0x3b65('0x17')]?_0x3e1611[_0x3b65('0x17')][_0x3b65('0x19')]||null:null,'attributes':_0x3e1611[_0x3b65('0x17')]?_0x3e1611[_0x3b65('0x17')][_0x3b65('0x1a')]||null:null,'limit':_0x3e1611[_0x3b65('0x17')]?_0x3e1611[_0x3b65('0x17')][_0x3b65('0x26')]||null:null,'include':_0x3e1611['options']?_0x3e1611[_0x3b65('0x17')][_0x3b65('0x1b')]?_[_0x3b65('0x1c')](_0x3e1611['options']['include'],function(_0x39205d){return{'model':db[_0x39205d['model']],'as':_0x39205d['as'],'attributes':_0x39205d['as']===_0x3b65('0x4a')?_[_0x3b65('0x31')](_0x2578f0):_0x39205d[_0x3b65('0x1a')],'include':_0x39205d['include']?_[_0x3b65('0x1c')](_0x39205d[_0x3b65('0x1b')],function(_0x51b463){return{'model':db[_0x51b463[_0x3b65('0x1d')]],'as':_0x51b463['as'],'attributes':_0x51b463[_0x3b65('0x1a')],'include':_0x51b463['include']?_[_0x3b65('0x1c')](_0x51b463[_0x3b65('0x1b')],function(_0x1ac1b7){return{'model':db[_0x1ac1b7['model']],'as':_0x1ac1b7['as'],'attributes':_0x1ac1b7['attributes']};}):[]};}):[]};}):[]:[]})[_0x3b65('0xb')](function(_0x5e1543){logger[_0x3b65('0x14')](_0x3b65('0x1e'),_0x3e1611);logger['debug'](_0x3b65('0x1e'),_0x3e1611,JSON[_0x3b65('0x10')](_0x5e1543));_0x25d749(_0x5e1543);})[_0x3b65('0x1f')](function(_0x7f69e3){logger[_0x3b65('0x11')](_0x3b65('0x1e'),_0x7f69e3[_0x3b65('0x13')],_0x3e1611);_0x543386(_0x3463f5[_0x3b65('0x11')](0x1f4,_0x7f69e3[_0x3b65('0x13')]));});});});};exports['GetContactByPhone']=function(_0x3bcc65){var _0x1f811a=this;return new Promise(function(_0xdbc268,_0x47f0f6){return db['CmContact'][_0x3b65('0x4b')]({'raw':!![],'where':{'phone':_0x3bcc65[_0x3b65('0x17')][_0x3b65('0x19')][_0x3b65('0x4c')]},'attributes':['id',_0x3b65('0x4d')],'order':[['id',_0x3b65('0x4e')]]})[_0x3b65('0xb')](function(_0x402446){logger[_0x3b65('0x14')](_0x3b65('0x4f'),_0x3bcc65);logger[_0x3b65('0xd')](_0x3b65('0x4f'),_0x3bcc65,JSON['stringify'](_0x402446));_0xdbc268(_0x402446);})[_0x3b65('0x1f')](function(_0x26e8fd){logger[_0x3b65('0x11')]('getContactByPhone',_0x26e8fd[_0x3b65('0x13')],_0x3bcc65);_0x47f0f6(_0x1f811a[_0x3b65('0x11')](0x1f4,_0x26e8fd['message']));});});};exports['ResetActiveCalls']=function(_0x389bad){var _0x4602da=this;return new Promise(function(_0x3ce1e0,_0x370ed0){return db[_0x3b65('0x2c')]['transaction'](function(_0x45bfc2){return db[_0x3b65('0x22')][_0x3b65('0x39')]({'active':![]},{'where':{},'transaction':_0x45bfc2})[_0x3b65('0xb')](function(_0x11d993){logger[_0x3b65('0x14')](_0x3b65('0x50'),_0x389bad);logger['debug'](_0x3b65('0x50'),_0x389bad,JSON[_0x3b65('0x10')](_0x11d993));_0x3ce1e0(_0x11d993);})['catch'](function(_0x142b33){logger['error'](_0x3b65('0x50'),_0x142b33['message'],_0x389bad);_0x370ed0(_0x4602da[_0x3b65('0x11')](0x1f4,_0x142b33[_0x3b65('0x13')]));});});});};exports['CmHopperHandlePreviewRecallNotifications']=function(_0x3d5b52){var _0x2d4793=this;var _0x2d7f44=_0x3d5b52['body'][_0x3b65('0x19')][_0x3b65('0x51')];var _0x356703=_0x3d5b52[_0x3b65('0x25')][_0x3b65('0x19')][_0x3b65('0x52')];return new Promise(function(_0x251fab,_0x3d9331){return db['CmHopper'][_0x3b65('0x16')]({'where':{'voiceQueueId':_0x2d7f44,'recallme':0x1,'active':0x0,'recallmeNotifiedDate':{'$eq':null},'scheduledat':{'$lte':db[_0x3b65('0x2c')]['literal'](_0x3b65('0x53')+_0x356703+_0x3b65('0x54'))}},'include':[{'model':db['CmContact'],'as':_0x3b65('0x4a')},{'model':db[_0x3b65('0x32')],'as':_0x3b65('0x33'),'attributes':['id','name',_0x3b65('0x35')]},{'model':db[_0x3b65('0x55')],'as':_0x3b65('0x56')}]})['then'](function(_0x4a9dfe){return db[_0x3b65('0x2c')]['transaction'](function(_0x26c5e7){return db[_0x3b65('0x22')][_0x3b65('0x39')]({'recallmeNotifiedDate':new Date()},{'where':{'voiceQueueId':_0x2d7f44,'recallme':0x1,'active':0x0,'recallmeNotifiedDate':{'$eq':null},'scheduledat':{'$lte':db[_0x3b65('0x2c')][_0x3b65('0x41')](_0x3b65('0x53')+_0x356703+_0x3b65('0x54'))}},'transaction':_0x26c5e7})['then'](function(_0x5b8a73){_0x251fab(_0x4a9dfe);})[_0x3b65('0x1f')](function(_0x53a473){logger[_0x3b65('0x11')]('CmHopperHandlePreviewRecallNotifications',_0x53a473['message'],_0x3d5b52);_0x3d9331(validateExpressRequest);});});})[_0x3b65('0x1f')](function(_0x5b66a8){logger['error']('CmHopperHandlePreviewRecallNotifications',_0x5b66a8[_0x3b65('0x13')],_0x3d5b52);_0x3d9331(_0x2d4793[_0x3b65('0x11')](0x1f4,_0x5b66a8[_0x3b65('0x13')]));});});};