Built motion from commit 43538d75.|2.5.35
[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 _0x3b4c=['transaction','order','LOCK','UPDATE','CmContact','User','Agent','length','UserId','push','includes','all','MoveContactManagedDialer','CmHopperFinal','CountReScheduled','findAll','COUNT','format','\x22%s\x22','contactsRescheduled','describe','GetContactRecallMe','GetCmHopperPreview','lodash','util','moment','ioredis','../../mysqldb','../../config/utils','../../config/logger','rpc','jayson/promise','client','request','CmHopper,\x20%s,\x20%s','request\x20sent','debug','code','error','message','result','catch','GetCmHopper','CmHopper','options','raw','where','limit','include','map','model','attributes','then','info','stringify','ShowCmHopper','CreateCmHopper','create','body','UpdateCmHopper','update','destroy','DestroyCmHopper','GetContactDialer','sequelize'];(function(_0x3d1f70,_0x22f7cd){var _0x13a16e=function(_0x25622f){while(--_0x25622f){_0x3d1f70['push'](_0x3d1f70['shift']());}};_0x13a16e(++_0x22f7cd);}(_0x3b4c,0x11b));var _0xc3b4=function(_0x3e95c9,_0x5a6821){_0x3e95c9=_0x3e95c9-0x0;var _0x56d2db=_0x3b4c[_0x3e95c9];return _0x56d2db;};'use strict';var _=require(_0xc3b4('0x0'));var util=require(_0xc3b4('0x1'));var moment=require(_0xc3b4('0x2'));var BPromise=require('bluebird');var rs=require('randomstring');var fs=require('fs');var Redis=require(_0xc3b4('0x3'));var db=require(_0xc3b4('0x4'))['db'];var utils=require(_0xc3b4('0x5'));var logger=require(_0xc3b4('0x6'))(_0xc3b4('0x7'));var config=require('../../config/environment');var jayson=require(_0xc3b4('0x8'));var client=jayson[_0xc3b4('0x9')]['http']({'port':0x232a});function respondWithRpcPromise(_0x177a88,_0x311278,_0x19b466){return new BPromise(function(_0x20bde8,_0x54302d){return client[_0xc3b4('0xa')](_0x177a88,_0x19b466)['then'](function(_0x1811c7){logger['info'](_0xc3b4('0xb'),_0x311278,_0xc3b4('0xc'));logger[_0xc3b4('0xd')]('CmHopper,\x20%s,\x20%s,\x20%s',_0x311278,_0xc3b4('0xc'),JSON['stringify'](_0x1811c7));if(_0x1811c7['error']){if(_0x1811c7['error'][_0xc3b4('0xe')]===0x1f4){logger[_0xc3b4('0xf')](_0xc3b4('0xb'),_0x311278,_0x1811c7['error'][_0xc3b4('0x10')]);return _0x54302d(_0x1811c7['error'][_0xc3b4('0x10')]);}logger[_0xc3b4('0xf')](_0xc3b4('0xb'),_0x311278,_0x1811c7['error'][_0xc3b4('0x10')]);return _0x20bde8(_0x1811c7[_0xc3b4('0xf')][_0xc3b4('0x10')]);}else{logger['info'](_0xc3b4('0xb'),_0x311278,'request\x20sent');_0x20bde8(_0x1811c7[_0xc3b4('0x11')][_0xc3b4('0x10')]);}})[_0xc3b4('0x12')](function(_0x45b803){logger[_0xc3b4('0xf')](_0xc3b4('0xb'),_0x311278,_0x45b803);_0x54302d(_0x45b803);});});}exports[_0xc3b4('0x13')]=function(_0x4876b3){var _0x104569=this;return new Promise(function(_0x2d667c,_0x539779){return db[_0xc3b4('0x14')]['findAll']({'raw':_0x4876b3[_0xc3b4('0x15')]?_0x4876b3['options'][_0xc3b4('0x16')]===undefined?!![]:![]:!![],'where':_0x4876b3[_0xc3b4('0x15')]?_0x4876b3[_0xc3b4('0x15')][_0xc3b4('0x17')]||null:null,'attributes':_0x4876b3[_0xc3b4('0x15')]?_0x4876b3['options']['attributes']||null:null,'limit':_0x4876b3[_0xc3b4('0x15')]?_0x4876b3[_0xc3b4('0x15')][_0xc3b4('0x18')]||null:null,'include':_0x4876b3['options']?_0x4876b3[_0xc3b4('0x15')][_0xc3b4('0x19')]?_[_0xc3b4('0x1a')](_0x4876b3['options'][_0xc3b4('0x19')],function(_0x4a8b20){return{'model':db[_0x4a8b20[_0xc3b4('0x1b')]],'as':_0x4a8b20['as'],'attributes':_0x4a8b20['attributes'],'include':_0x4a8b20[_0xc3b4('0x19')]?_[_0xc3b4('0x1a')](_0x4a8b20[_0xc3b4('0x19')],function(_0x60e924){return{'model':db[_0x60e924[_0xc3b4('0x1b')]],'as':_0x60e924['as'],'attributes':_0x60e924[_0xc3b4('0x1c')],'include':_0x60e924[_0xc3b4('0x19')]?_[_0xc3b4('0x1a')](_0x60e924['include'],function(_0x3f5056){return{'model':db[_0x3f5056[_0xc3b4('0x1b')]],'as':_0x3f5056['as'],'attributes':_0x3f5056[_0xc3b4('0x1c')]};}):[]};}):[]};}):[]:[]})[_0xc3b4('0x1d')](function(_0x2f2b99){logger[_0xc3b4('0x1e')](_0xc3b4('0x13'),_0x4876b3);logger[_0xc3b4('0xd')]('GetCmHopper',_0x4876b3,JSON[_0xc3b4('0x1f')](_0x2f2b99));_0x2d667c(_0x2f2b99);})['catch'](function(_0x19c116){logger['error'](_0xc3b4('0x13'),_0x19c116[_0xc3b4('0x10')],_0x4876b3);_0x539779(_0x104569['error'](0x1f4,_0x19c116[_0xc3b4('0x10')]));});});};exports[_0xc3b4('0x20')]=function(_0x36cfa4){var _0xaa9f35=this;return new Promise(function(_0x1e3ccb,_0x570fea){return db[_0xc3b4('0x14')]['find']({'raw':_0x36cfa4['options']?_0x36cfa4['options'][_0xc3b4('0x16')]===undefined?!![]:![]:!![],'where':_0x36cfa4[_0xc3b4('0x15')]?_0x36cfa4[_0xc3b4('0x15')]['where']||null:null,'attributes':_0x36cfa4[_0xc3b4('0x15')]?_0x36cfa4['options']['attributes']||null:null,'include':_0x36cfa4[_0xc3b4('0x15')]?_0x36cfa4['options'][_0xc3b4('0x19')]?_['map'](_0x36cfa4[_0xc3b4('0x15')]['include'],function(_0x2e1a2d){return{'model':db[_0x2e1a2d[_0xc3b4('0x1b')]],'as':_0x2e1a2d['as'],'attributes':_0x2e1a2d[_0xc3b4('0x1c')],'include':_0x2e1a2d[_0xc3b4('0x19')]?_[_0xc3b4('0x1a')](_0x2e1a2d[_0xc3b4('0x19')],function(_0x9bbd30){return{'model':db[_0x9bbd30[_0xc3b4('0x1b')]],'as':_0x9bbd30['as'],'attributes':_0x9bbd30[_0xc3b4('0x1c')],'include':_0x9bbd30[_0xc3b4('0x19')]?_[_0xc3b4('0x1a')](_0x9bbd30[_0xc3b4('0x19')],function(_0x1619a4){return{'model':db[_0x1619a4[_0xc3b4('0x1b')]],'as':_0x1619a4['as'],'attributes':_0x1619a4['attributes']};}):[]};}):[]};}):[]:[]})[_0xc3b4('0x1d')](function(_0x24c20f){logger[_0xc3b4('0x1e')](_0xc3b4('0x20'),_0x36cfa4);logger[_0xc3b4('0xd')]('ShowCmHopper',_0x36cfa4,JSON['stringify'](_0x24c20f));_0x1e3ccb(_0x24c20f);})[_0xc3b4('0x12')](function(_0x10ce54){logger['error'](_0xc3b4('0x20'),_0x10ce54[_0xc3b4('0x10')],_0x36cfa4);_0x570fea(_0xaa9f35['error'](0x1f4,_0x10ce54[_0xc3b4('0x10')]));});});};exports[_0xc3b4('0x21')]=function(_0x5c7532){var _0x3fcf8e=this;return new Promise(function(_0x318aff,_0x3c3f10){return db[_0xc3b4('0x14')][_0xc3b4('0x22')](_0x5c7532[_0xc3b4('0x23')],{'raw':_0x5c7532[_0xc3b4('0x15')]?_0x5c7532[_0xc3b4('0x15')][_0xc3b4('0x16')]===undefined?!![]:![]:!![]})[_0xc3b4('0x1d')](function(_0x66beed){logger['info']('CreateCmHopper',_0x5c7532);logger[_0xc3b4('0xd')](_0xc3b4('0x21'),_0x5c7532,JSON['stringify'](_0x66beed));_0x318aff(_0x66beed);})['catch'](function(_0x5499b5){logger[_0xc3b4('0xf')](_0xc3b4('0x21'),_0x5499b5[_0xc3b4('0x10')],_0x5c7532);_0x3c3f10(_0x3fcf8e[_0xc3b4('0xf')](0x1f4,_0x5499b5[_0xc3b4('0x10')]));});});};exports[_0xc3b4('0x24')]=function(_0x149303){var _0x3dae24=this;return new Promise(function(_0x37c5ec,_0x3b164e){return db[_0xc3b4('0x14')][_0xc3b4('0x25')](_0x149303[_0xc3b4('0x23')],{'raw':_0x149303['options']?_0x149303[_0xc3b4('0x15')][_0xc3b4('0x16')]===undefined?!![]:![]:!![],'individualHooks':!![],'where':_0x149303[_0xc3b4('0x15')]?_0x149303['options'][_0xc3b4('0x17')]||null:null,'attributes':_0x149303[_0xc3b4('0x15')]?_0x149303['options']['attributes']||null:null,'limit':_0x149303[_0xc3b4('0x15')]?_0x149303[_0xc3b4('0x15')][_0xc3b4('0x18')]||null:null})[_0xc3b4('0x1d')](function(_0x23808d){logger[_0xc3b4('0x1e')](_0xc3b4('0x24'),_0x149303);logger[_0xc3b4('0xd')](_0xc3b4('0x24'),_0x149303,JSON[_0xc3b4('0x1f')](_0x23808d));_0x37c5ec(_0x23808d);})[_0xc3b4('0x12')](function(_0x511348){logger[_0xc3b4('0xf')](_0xc3b4('0x24'),_0x511348[_0xc3b4('0x10')],_0x149303);_0x3b164e(_0x3dae24[_0xc3b4('0xf')](0x1f4,_0x511348[_0xc3b4('0x10')]));});});};exports['DestroyCmHopper']=function(_0xbf4df7){var _0x350e78=this;return new Promise(function(_0x1d420e,_0x1e1121){return db[_0xc3b4('0x14')][_0xc3b4('0x26')]({'where':_0xbf4df7[_0xc3b4('0x15')]?_0xbf4df7[_0xc3b4('0x15')]['where']||null:null})[_0xc3b4('0x1d')](function(_0xe8bf6d){logger['info']('DestroyCmHopper',_0xbf4df7);logger[_0xc3b4('0xd')](_0xc3b4('0x27'),_0xbf4df7,JSON[_0xc3b4('0x1f')](_0xe8bf6d));_0x1d420e(_0xe8bf6d);})[_0xc3b4('0x12')](function(_0x29542c){logger[_0xc3b4('0xf')](_0xc3b4('0x27'),_0x29542c['message'],_0xbf4df7);_0x1e1121(_0x350e78[_0xc3b4('0xf')](0x1f4,_0x29542c[_0xc3b4('0x10')]));});});};exports[_0xc3b4('0x28')]=function(_0x5b31cb){var _0x333a84=this;return new Promise(function(_0x3f8505,_0x2824a1){return db['CmContact']['describe']()['then'](function(_0x5ccba8){return db[_0xc3b4('0x29')][_0xc3b4('0x2a')](function(_0x4d315a){return db[_0xc3b4('0x14')]['findAll']({'where':_0x5b31cb[_0xc3b4('0x15')]?_0x5b31cb[_0xc3b4('0x15')][_0xc3b4('0x17')]||null:null,'attributes':_0x5b31cb[_0xc3b4('0x15')]?_0x5b31cb[_0xc3b4('0x15')][_0xc3b4('0x1c')]||null:null,'limit':_0x5b31cb[_0xc3b4('0x15')]?_0x5b31cb['options']['limit']||null:null,'order':_0x5b31cb[_0xc3b4('0x15')]?_0x5b31cb[_0xc3b4('0x15')][_0xc3b4('0x2b')]||null:null,'transaction':_0x4d315a,'lock':_0x4d315a[_0xc3b4('0x2c')][_0xc3b4('0x2d')],'include':[{'model':db[_0xc3b4('0x2e')],'as':'Contact','attributes':_['keys'](_0x5ccba8)},{'model':db[_0xc3b4('0x2f')],'as':_0xc3b4('0x30'),'attributes':['id','name','voicePause']}]})[_0xc3b4('0x1d')](function(_0x3c1d31){var _0x11bf79=[];var _0x5da620=[];for(var _0x57d033=0x0;_0x57d033<_0x3c1d31[_0xc3b4('0x31')];_0x57d033+=0x1){var _0x5e2ec4=_0x3c1d31[_0x57d033][_0xc3b4('0x32')];if(_0x5e2ec4===null){_0x11bf79[_0xc3b4('0x33')](_0x3c1d31[_0x57d033][_0xc3b4('0x25')](_0x5b31cb[_0xc3b4('0x23')],{'transaction':_0x4d315a}));}else if(!_0x5da620[_0xc3b4('0x34')](_0x5e2ec4)){_0x5da620[_0xc3b4('0x33')](_0x5e2ec4);_0x11bf79[_0xc3b4('0x33')](_0x3c1d31[_0x57d033]['update'](_0x5b31cb['body'],{'transaction':_0x4d315a}));}}return BPromise[_0xc3b4('0x35')](_0x11bf79);});})['then'](function(_0x3948ef){logger[_0xc3b4('0x1e')](_0xc3b4('0x28'),_0x5b31cb);logger['debug']('GetContactDialer',_0x5b31cb,JSON[_0xc3b4('0x1f')](_0x3948ef));_0x3f8505(_0x3948ef);})[_0xc3b4('0x12')](function(_0x5b52fb){logger[_0xc3b4('0xf')]('GetContactDialer',_0x5b52fb[_0xc3b4('0x10')],_0x5b31cb);_0x2824a1(_0x333a84[_0xc3b4('0xf')](0x1f4,_0x5b52fb[_0xc3b4('0x10')]));});});});};exports[_0xc3b4('0x36')]=function(_0x573911){var _0x158d2e=this;return new Promise(function(_0x47dac9,_0xb91b30){return db[_0xc3b4('0x29')][_0xc3b4('0x2a')](function(_0x5f3043){return db[_0xc3b4('0x37')]['create'](_0x573911[_0xc3b4('0x23')],{'raw':_0x573911['options']?_0x573911[_0xc3b4('0x15')][_0xc3b4('0x16')]===undefined?!![]:![]:!![],'transaction':_0x5f3043})[_0xc3b4('0x1d')](function(){return db[_0xc3b4('0x14')][_0xc3b4('0x26')]({'where':_0x573911['options']?_0x573911[_0xc3b4('0x15')][_0xc3b4('0x17')]||null:null,'transaction':_0x5f3043});});})['then'](function(_0x18d19f){logger['info'](_0xc3b4('0x36'),_0x573911);logger['debug']('MoveContactManagedDialer',_0x573911,JSON[_0xc3b4('0x1f')](_0x18d19f));_0x47dac9(_0x18d19f);})[_0xc3b4('0x12')](function(_0x90ce0f){logger[_0xc3b4('0xf')](_0xc3b4('0x36'),_0x90ce0f[_0xc3b4('0x10')],_0x573911);_0xb91b30(_0x158d2e[_0xc3b4('0xf')](0x1f4,_0x90ce0f[_0xc3b4('0x10')]));});});};exports[_0xc3b4('0x38')]=function(_0x216971){var _0x18cdbc=this;return new Promise(function(_0x5c1ba3,_0x459f7b){return db['CmHopper'][_0xc3b4('0x39')]({'raw':_0x216971[_0xc3b4('0x15')]?_0x216971[_0xc3b4('0x15')]['raw']===undefined?!![]:![]:!![],'where':_0x216971['options']?_0x216971[_0xc3b4('0x15')][_0xc3b4('0x17')]||null:null,'attributes':[[db[_0xc3b4('0x29')]['fn'](_0xc3b4('0x3a'),db[_0xc3b4('0x29')]['fn']('IF',db['sequelize']['literal']('`scheduledat`\x20>=\x20'+util[_0xc3b4('0x3b')](_0xc3b4('0x3c'),moment()['format']('YYYY-MM-DD\x20HH:mm:ss'))+'\x20,\x201,\x20null'))),_0xc3b4('0x3d')]]})[_0xc3b4('0x1d')](function(_0x935861){logger[_0xc3b4('0x1e')](_0xc3b4('0x38'),_0x216971);logger[_0xc3b4('0xd')](_0xc3b4('0x38'),_0x216971,JSON['stringify'](_0x935861));_0x5c1ba3(_0x935861);})[_0xc3b4('0x12')](function(_0x325593){logger[_0xc3b4('0xf')](_0xc3b4('0x38'),_0x325593[_0xc3b4('0x10')],_0x216971);_0x459f7b(_0x18cdbc[_0xc3b4('0xf')](0x1f4,_0x325593[_0xc3b4('0x10')]));});});};exports['GetContactRecallMe']=function(_0x4eea2c){var _0x509f10=this;return new Promise(function(_0x24a423,_0x2b36f1){return db['CmContact'][_0xc3b4('0x3e')]()[_0xc3b4('0x1d')](function(_0x298421){return db[_0xc3b4('0x29')][_0xc3b4('0x2a')](function(_0x4e6212){return db[_0xc3b4('0x14')][_0xc3b4('0x39')]({'where':_0x4eea2c['options']?_0x4eea2c[_0xc3b4('0x15')][_0xc3b4('0x17')]||null:null,'attributes':_0x4eea2c[_0xc3b4('0x15')]?_0x4eea2c[_0xc3b4('0x15')][_0xc3b4('0x1c')]||null:null,'limit':0x1,'order':_0x4eea2c[_0xc3b4('0x15')]?_0x4eea2c['options']['order']||null:null,'group':db[_0xc3b4('0x14')]['UserId'],'transaction':_0x4e6212,'lock':_0x4e6212[_0xc3b4('0x2c')][_0xc3b4('0x2d')],'include':_0x4eea2c[_0xc3b4('0x15')]?_0x4eea2c['options'][_0xc3b4('0x19')]?_[_0xc3b4('0x1a')](_0x4eea2c['options'][_0xc3b4('0x19')],function(_0x5de280){return{'model':db[_0x5de280['model']],'as':_0x5de280['as'],'attributes':_0x5de280[_0xc3b4('0x1c')],'include':_0x5de280[_0xc3b4('0x19')]?_[_0xc3b4('0x1a')](_0x5de280[_0xc3b4('0x19')],function(_0x2a6c57){return{'model':db[_0x2a6c57[_0xc3b4('0x1b')]],'as':_0x2a6c57['as'],'attributes':_0x2a6c57[_0xc3b4('0x1c')],'include':_0x2a6c57['include']?_[_0xc3b4('0x1a')](_0x2a6c57['include'],function(_0x5d567e){return{'model':db[_0x5d567e[_0xc3b4('0x1b')]],'as':_0x5d567e['as'],'attributes':_0x5d567e[_0xc3b4('0x1c')]};}):[]};}):[]};}):[]:[]})[_0xc3b4('0x1d')](function(_0x33b9a9){var _0x5b67bd=[];for(var _0xec45c2=0x0;_0xec45c2<_0x33b9a9[_0xc3b4('0x31')];_0xec45c2+=0x1){_0x5b67bd[_0xc3b4('0x33')](_0x33b9a9[_0xec45c2][_0xc3b4('0x25')](_0x4eea2c[_0xc3b4('0x23')],{'transaction':_0x4e6212}));}return BPromise[_0xc3b4('0x35')](_0x5b67bd);});})['then'](function(_0x2deaab){logger['info'](_0xc3b4('0x3f'),_0x4eea2c);logger['debug'](_0xc3b4('0x3f'),_0x4eea2c,JSON[_0xc3b4('0x1f')](_0x2deaab));_0x24a423(_0x2deaab);})[_0xc3b4('0x12')](function(_0x48eef3){logger[_0xc3b4('0xf')](_0xc3b4('0x3f'),_0x48eef3[_0xc3b4('0x10')],_0x4eea2c);_0x2b36f1(_0x509f10['error'](0x1f4,_0x48eef3[_0xc3b4('0x10')]));});});});};exports[_0xc3b4('0x40')]=function(_0x1995da){var _0x32adc8=this;return new Promise(function(_0x3d53e8,_0xf03b55){db[_0xc3b4('0x2e')][_0xc3b4('0x3e')]()[_0xc3b4('0x1d')](function(_0x5bdefe){return db[_0xc3b4('0x14')][_0xc3b4('0x39')]({'raw':_0x1995da[_0xc3b4('0x15')]?_0x1995da[_0xc3b4('0x15')]['raw']===undefined?!![]:![]:!![],'where':_0x1995da[_0xc3b4('0x15')]?_0x1995da['options'][_0xc3b4('0x17')]||null:null,'attributes':_0x1995da[_0xc3b4('0x15')]?_0x1995da[_0xc3b4('0x15')]['attributes']||null:null,'limit':_0x1995da[_0xc3b4('0x15')]?_0x1995da[_0xc3b4('0x15')][_0xc3b4('0x18')]||null:null,'include':_0x1995da[_0xc3b4('0x15')]?_0x1995da[_0xc3b4('0x15')][_0xc3b4('0x19')]?_[_0xc3b4('0x1a')](_0x1995da['options'][_0xc3b4('0x19')],function(_0x281af1){return{'model':db[_0x281af1[_0xc3b4('0x1b')]],'as':_0x281af1['as'],'attributes':_0x281af1['as']==='Contact'?_['keys'](_0x5bdefe):_0x281af1[_0xc3b4('0x1c')],'include':_0x281af1[_0xc3b4('0x19')]?_[_0xc3b4('0x1a')](_0x281af1[_0xc3b4('0x19')],function(_0x595626){return{'model':db[_0x595626[_0xc3b4('0x1b')]],'as':_0x595626['as'],'attributes':_0x595626['attributes'],'include':_0x595626[_0xc3b4('0x19')]?_['map'](_0x595626[_0xc3b4('0x19')],function(_0x766ace){return{'model':db[_0x766ace['model']],'as':_0x766ace['as'],'attributes':_0x766ace['attributes']};}):[]};}):[]};}):[]:[]})[_0xc3b4('0x1d')](function(_0x4be893){logger['info'](_0xc3b4('0x13'),_0x1995da);logger[_0xc3b4('0xd')](_0xc3b4('0x13'),_0x1995da,JSON[_0xc3b4('0x1f')](_0x4be893));_0x3d53e8(_0x4be893);})[_0xc3b4('0x12')](function(_0x149775){logger[_0xc3b4('0xf')](_0xc3b4('0x13'),_0x149775[_0xc3b4('0x10')],_0x1995da);_0xf03b55(_0x32adc8[_0xc3b4('0xf')](0x1f4,_0x149775[_0xc3b4('0x10')]));});});});};