73be6b82b6baeabbd0c52d386739168eac943fe3
[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 _0xcea7=['rpc','../../config/environment','jayson/promise','client','http','request','then','info','CmHopper,\x20%s,\x20%s','request\x20sent','CmHopper,\x20%s,\x20%s,\x20%s','stringify','error','message','result','catch','GetCmHopper','CmHopper','options','raw','attributes','limit','map','model','include','ShowCmHopper','where','debug','CreateCmHopper','create','body','UpdateCmHopper','update','destroy','DestroyCmHopper','GetContactDialer','CmContact','describe','sequelize','transaction','findAll','order','LOCK','Contact','keys','User','Agent','name','length','includes','UserId','push','all','MoveContactManagedDialer','CmHopperFinal','CountReScheduled','COUNT','literal','format','YYYY-MM-DD\x20HH:mm:ss','contactsRescheduled','GetContactRecallMe','UPDATE','GetCmHopperPreview','lodash','bluebird','randomstring','ioredis'];(function(_0x10b581,_0x1365d9){var _0x460038=function(_0x4f2023){while(--_0x4f2023){_0x10b581['push'](_0x10b581['shift']());}};_0x460038(++_0x1365d9);}(_0xcea7,0xc8));var _0x7cea=function(_0x52403d,_0x4fc913){_0x52403d=_0x52403d-0x0;var _0x4ed29d=_0xcea7[_0x52403d];return _0x4ed29d;};'use strict';var _=require(_0x7cea('0x0'));var util=require('util');var moment=require('moment');var BPromise=require(_0x7cea('0x1'));var rs=require(_0x7cea('0x2'));var fs=require('fs');var Redis=require(_0x7cea('0x3'));var db=require('../../mysqldb')['db'];var utils=require('../../config/utils');var logger=require('../../config/logger')(_0x7cea('0x4'));var config=require(_0x7cea('0x5'));var jayson=require(_0x7cea('0x6'));var client=jayson[_0x7cea('0x7')][_0x7cea('0x8')]({'port':0x232a});function respondWithRpcPromise(_0x452fd2,_0xe6282a,_0x3c5dfb){return new BPromise(function(_0x1b0081,_0x3df983){return client[_0x7cea('0x9')](_0x452fd2,_0x3c5dfb)[_0x7cea('0xa')](function(_0x163daf){logger[_0x7cea('0xb')](_0x7cea('0xc'),_0xe6282a,_0x7cea('0xd'));logger['debug'](_0x7cea('0xe'),_0xe6282a,_0x7cea('0xd'),JSON[_0x7cea('0xf')](_0x163daf));if(_0x163daf[_0x7cea('0x10')]){if(_0x163daf[_0x7cea('0x10')]['code']===0x1f4){logger[_0x7cea('0x10')](_0x7cea('0xc'),_0xe6282a,_0x163daf[_0x7cea('0x10')][_0x7cea('0x11')]);return _0x3df983(_0x163daf[_0x7cea('0x10')][_0x7cea('0x11')]);}logger[_0x7cea('0x10')](_0x7cea('0xc'),_0xe6282a,_0x163daf[_0x7cea('0x10')][_0x7cea('0x11')]);return _0x1b0081(_0x163daf[_0x7cea('0x10')][_0x7cea('0x11')]);}else{logger[_0x7cea('0xb')](_0x7cea('0xc'),_0xe6282a,_0x7cea('0xd'));_0x1b0081(_0x163daf[_0x7cea('0x12')][_0x7cea('0x11')]);}})[_0x7cea('0x13')](function(_0xbad695){logger[_0x7cea('0x10')](_0x7cea('0xc'),_0xe6282a,_0xbad695);_0x3df983(_0xbad695);});});}exports[_0x7cea('0x14')]=function(_0x386ee2){var _0x581c27=this;return new Promise(function(_0x473f90,_0x1bc445){return db[_0x7cea('0x15')]['findAll']({'raw':_0x386ee2[_0x7cea('0x16')]?_0x386ee2[_0x7cea('0x16')][_0x7cea('0x17')]===undefined?!![]:![]:!![],'where':_0x386ee2[_0x7cea('0x16')]?_0x386ee2['options']['where']||null:null,'attributes':_0x386ee2[_0x7cea('0x16')]?_0x386ee2[_0x7cea('0x16')][_0x7cea('0x18')]||null:null,'limit':_0x386ee2[_0x7cea('0x16')]?_0x386ee2[_0x7cea('0x16')][_0x7cea('0x19')]||null:null,'include':_0x386ee2[_0x7cea('0x16')]?_0x386ee2[_0x7cea('0x16')]['include']?_[_0x7cea('0x1a')](_0x386ee2[_0x7cea('0x16')]['include'],function(_0x8239d0){return{'model':db[_0x8239d0[_0x7cea('0x1b')]],'as':_0x8239d0['as'],'attributes':_0x8239d0[_0x7cea('0x18')],'include':_0x8239d0[_0x7cea('0x1c')]?_[_0x7cea('0x1a')](_0x8239d0[_0x7cea('0x1c')],function(_0x53d29c){return{'model':db[_0x53d29c[_0x7cea('0x1b')]],'as':_0x53d29c['as'],'attributes':_0x53d29c[_0x7cea('0x18')],'include':_0x53d29c[_0x7cea('0x1c')]?_[_0x7cea('0x1a')](_0x53d29c[_0x7cea('0x1c')],function(_0x551fca){return{'model':db[_0x551fca[_0x7cea('0x1b')]],'as':_0x551fca['as'],'attributes':_0x551fca[_0x7cea('0x18')]};}):[]};}):[]};}):[]:[]})[_0x7cea('0xa')](function(_0x27bd48){logger[_0x7cea('0xb')](_0x7cea('0x14'),_0x386ee2);logger['debug'](_0x7cea('0x14'),_0x386ee2,JSON[_0x7cea('0xf')](_0x27bd48));_0x473f90(_0x27bd48);})[_0x7cea('0x13')](function(_0x51221d){logger['error']('GetCmHopper',_0x51221d[_0x7cea('0x11')],_0x386ee2);_0x1bc445(_0x581c27['error'](0x1f4,_0x51221d[_0x7cea('0x11')]));});});};exports[_0x7cea('0x1d')]=function(_0x3078cf){var _0x140453=this;return new Promise(function(_0x532475,_0x3d90c8){return db['CmHopper']['find']({'raw':_0x3078cf['options']?_0x3078cf['options'][_0x7cea('0x17')]===undefined?!![]:![]:!![],'where':_0x3078cf[_0x7cea('0x16')]?_0x3078cf['options'][_0x7cea('0x1e')]||null:null,'attributes':_0x3078cf[_0x7cea('0x16')]?_0x3078cf[_0x7cea('0x16')][_0x7cea('0x18')]||null:null,'include':_0x3078cf[_0x7cea('0x16')]?_0x3078cf[_0x7cea('0x16')][_0x7cea('0x1c')]?_[_0x7cea('0x1a')](_0x3078cf[_0x7cea('0x16')][_0x7cea('0x1c')],function(_0x527bc0){return{'model':db[_0x527bc0[_0x7cea('0x1b')]],'as':_0x527bc0['as'],'attributes':_0x527bc0[_0x7cea('0x18')],'include':_0x527bc0['include']?_['map'](_0x527bc0['include'],function(_0x4d9536){return{'model':db[_0x4d9536[_0x7cea('0x1b')]],'as':_0x4d9536['as'],'attributes':_0x4d9536[_0x7cea('0x18')],'include':_0x4d9536[_0x7cea('0x1c')]?_[_0x7cea('0x1a')](_0x4d9536[_0x7cea('0x1c')],function(_0x2d5aa5){return{'model':db[_0x2d5aa5['model']],'as':_0x2d5aa5['as'],'attributes':_0x2d5aa5['attributes']};}):[]};}):[]};}):[]:[]})[_0x7cea('0xa')](function(_0x153e4a){logger['info'](_0x7cea('0x1d'),_0x3078cf);logger[_0x7cea('0x1f')]('ShowCmHopper',_0x3078cf,JSON[_0x7cea('0xf')](_0x153e4a));_0x532475(_0x153e4a);})[_0x7cea('0x13')](function(_0x140a09){logger[_0x7cea('0x10')](_0x7cea('0x1d'),_0x140a09[_0x7cea('0x11')],_0x3078cf);_0x3d90c8(_0x140453[_0x7cea('0x10')](0x1f4,_0x140a09['message']));});});};exports[_0x7cea('0x20')]=function(_0x353dd1){var _0x238c89=this;return new Promise(function(_0x50c022,_0x185e49){return db[_0x7cea('0x15')][_0x7cea('0x21')](_0x353dd1[_0x7cea('0x22')],{'raw':_0x353dd1[_0x7cea('0x16')]?_0x353dd1[_0x7cea('0x16')][_0x7cea('0x17')]===undefined?!![]:![]:!![]})['then'](function(_0x40b3d2){logger[_0x7cea('0xb')]('CreateCmHopper',_0x353dd1);logger[_0x7cea('0x1f')](_0x7cea('0x20'),_0x353dd1,JSON['stringify'](_0x40b3d2));_0x50c022(_0x40b3d2);})['catch'](function(_0x2bcf5a){logger[_0x7cea('0x10')](_0x7cea('0x20'),_0x2bcf5a['message'],_0x353dd1);_0x185e49(_0x238c89[_0x7cea('0x10')](0x1f4,_0x2bcf5a['message']));});});};exports[_0x7cea('0x23')]=function(_0x4d33f7){var _0x2afe15=this;return new Promise(function(_0x35ccce,_0x3d148d){return db['CmHopper'][_0x7cea('0x24')](_0x4d33f7[_0x7cea('0x22')],{'raw':_0x4d33f7[_0x7cea('0x16')]?_0x4d33f7[_0x7cea('0x16')][_0x7cea('0x17')]===undefined?!![]:![]:!![],'individualHooks':!![],'where':_0x4d33f7['options']?_0x4d33f7[_0x7cea('0x16')][_0x7cea('0x1e')]||null:null,'attributes':_0x4d33f7[_0x7cea('0x16')]?_0x4d33f7[_0x7cea('0x16')][_0x7cea('0x18')]||null:null,'limit':_0x4d33f7[_0x7cea('0x16')]?_0x4d33f7['options'][_0x7cea('0x19')]||null:null})[_0x7cea('0xa')](function(_0x394eaf){logger['info'](_0x7cea('0x23'),_0x4d33f7);logger[_0x7cea('0x1f')](_0x7cea('0x23'),_0x4d33f7,JSON[_0x7cea('0xf')](_0x394eaf));_0x35ccce(_0x394eaf);})[_0x7cea('0x13')](function(_0x7d0f36){logger[_0x7cea('0x10')](_0x7cea('0x23'),_0x7d0f36[_0x7cea('0x11')],_0x4d33f7);_0x3d148d(_0x2afe15[_0x7cea('0x10')](0x1f4,_0x7d0f36['message']));});});};exports['DestroyCmHopper']=function(_0x213bfb){var _0x365109=this;return new Promise(function(_0x12de47,_0x3691f0){return db['CmHopper'][_0x7cea('0x25')]({'where':_0x213bfb[_0x7cea('0x16')]?_0x213bfb[_0x7cea('0x16')][_0x7cea('0x1e')]||null:null})[_0x7cea('0xa')](function(_0x529bb4){logger[_0x7cea('0xb')]('DestroyCmHopper',_0x213bfb);logger['debug'](_0x7cea('0x26'),_0x213bfb,JSON['stringify'](_0x529bb4));_0x12de47(_0x529bb4);})[_0x7cea('0x13')](function(_0x19e878){logger['error']('DestroyCmHopper',_0x19e878[_0x7cea('0x11')],_0x213bfb);_0x3691f0(_0x365109[_0x7cea('0x10')](0x1f4,_0x19e878[_0x7cea('0x11')]));});});};exports[_0x7cea('0x27')]=function(_0x2b2eba){var _0x4c91b9=this;return new Promise(function(_0x2dee41,_0x2cc1a4){return db[_0x7cea('0x28')][_0x7cea('0x29')]()[_0x7cea('0xa')](function(_0x32c65e){return db[_0x7cea('0x2a')][_0x7cea('0x2b')](function(_0xe995a9){return db[_0x7cea('0x15')][_0x7cea('0x2c')]({'where':_0x2b2eba[_0x7cea('0x16')]?_0x2b2eba[_0x7cea('0x16')][_0x7cea('0x1e')]||null:null,'attributes':_0x2b2eba[_0x7cea('0x16')]?_0x2b2eba[_0x7cea('0x16')]['attributes']||null:null,'limit':_0x2b2eba['options']?_0x2b2eba['options'][_0x7cea('0x19')]||null:null,'order':_0x2b2eba['options']?_0x2b2eba[_0x7cea('0x16')][_0x7cea('0x2d')]||null:null,'transaction':_0xe995a9,'lock':_0xe995a9[_0x7cea('0x2e')]['UPDATE'],'include':[{'model':db[_0x7cea('0x28')],'as':_0x7cea('0x2f'),'attributes':_[_0x7cea('0x30')](_0x32c65e)},{'model':db[_0x7cea('0x31')],'as':_0x7cea('0x32'),'attributes':['id',_0x7cea('0x33'),'voicePause']}]})[_0x7cea('0xa')](function(_0x227b79){var _0x2152df=[];var _0x43f5b0=[];for(var _0x141892=0x0;_0x141892<_0x227b79[_0x7cea('0x34')];_0x141892+=0x1){if(!_0x43f5b0[_0x7cea('0x35')](_0x227b79[_0x141892][_0x7cea('0x36')])){_0x43f5b0[_0x7cea('0x37')](_0x227b79[_0x141892]['UserId']);_0x2152df[_0x7cea('0x37')](_0x227b79[_0x141892][_0x7cea('0x24')](_0x2b2eba[_0x7cea('0x22')],{'transaction':_0xe995a9}));}}return BPromise[_0x7cea('0x38')](_0x2152df);});})[_0x7cea('0xa')](function(_0x3c598a){logger[_0x7cea('0xb')](_0x7cea('0x27'),_0x2b2eba);logger['debug'](_0x7cea('0x27'),_0x2b2eba,JSON[_0x7cea('0xf')](_0x3c598a));_0x2dee41(_0x3c598a);})[_0x7cea('0x13')](function(_0x9b0791){logger[_0x7cea('0x10')](_0x7cea('0x27'),_0x9b0791[_0x7cea('0x11')],_0x2b2eba);_0x2cc1a4(_0x4c91b9[_0x7cea('0x10')](0x1f4,_0x9b0791[_0x7cea('0x11')]));});});});};exports[_0x7cea('0x39')]=function(_0x3b310b){var _0x53947f=this;return new Promise(function(_0x43ab13,_0x563f39){return db[_0x7cea('0x2a')][_0x7cea('0x2b')](function(_0x56ebdb){return db[_0x7cea('0x3a')]['create'](_0x3b310b[_0x7cea('0x22')],{'raw':_0x3b310b[_0x7cea('0x16')]?_0x3b310b[_0x7cea('0x16')][_0x7cea('0x17')]===undefined?!![]:![]:!![],'transaction':_0x56ebdb})[_0x7cea('0xa')](function(){return db[_0x7cea('0x15')][_0x7cea('0x25')]({'where':_0x3b310b[_0x7cea('0x16')]?_0x3b310b[_0x7cea('0x16')][_0x7cea('0x1e')]||null:null,'transaction':_0x56ebdb});});})[_0x7cea('0xa')](function(_0x2be919){logger[_0x7cea('0xb')](_0x7cea('0x39'),_0x3b310b);logger[_0x7cea('0x1f')](_0x7cea('0x39'),_0x3b310b,JSON['stringify'](_0x2be919));_0x43ab13(_0x2be919);})[_0x7cea('0x13')](function(_0x1b747a){logger[_0x7cea('0x10')]('MoveContactManagedDialer',_0x1b747a[_0x7cea('0x11')],_0x3b310b);_0x563f39(_0x53947f[_0x7cea('0x10')](0x1f4,_0x1b747a['message']));});});};exports[_0x7cea('0x3b')]=function(_0x34be20){var _0x5ee4d7=this;return new Promise(function(_0x25a48f,_0x1d2ee6){return db[_0x7cea('0x15')]['findAll']({'raw':_0x34be20[_0x7cea('0x16')]?_0x34be20[_0x7cea('0x16')]['raw']===undefined?!![]:![]:!![],'where':_0x34be20[_0x7cea('0x16')]?_0x34be20['options'][_0x7cea('0x1e')]||null:null,'attributes':[[db[_0x7cea('0x2a')]['fn'](_0x7cea('0x3c'),db[_0x7cea('0x2a')]['fn']('IF',db[_0x7cea('0x2a')][_0x7cea('0x3d')]('`scheduledat`\x20>=\x20'+util[_0x7cea('0x3e')]('\x22%s\x22',moment()[_0x7cea('0x3e')](_0x7cea('0x3f')))+'\x20,\x201,\x20null'))),_0x7cea('0x40')]]})[_0x7cea('0xa')](function(_0x113a9e){logger[_0x7cea('0xb')](_0x7cea('0x3b'),_0x34be20);logger[_0x7cea('0x1f')](_0x7cea('0x3b'),_0x34be20,JSON['stringify'](_0x113a9e));_0x25a48f(_0x113a9e);})[_0x7cea('0x13')](function(_0x4dbfad){logger[_0x7cea('0x10')](_0x7cea('0x3b'),_0x4dbfad[_0x7cea('0x11')],_0x34be20);_0x1d2ee6(_0x5ee4d7[_0x7cea('0x10')](0x1f4,_0x4dbfad['message']));});});};exports[_0x7cea('0x41')]=function(_0x49ee82){var _0x88397f=this;return new Promise(function(_0x5a332c,_0x1425be){return db[_0x7cea('0x28')]['describe']()[_0x7cea('0xa')](function(_0x403ac7){return db[_0x7cea('0x2a')][_0x7cea('0x2b')](function(_0x2f24f7){return db['CmHopper'][_0x7cea('0x2c')]({'where':_0x49ee82[_0x7cea('0x16')]?_0x49ee82[_0x7cea('0x16')][_0x7cea('0x1e')]||null:null,'attributes':_0x49ee82['options']?_0x49ee82['options'][_0x7cea('0x18')]||null:null,'limit':0x1,'order':_0x49ee82[_0x7cea('0x16')]?_0x49ee82[_0x7cea('0x16')][_0x7cea('0x2d')]||null:null,'group':db[_0x7cea('0x15')][_0x7cea('0x36')],'transaction':_0x2f24f7,'lock':_0x2f24f7[_0x7cea('0x2e')][_0x7cea('0x42')],'include':_0x49ee82[_0x7cea('0x16')]?_0x49ee82[_0x7cea('0x16')][_0x7cea('0x1c')]?_[_0x7cea('0x1a')](_0x49ee82[_0x7cea('0x16')][_0x7cea('0x1c')],function(_0x5be372){return{'model':db[_0x5be372['model']],'as':_0x5be372['as'],'attributes':_0x5be372['attributes'],'include':_0x5be372['include']?_['map'](_0x5be372[_0x7cea('0x1c')],function(_0x3a0f61){return{'model':db[_0x3a0f61[_0x7cea('0x1b')]],'as':_0x3a0f61['as'],'attributes':_0x3a0f61[_0x7cea('0x18')],'include':_0x3a0f61[_0x7cea('0x1c')]?_[_0x7cea('0x1a')](_0x3a0f61[_0x7cea('0x1c')],function(_0x302429){return{'model':db[_0x302429[_0x7cea('0x1b')]],'as':_0x302429['as'],'attributes':_0x302429[_0x7cea('0x18')]};}):[]};}):[]};}):[]:[]})['then'](function(_0x128e14){var _0x5b3b89=[];for(var _0x636176=0x0;_0x636176<_0x128e14['length'];_0x636176+=0x1){_0x5b3b89[_0x7cea('0x37')](_0x128e14[_0x636176][_0x7cea('0x24')](_0x49ee82['body'],{'transaction':_0x2f24f7}));}return BPromise[_0x7cea('0x38')](_0x5b3b89);});})[_0x7cea('0xa')](function(_0x59d578){logger['info'](_0x7cea('0x41'),_0x49ee82);logger[_0x7cea('0x1f')](_0x7cea('0x41'),_0x49ee82,JSON['stringify'](_0x59d578));_0x5a332c(_0x59d578);})[_0x7cea('0x13')](function(_0x4b68d4){logger[_0x7cea('0x10')](_0x7cea('0x41'),_0x4b68d4[_0x7cea('0x11')],_0x49ee82);_0x1425be(_0x88397f[_0x7cea('0x10')](0x1f4,_0x4b68d4[_0x7cea('0x11')]));});});});};exports[_0x7cea('0x43')]=function(_0x181967){var _0x5140bd=this;return new Promise(function(_0x1f882e,_0x570b6f){db[_0x7cea('0x28')][_0x7cea('0x29')]()[_0x7cea('0xa')](function(_0x32224e){return db[_0x7cea('0x15')]['findAll']({'raw':_0x181967[_0x7cea('0x16')]?_0x181967['options'][_0x7cea('0x17')]===undefined?!![]:![]:!![],'where':_0x181967[_0x7cea('0x16')]?_0x181967[_0x7cea('0x16')][_0x7cea('0x1e')]||null:null,'attributes':_0x181967[_0x7cea('0x16')]?_0x181967['options'][_0x7cea('0x18')]||null:null,'limit':_0x181967['options']?_0x181967['options'][_0x7cea('0x19')]||null:null,'include':_0x181967['options']?_0x181967[_0x7cea('0x16')]['include']?_[_0x7cea('0x1a')](_0x181967[_0x7cea('0x16')][_0x7cea('0x1c')],function(_0x38e1ca){return{'model':db[_0x38e1ca[_0x7cea('0x1b')]],'as':_0x38e1ca['as'],'attributes':_0x38e1ca['as']===_0x7cea('0x2f')?_[_0x7cea('0x30')](_0x32224e):_0x38e1ca['attributes'],'include':_0x38e1ca[_0x7cea('0x1c')]?_[_0x7cea('0x1a')](_0x38e1ca[_0x7cea('0x1c')],function(_0x4a7b10){return{'model':db[_0x4a7b10[_0x7cea('0x1b')]],'as':_0x4a7b10['as'],'attributes':_0x4a7b10[_0x7cea('0x18')],'include':_0x4a7b10['include']?_[_0x7cea('0x1a')](_0x4a7b10['include'],function(_0x479b94){return{'model':db[_0x479b94['model']],'as':_0x479b94['as'],'attributes':_0x479b94[_0x7cea('0x18')]};}):[]};}):[]};}):[]:[]})['then'](function(_0x45e25c){logger[_0x7cea('0xb')](_0x7cea('0x14'),_0x181967);logger[_0x7cea('0x1f')](_0x7cea('0x14'),_0x181967,JSON[_0x7cea('0xf')](_0x45e25c));_0x1f882e(_0x45e25c);})[_0x7cea('0x13')](function(_0x5da821){logger[_0x7cea('0x10')]('GetCmHopper',_0x5da821[_0x7cea('0x11')],_0x181967);_0x570b6f(_0x5140bd[_0x7cea('0x10')](0x1f4,_0x5da821['message']));});});});};