20924452b4cef6b1c8c522120b56ad5ce038e775
[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 _0xe9b1=['name','voicePause','includes','UserId','all','MoveContactManagedDialer','CountReScheduled','COUNT','literal','`scheduledat`\x20>=\x20','format','\x22%s\x22','\x20,\x201,\x20null','GetContactRecallMe','length','push','GetCmHopperPreview','keys','lodash','util','bluebird','randomstring','ioredis','../../mysqldb','../../config/utils','../../config/logger','rpc','../../config/environment','jayson/promise','client','http','request','then','info','CmHopper,\x20%s,\x20%s','request\x20sent','debug','CmHopper,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','GetCmHopper','CmHopper','findAll','options','raw','include','map','model','attributes','catch','ShowCmHopper','find','where','create','CreateCmHopper','UpdateCmHopper','update','body','destroy','DestroyCmHopper','GetContactDialer','CmContact','describe','sequelize','transaction','limit','order','LOCK','UPDATE','Contact'];(function(_0x120f36,_0xcec80){var _0x23d37a=function(_0x5c8c7c){while(--_0x5c8c7c){_0x120f36['push'](_0x120f36['shift']());}};_0x23d37a(++_0xcec80);}(_0xe9b1,0xa4));var _0x1e9b=function(_0x4017b0,_0x4347db){_0x4017b0=_0x4017b0-0x0;var _0x5ed4f7=_0xe9b1[_0x4017b0];return _0x5ed4f7;};'use strict';var _=require(_0x1e9b('0x0'));var util=require(_0x1e9b('0x1'));var moment=require('moment');var BPromise=require(_0x1e9b('0x2'));var rs=require(_0x1e9b('0x3'));var fs=require('fs');var Redis=require(_0x1e9b('0x4'));var db=require(_0x1e9b('0x5'))['db'];var utils=require(_0x1e9b('0x6'));var logger=require(_0x1e9b('0x7'))(_0x1e9b('0x8'));var config=require(_0x1e9b('0x9'));var jayson=require(_0x1e9b('0xa'));var client=jayson[_0x1e9b('0xb')][_0x1e9b('0xc')]({'port':0x232a});function respondWithRpcPromise(_0x3e94c9,_0x5929a1,_0x1a707c){return new BPromise(function(_0x49dd4f,_0x4d68ad){return client[_0x1e9b('0xd')](_0x3e94c9,_0x1a707c)[_0x1e9b('0xe')](function(_0x57c530){logger[_0x1e9b('0xf')](_0x1e9b('0x10'),_0x5929a1,_0x1e9b('0x11'));logger[_0x1e9b('0x12')](_0x1e9b('0x13'),_0x5929a1,_0x1e9b('0x11'),JSON[_0x1e9b('0x14')](_0x57c530));if(_0x57c530[_0x1e9b('0x15')]){if(_0x57c530[_0x1e9b('0x15')][_0x1e9b('0x16')]===0x1f4){logger[_0x1e9b('0x15')](_0x1e9b('0x10'),_0x5929a1,_0x57c530[_0x1e9b('0x15')][_0x1e9b('0x17')]);return _0x4d68ad(_0x57c530[_0x1e9b('0x15')][_0x1e9b('0x17')]);}logger[_0x1e9b('0x15')]('CmHopper,\x20%s,\x20%s',_0x5929a1,_0x57c530[_0x1e9b('0x15')]['message']);return _0x49dd4f(_0x57c530['error'][_0x1e9b('0x17')]);}else{logger['info'](_0x1e9b('0x10'),_0x5929a1,_0x1e9b('0x11'));_0x49dd4f(_0x57c530[_0x1e9b('0x18')]['message']);}})['catch'](function(_0x4da8f6){logger[_0x1e9b('0x15')](_0x1e9b('0x10'),_0x5929a1,_0x4da8f6);_0x4d68ad(_0x4da8f6);});});}exports[_0x1e9b('0x19')]=function(_0x32dada){var _0x66f5d2=this;return new Promise(function(_0x3b3cb1,_0x2e516f){return db[_0x1e9b('0x1a')][_0x1e9b('0x1b')]({'raw':_0x32dada['options']?_0x32dada[_0x1e9b('0x1c')][_0x1e9b('0x1d')]===undefined?!![]:![]:!![],'where':_0x32dada[_0x1e9b('0x1c')]?_0x32dada['options']['where']||null:null,'attributes':_0x32dada[_0x1e9b('0x1c')]?_0x32dada[_0x1e9b('0x1c')]['attributes']||null:null,'limit':_0x32dada[_0x1e9b('0x1c')]?_0x32dada['options']['limit']||null:null,'include':_0x32dada['options']?_0x32dada[_0x1e9b('0x1c')][_0x1e9b('0x1e')]?_[_0x1e9b('0x1f')](_0x32dada[_0x1e9b('0x1c')][_0x1e9b('0x1e')],function(_0x5e46fe){return{'model':db[_0x5e46fe[_0x1e9b('0x20')]],'as':_0x5e46fe['as'],'attributes':_0x5e46fe[_0x1e9b('0x21')],'include':_0x5e46fe[_0x1e9b('0x1e')]?_[_0x1e9b('0x1f')](_0x5e46fe['include'],function(_0x21f22c){return{'model':db[_0x21f22c['model']],'as':_0x21f22c['as'],'attributes':_0x21f22c[_0x1e9b('0x21')],'include':_0x21f22c[_0x1e9b('0x1e')]?_[_0x1e9b('0x1f')](_0x21f22c[_0x1e9b('0x1e')],function(_0x28f40f){return{'model':db[_0x28f40f['model']],'as':_0x28f40f['as'],'attributes':_0x28f40f[_0x1e9b('0x21')]};}):[]};}):[]};}):[]:[]})[_0x1e9b('0xe')](function(_0xe6de7){logger[_0x1e9b('0xf')](_0x1e9b('0x19'),_0x32dada);logger['debug'](_0x1e9b('0x19'),_0x32dada,JSON[_0x1e9b('0x14')](_0xe6de7));_0x3b3cb1(_0xe6de7);})[_0x1e9b('0x22')](function(_0x25ee56){logger[_0x1e9b('0x15')](_0x1e9b('0x19'),_0x25ee56[_0x1e9b('0x17')],_0x32dada);_0x2e516f(_0x66f5d2[_0x1e9b('0x15')](0x1f4,_0x25ee56[_0x1e9b('0x17')]));});});};exports[_0x1e9b('0x23')]=function(_0x597734){var _0x3677e9=this;return new Promise(function(_0x196c54,_0x4b3abc){return db['CmHopper'][_0x1e9b('0x24')]({'raw':_0x597734['options']?_0x597734[_0x1e9b('0x1c')][_0x1e9b('0x1d')]===undefined?!![]:![]:!![],'where':_0x597734[_0x1e9b('0x1c')]?_0x597734[_0x1e9b('0x1c')][_0x1e9b('0x25')]||null:null,'attributes':_0x597734['options']?_0x597734['options'][_0x1e9b('0x21')]||null:null,'include':_0x597734[_0x1e9b('0x1c')]?_0x597734[_0x1e9b('0x1c')]['include']?_['map'](_0x597734[_0x1e9b('0x1c')][_0x1e9b('0x1e')],function(_0x1422a3){return{'model':db[_0x1422a3[_0x1e9b('0x20')]],'as':_0x1422a3['as'],'attributes':_0x1422a3[_0x1e9b('0x21')],'include':_0x1422a3[_0x1e9b('0x1e')]?_[_0x1e9b('0x1f')](_0x1422a3[_0x1e9b('0x1e')],function(_0x3d1c74){return{'model':db[_0x3d1c74['model']],'as':_0x3d1c74['as'],'attributes':_0x3d1c74[_0x1e9b('0x21')],'include':_0x3d1c74[_0x1e9b('0x1e')]?_[_0x1e9b('0x1f')](_0x3d1c74['include'],function(_0x448d14){return{'model':db[_0x448d14[_0x1e9b('0x20')]],'as':_0x448d14['as'],'attributes':_0x448d14[_0x1e9b('0x21')]};}):[]};}):[]};}):[]:[]})[_0x1e9b('0xe')](function(_0x44df9c){logger[_0x1e9b('0xf')](_0x1e9b('0x23'),_0x597734);logger['debug'](_0x1e9b('0x23'),_0x597734,JSON[_0x1e9b('0x14')](_0x44df9c));_0x196c54(_0x44df9c);})['catch'](function(_0x547b70){logger['error'](_0x1e9b('0x23'),_0x547b70['message'],_0x597734);_0x4b3abc(_0x3677e9[_0x1e9b('0x15')](0x1f4,_0x547b70[_0x1e9b('0x17')]));});});};exports['CreateCmHopper']=function(_0x5ce91d){var _0x4b3948=this;return new Promise(function(_0x615ed9,_0xb0717f){return db[_0x1e9b('0x1a')][_0x1e9b('0x26')](_0x5ce91d['body'],{'raw':_0x5ce91d[_0x1e9b('0x1c')]?_0x5ce91d[_0x1e9b('0x1c')]['raw']===undefined?!![]:![]:!![]})[_0x1e9b('0xe')](function(_0x265c96){logger[_0x1e9b('0xf')](_0x1e9b('0x27'),_0x5ce91d);logger['debug']('CreateCmHopper',_0x5ce91d,JSON[_0x1e9b('0x14')](_0x265c96));_0x615ed9(_0x265c96);})[_0x1e9b('0x22')](function(_0x246c48){logger[_0x1e9b('0x15')]('CreateCmHopper',_0x246c48['message'],_0x5ce91d);_0xb0717f(_0x4b3948[_0x1e9b('0x15')](0x1f4,_0x246c48[_0x1e9b('0x17')]));});});};exports[_0x1e9b('0x28')]=function(_0x43dcac){var _0x1e581e=this;return new Promise(function(_0x4f5527,_0x1fa990){return db[_0x1e9b('0x1a')][_0x1e9b('0x29')](_0x43dcac[_0x1e9b('0x2a')],{'raw':_0x43dcac[_0x1e9b('0x1c')]?_0x43dcac[_0x1e9b('0x1c')][_0x1e9b('0x1d')]===undefined?!![]:![]:!![],'individualHooks':!![],'where':_0x43dcac[_0x1e9b('0x1c')]?_0x43dcac['options'][_0x1e9b('0x25')]||null:null,'attributes':_0x43dcac[_0x1e9b('0x1c')]?_0x43dcac[_0x1e9b('0x1c')]['attributes']||null:null,'limit':_0x43dcac[_0x1e9b('0x1c')]?_0x43dcac['options']['limit']||null:null})[_0x1e9b('0xe')](function(_0x5dbe7e){logger['info'](_0x1e9b('0x28'),_0x43dcac);logger[_0x1e9b('0x12')](_0x1e9b('0x28'),_0x43dcac,JSON[_0x1e9b('0x14')](_0x5dbe7e));_0x4f5527(_0x5dbe7e);})['catch'](function(_0x6385ff){logger['error']('UpdateCmHopper',_0x6385ff[_0x1e9b('0x17')],_0x43dcac);_0x1fa990(_0x1e581e[_0x1e9b('0x15')](0x1f4,_0x6385ff[_0x1e9b('0x17')]));});});};exports['DestroyCmHopper']=function(_0x1977db){var _0x27cdc3=this;return new Promise(function(_0x5cdcbd,_0xb56994){return db[_0x1e9b('0x1a')][_0x1e9b('0x2b')]({'where':_0x1977db[_0x1e9b('0x1c')]?_0x1977db[_0x1e9b('0x1c')]['where']||null:null})[_0x1e9b('0xe')](function(_0x404d9d){logger[_0x1e9b('0xf')](_0x1e9b('0x2c'),_0x1977db);logger[_0x1e9b('0x12')](_0x1e9b('0x2c'),_0x1977db,JSON[_0x1e9b('0x14')](_0x404d9d));_0x5cdcbd(_0x404d9d);})[_0x1e9b('0x22')](function(_0x21327c){logger[_0x1e9b('0x15')](_0x1e9b('0x2c'),_0x21327c[_0x1e9b('0x17')],_0x1977db);_0xb56994(_0x27cdc3[_0x1e9b('0x15')](0x1f4,_0x21327c[_0x1e9b('0x17')]));});});};exports[_0x1e9b('0x2d')]=function(_0x257040){var _0x59ead5=this;return new Promise(function(_0x26fffb,_0x147584){return db[_0x1e9b('0x2e')][_0x1e9b('0x2f')]()[_0x1e9b('0xe')](function(_0x3f6716){return db[_0x1e9b('0x30')][_0x1e9b('0x31')](function(_0x2cdaf9){return db[_0x1e9b('0x1a')][_0x1e9b('0x1b')]({'where':_0x257040[_0x1e9b('0x1c')]?_0x257040[_0x1e9b('0x1c')][_0x1e9b('0x25')]||null:null,'attributes':_0x257040['options']?_0x257040['options'][_0x1e9b('0x21')]||null:null,'limit':_0x257040['options']?_0x257040[_0x1e9b('0x1c')][_0x1e9b('0x32')]||null:null,'order':_0x257040[_0x1e9b('0x1c')]?_0x257040[_0x1e9b('0x1c')][_0x1e9b('0x33')]||null:null,'transaction':_0x2cdaf9,'lock':_0x2cdaf9[_0x1e9b('0x34')][_0x1e9b('0x35')],'include':[{'model':db[_0x1e9b('0x2e')],'as':_0x1e9b('0x36'),'attributes':_['keys'](_0x3f6716)},{'model':db['User'],'as':'Agent','attributes':['id',_0x1e9b('0x37'),_0x1e9b('0x38')]}]})[_0x1e9b('0xe')](function(_0x4dd04f){var _0x3cc550=[];var _0x3842f4=[];for(var _0x1973d9=0x0;_0x1973d9<_0x4dd04f['length'];_0x1973d9+=0x1){if(!_0x3842f4[_0x1e9b('0x39')](_0x4dd04f[_0x1973d9]['UserId'])){_0x3842f4['push'](_0x4dd04f[_0x1973d9][_0x1e9b('0x3a')]);_0x3cc550['push'](_0x4dd04f[_0x1973d9][_0x1e9b('0x29')](_0x257040['body'],{'transaction':_0x2cdaf9}));}}return BPromise[_0x1e9b('0x3b')](_0x3cc550);});})[_0x1e9b('0xe')](function(_0x21faa9){logger['info'](_0x1e9b('0x2d'),_0x257040);logger[_0x1e9b('0x12')](_0x1e9b('0x2d'),_0x257040,JSON['stringify'](_0x21faa9));_0x26fffb(_0x21faa9);})[_0x1e9b('0x22')](function(_0x321f5d){logger[_0x1e9b('0x15')]('GetContactDialer',_0x321f5d[_0x1e9b('0x17')],_0x257040);_0x147584(_0x59ead5[_0x1e9b('0x15')](0x1f4,_0x321f5d[_0x1e9b('0x17')]));});});});};exports['MoveContactManagedDialer']=function(_0x765eeb){var _0x10bcb2=this;return new Promise(function(_0x433868,_0x403a03){return db[_0x1e9b('0x30')][_0x1e9b('0x31')](function(_0x3a0a8f){return db['CmHopperFinal'][_0x1e9b('0x26')](_0x765eeb[_0x1e9b('0x2a')],{'raw':_0x765eeb[_0x1e9b('0x1c')]?_0x765eeb[_0x1e9b('0x1c')][_0x1e9b('0x1d')]===undefined?!![]:![]:!![],'transaction':_0x3a0a8f})[_0x1e9b('0xe')](function(){return db['CmHopper'][_0x1e9b('0x2b')]({'where':_0x765eeb[_0x1e9b('0x1c')]?_0x765eeb[_0x1e9b('0x1c')][_0x1e9b('0x25')]||null:null,'transaction':_0x3a0a8f});});})[_0x1e9b('0xe')](function(_0x596bf6){logger[_0x1e9b('0xf')](_0x1e9b('0x3c'),_0x765eeb);logger['debug'](_0x1e9b('0x3c'),_0x765eeb,JSON['stringify'](_0x596bf6));_0x433868(_0x596bf6);})['catch'](function(_0x41121c){logger[_0x1e9b('0x15')]('MoveContactManagedDialer',_0x41121c[_0x1e9b('0x17')],_0x765eeb);_0x403a03(_0x10bcb2[_0x1e9b('0x15')](0x1f4,_0x41121c[_0x1e9b('0x17')]));});});};exports[_0x1e9b('0x3d')]=function(_0x35a3fe){var _0x4d4a0f=this;return new Promise(function(_0x54ee09,_0x1314ef){return db[_0x1e9b('0x1a')][_0x1e9b('0x1b')]({'raw':_0x35a3fe[_0x1e9b('0x1c')]?_0x35a3fe[_0x1e9b('0x1c')]['raw']===undefined?!![]:![]:!![],'where':_0x35a3fe['options']?_0x35a3fe[_0x1e9b('0x1c')]['where']||null:null,'attributes':[[db[_0x1e9b('0x30')]['fn'](_0x1e9b('0x3e'),db[_0x1e9b('0x30')]['fn']('IF',db[_0x1e9b('0x30')][_0x1e9b('0x3f')](_0x1e9b('0x40')+util[_0x1e9b('0x41')](_0x1e9b('0x42'),moment()[_0x1e9b('0x41')]('YYYY-MM-DD\x20HH:mm:ss'))+_0x1e9b('0x43')))),'contactsRescheduled']]})[_0x1e9b('0xe')](function(_0x326e2e){logger[_0x1e9b('0xf')](_0x1e9b('0x3d'),_0x35a3fe);logger['debug'](_0x1e9b('0x3d'),_0x35a3fe,JSON[_0x1e9b('0x14')](_0x326e2e));_0x54ee09(_0x326e2e);})[_0x1e9b('0x22')](function(_0x374ad4){logger[_0x1e9b('0x15')](_0x1e9b('0x3d'),_0x374ad4['message'],_0x35a3fe);_0x1314ef(_0x4d4a0f['error'](0x1f4,_0x374ad4[_0x1e9b('0x17')]));});});};exports[_0x1e9b('0x44')]=function(_0x28b4d4){var _0x485c35=this;return new Promise(function(_0x5f178d,_0x2b452e){return db['CmContact']['describe']()[_0x1e9b('0xe')](function(_0x29a0a8){return db['sequelize']['transaction'](function(_0x5d7bb6){return db[_0x1e9b('0x1a')][_0x1e9b('0x1b')]({'where':_0x28b4d4['options']?_0x28b4d4['options']['where']||null:null,'attributes':_0x28b4d4['options']?_0x28b4d4['options']['attributes']||null:null,'limit':0x1,'order':_0x28b4d4[_0x1e9b('0x1c')]?_0x28b4d4[_0x1e9b('0x1c')]['order']||null:null,'group':db[_0x1e9b('0x1a')][_0x1e9b('0x3a')],'transaction':_0x5d7bb6,'lock':_0x5d7bb6[_0x1e9b('0x34')][_0x1e9b('0x35')],'include':_0x28b4d4[_0x1e9b('0x1c')]?_0x28b4d4['options'][_0x1e9b('0x1e')]?_[_0x1e9b('0x1f')](_0x28b4d4['options'][_0x1e9b('0x1e')],function(_0x94598c){return{'model':db[_0x94598c[_0x1e9b('0x20')]],'as':_0x94598c['as'],'attributes':_0x94598c[_0x1e9b('0x21')],'include':_0x94598c[_0x1e9b('0x1e')]?_[_0x1e9b('0x1f')](_0x94598c[_0x1e9b('0x1e')],function(_0x505a74){return{'model':db[_0x505a74[_0x1e9b('0x20')]],'as':_0x505a74['as'],'attributes':_0x505a74[_0x1e9b('0x21')],'include':_0x505a74['include']?_[_0x1e9b('0x1f')](_0x505a74[_0x1e9b('0x1e')],function(_0x356261){return{'model':db[_0x356261[_0x1e9b('0x20')]],'as':_0x356261['as'],'attributes':_0x356261[_0x1e9b('0x21')]};}):[]};}):[]};}):[]:[]})['then'](function(_0x375601){var _0x69eafb=[];for(var _0x4ab245=0x0;_0x4ab245<_0x375601[_0x1e9b('0x45')];_0x4ab245+=0x1){_0x69eafb[_0x1e9b('0x46')](_0x375601[_0x4ab245][_0x1e9b('0x29')](_0x28b4d4[_0x1e9b('0x2a')],{'transaction':_0x5d7bb6}));}return BPromise[_0x1e9b('0x3b')](_0x69eafb);});})[_0x1e9b('0xe')](function(_0x1bb663){logger[_0x1e9b('0xf')](_0x1e9b('0x44'),_0x28b4d4);logger[_0x1e9b('0x12')](_0x1e9b('0x44'),_0x28b4d4,JSON[_0x1e9b('0x14')](_0x1bb663));_0x5f178d(_0x1bb663);})[_0x1e9b('0x22')](function(_0x1e7c23){logger['error']('GetContactRecallMe',_0x1e7c23['message'],_0x28b4d4);_0x2b452e(_0x485c35[_0x1e9b('0x15')](0x1f4,_0x1e7c23[_0x1e9b('0x17')]));});});});};exports[_0x1e9b('0x47')]=function(_0x1ba3da){var _0xe74912=this;return new Promise(function(_0x500215,_0x318a72){db[_0x1e9b('0x2e')]['describe']()[_0x1e9b('0xe')](function(_0x313737){return db['CmHopper']['findAll']({'raw':_0x1ba3da[_0x1e9b('0x1c')]?_0x1ba3da[_0x1e9b('0x1c')][_0x1e9b('0x1d')]===undefined?!![]:![]:!![],'where':_0x1ba3da[_0x1e9b('0x1c')]?_0x1ba3da[_0x1e9b('0x1c')][_0x1e9b('0x25')]||null:null,'attributes':_0x1ba3da[_0x1e9b('0x1c')]?_0x1ba3da[_0x1e9b('0x1c')]['attributes']||null:null,'limit':_0x1ba3da[_0x1e9b('0x1c')]?_0x1ba3da[_0x1e9b('0x1c')][_0x1e9b('0x32')]||null:null,'include':_0x1ba3da[_0x1e9b('0x1c')]?_0x1ba3da['options'][_0x1e9b('0x1e')]?_['map'](_0x1ba3da[_0x1e9b('0x1c')]['include'],function(_0x44d6b6){return{'model':db[_0x44d6b6[_0x1e9b('0x20')]],'as':_0x44d6b6['as'],'attributes':_0x44d6b6['as']===_0x1e9b('0x36')?_[_0x1e9b('0x48')](_0x313737):_0x44d6b6[_0x1e9b('0x21')],'include':_0x44d6b6['include']?_[_0x1e9b('0x1f')](_0x44d6b6[_0x1e9b('0x1e')],function(_0x48232e){return{'model':db[_0x48232e['model']],'as':_0x48232e['as'],'attributes':_0x48232e[_0x1e9b('0x21')],'include':_0x48232e[_0x1e9b('0x1e')]?_['map'](_0x48232e[_0x1e9b('0x1e')],function(_0x3ed3a5){return{'model':db[_0x3ed3a5['model']],'as':_0x3ed3a5['as'],'attributes':_0x3ed3a5['attributes']};}):[]};}):[]};}):[]:[]})['then'](function(_0x54c41d){logger[_0x1e9b('0xf')](_0x1e9b('0x19'),_0x1ba3da);logger[_0x1e9b('0x12')](_0x1e9b('0x19'),_0x1ba3da,JSON[_0x1e9b('0x14')](_0x54c41d));_0x500215(_0x54c41d);})[_0x1e9b('0x22')](function(_0x111cab){logger[_0x1e9b('0x15')](_0x1e9b('0x19'),_0x111cab[_0x1e9b('0x17')],_0x1ba3da);_0x318a72(_0xe74912[_0x1e9b('0x15')](0x1f4,_0x111cab[_0x1e9b('0x17')]));});});});};