11a36b8fba317fe00fe083485ba2254122e5b5bd
[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 _0x7c61=['request\x20sent','debug','CmHopper,\x20%s,\x20%s,\x20%s','error','message','result','CmHopper','findAll','options','raw','attributes','include','model','map','GetCmHopper','catch','ShowCmHopper','find','where','stringify','create','CreateCmHopper','UpdateCmHopper','update','body','limit','DestroyCmHopper','GetContactDialer','CmContact','transaction','order','LOCK','UPDATE','Contact','Agent','name','voicePause','length','UserId','includes','push','all','MoveContactManagedDialer','sequelize','destroy','CountReScheduled','COUNT','literal','`scheduledat`\x20>=\x20','format','YYYY-MM-DD\x20HH:mm:ss','\x20,\x201,\x20null','contactsRescheduled','GetContactRecallMe','describe','keys','util','bluebird','randomstring','ioredis','../../mysqldb','../../config/utils','../../config/logger','rpc','jayson/promise','request','then','info','CmHopper,\x20%s,\x20%s'];(function(_0x4a0986,_0x41cbd4){var _0x3c8987=function(_0x1c585a){while(--_0x1c585a){_0x4a0986['push'](_0x4a0986['shift']());}};_0x3c8987(++_0x41cbd4);}(_0x7c61,0x7d));var _0x17c6=function(_0x35d2ed,_0x31a8a0){_0x35d2ed=_0x35d2ed-0x0;var _0x456d5e=_0x7c61[_0x35d2ed];return _0x456d5e;};'use strict';var _=require('lodash');var util=require(_0x17c6('0x0'));var moment=require('moment');var BPromise=require(_0x17c6('0x1'));var rs=require(_0x17c6('0x2'));var fs=require('fs');var Redis=require(_0x17c6('0x3'));var db=require(_0x17c6('0x4'))['db'];var utils=require(_0x17c6('0x5'));var logger=require(_0x17c6('0x6'))(_0x17c6('0x7'));var config=require('../../config/environment');var jayson=require(_0x17c6('0x8'));var client=jayson['client']['http']({'port':0x232a});function respondWithRpcPromise(_0x120191,_0x3bf353,_0x531fb9){return new BPromise(function(_0x4887ca,_0xace455){return client[_0x17c6('0x9')](_0x120191,_0x531fb9)[_0x17c6('0xa')](function(_0x3be82c){logger[_0x17c6('0xb')](_0x17c6('0xc'),_0x3bf353,_0x17c6('0xd'));logger[_0x17c6('0xe')](_0x17c6('0xf'),_0x3bf353,'request\x20sent',JSON['stringify'](_0x3be82c));if(_0x3be82c[_0x17c6('0x10')]){if(_0x3be82c[_0x17c6('0x10')]['code']===0x1f4){logger[_0x17c6('0x10')](_0x17c6('0xc'),_0x3bf353,_0x3be82c['error'][_0x17c6('0x11')]);return _0xace455(_0x3be82c[_0x17c6('0x10')][_0x17c6('0x11')]);}logger['error'](_0x17c6('0xc'),_0x3bf353,_0x3be82c[_0x17c6('0x10')][_0x17c6('0x11')]);return _0x4887ca(_0x3be82c[_0x17c6('0x10')][_0x17c6('0x11')]);}else{logger['info']('CmHopper,\x20%s,\x20%s',_0x3bf353,_0x17c6('0xd'));_0x4887ca(_0x3be82c[_0x17c6('0x12')][_0x17c6('0x11')]);}})['catch'](function(_0x4c8590){logger[_0x17c6('0x10')](_0x17c6('0xc'),_0x3bf353,_0x4c8590);_0xace455(_0x4c8590);});});}exports['GetCmHopper']=function(_0x2fc357){var _0x445dd1=this;return new Promise(function(_0x5d328c,_0x3d6db3){return db[_0x17c6('0x13')][_0x17c6('0x14')]({'raw':_0x2fc357['options']?_0x2fc357[_0x17c6('0x15')][_0x17c6('0x16')]===undefined?!![]:![]:!![],'where':_0x2fc357[_0x17c6('0x15')]?_0x2fc357['options']['where']||null:null,'attributes':_0x2fc357[_0x17c6('0x15')]?_0x2fc357['options'][_0x17c6('0x17')]||null:null,'limit':_0x2fc357['options']?_0x2fc357[_0x17c6('0x15')]['limit']||null:null,'include':_0x2fc357[_0x17c6('0x15')]?_0x2fc357[_0x17c6('0x15')][_0x17c6('0x18')]?_['map'](_0x2fc357['options'][_0x17c6('0x18')],function(_0x32415c){return{'model':db[_0x32415c[_0x17c6('0x19')]],'as':_0x32415c['as'],'attributes':_0x32415c[_0x17c6('0x17')],'include':_0x32415c['include']?_[_0x17c6('0x1a')](_0x32415c[_0x17c6('0x18')],function(_0x20dc96){return{'model':db[_0x20dc96[_0x17c6('0x19')]],'as':_0x20dc96['as'],'attributes':_0x20dc96[_0x17c6('0x17')],'include':_0x20dc96[_0x17c6('0x18')]?_[_0x17c6('0x1a')](_0x20dc96[_0x17c6('0x18')],function(_0x1438e0){return{'model':db[_0x1438e0[_0x17c6('0x19')]],'as':_0x1438e0['as'],'attributes':_0x1438e0[_0x17c6('0x17')]};}):[]};}):[]};}):[]:[]})[_0x17c6('0xa')](function(_0x2621da){logger['info'](_0x17c6('0x1b'),_0x2fc357);logger[_0x17c6('0xe')](_0x17c6('0x1b'),_0x2fc357,JSON['stringify'](_0x2621da));_0x5d328c(_0x2621da);})[_0x17c6('0x1c')](function(_0xc4d963){logger[_0x17c6('0x10')](_0x17c6('0x1b'),_0xc4d963[_0x17c6('0x11')],_0x2fc357);_0x3d6db3(_0x445dd1['error'](0x1f4,_0xc4d963[_0x17c6('0x11')]));});});};exports[_0x17c6('0x1d')]=function(_0x117bb4){var _0x2b6b3b=this;return new Promise(function(_0x166893,_0x35ad0c){return db['CmHopper'][_0x17c6('0x1e')]({'raw':_0x117bb4['options']?_0x117bb4[_0x17c6('0x15')][_0x17c6('0x16')]===undefined?!![]:![]:!![],'where':_0x117bb4[_0x17c6('0x15')]?_0x117bb4[_0x17c6('0x15')][_0x17c6('0x1f')]||null:null,'attributes':_0x117bb4[_0x17c6('0x15')]?_0x117bb4[_0x17c6('0x15')][_0x17c6('0x17')]||null:null,'include':_0x117bb4[_0x17c6('0x15')]?_0x117bb4[_0x17c6('0x15')][_0x17c6('0x18')]?_[_0x17c6('0x1a')](_0x117bb4[_0x17c6('0x15')]['include'],function(_0x2b6fe3){return{'model':db[_0x2b6fe3[_0x17c6('0x19')]],'as':_0x2b6fe3['as'],'attributes':_0x2b6fe3[_0x17c6('0x17')],'include':_0x2b6fe3[_0x17c6('0x18')]?_[_0x17c6('0x1a')](_0x2b6fe3[_0x17c6('0x18')],function(_0x24c64e){return{'model':db[_0x24c64e[_0x17c6('0x19')]],'as':_0x24c64e['as'],'attributes':_0x24c64e[_0x17c6('0x17')],'include':_0x24c64e['include']?_[_0x17c6('0x1a')](_0x24c64e[_0x17c6('0x18')],function(_0x952b84){return{'model':db[_0x952b84['model']],'as':_0x952b84['as'],'attributes':_0x952b84['attributes']};}):[]};}):[]};}):[]:[]})[_0x17c6('0xa')](function(_0x27637d){logger[_0x17c6('0xb')](_0x17c6('0x1d'),_0x117bb4);logger['debug'](_0x17c6('0x1d'),_0x117bb4,JSON[_0x17c6('0x20')](_0x27637d));_0x166893(_0x27637d);})[_0x17c6('0x1c')](function(_0x59fbf7){logger[_0x17c6('0x10')](_0x17c6('0x1d'),_0x59fbf7[_0x17c6('0x11')],_0x117bb4);_0x35ad0c(_0x2b6b3b['error'](0x1f4,_0x59fbf7[_0x17c6('0x11')]));});});};exports['CreateCmHopper']=function(_0x2442ec){var _0x15c84a=this;return new Promise(function(_0x1f40b6,_0x3fd7eb){return db['CmHopper'][_0x17c6('0x21')](_0x2442ec['body'],{'raw':_0x2442ec[_0x17c6('0x15')]?_0x2442ec['options']['raw']===undefined?!![]:![]:!![]})['then'](function(_0x5dbb1b){logger[_0x17c6('0xb')](_0x17c6('0x22'),_0x2442ec);logger[_0x17c6('0xe')]('CreateCmHopper',_0x2442ec,JSON[_0x17c6('0x20')](_0x5dbb1b));_0x1f40b6(_0x5dbb1b);})['catch'](function(_0x43b907){logger[_0x17c6('0x10')]('CreateCmHopper',_0x43b907[_0x17c6('0x11')],_0x2442ec);_0x3fd7eb(_0x15c84a[_0x17c6('0x10')](0x1f4,_0x43b907[_0x17c6('0x11')]));});});};exports[_0x17c6('0x23')]=function(_0x3bfac1){var _0x49bd3a=this;return new Promise(function(_0x16f493,_0x1d9a75){return db[_0x17c6('0x13')][_0x17c6('0x24')](_0x3bfac1[_0x17c6('0x25')],{'raw':_0x3bfac1[_0x17c6('0x15')]?_0x3bfac1[_0x17c6('0x15')]['raw']===undefined?!![]:![]:!![],'individualHooks':!![],'where':_0x3bfac1[_0x17c6('0x15')]?_0x3bfac1[_0x17c6('0x15')][_0x17c6('0x1f')]||null:null,'attributes':_0x3bfac1[_0x17c6('0x15')]?_0x3bfac1[_0x17c6('0x15')][_0x17c6('0x17')]||null:null,'limit':_0x3bfac1[_0x17c6('0x15')]?_0x3bfac1[_0x17c6('0x15')][_0x17c6('0x26')]||null:null})['then'](function(_0x472647){logger[_0x17c6('0xb')](_0x17c6('0x23'),_0x3bfac1);logger[_0x17c6('0xe')](_0x17c6('0x23'),_0x3bfac1,JSON['stringify'](_0x472647));_0x16f493(_0x472647);})['catch'](function(_0x157a93){logger[_0x17c6('0x10')](_0x17c6('0x23'),_0x157a93['message'],_0x3bfac1);_0x1d9a75(_0x49bd3a['error'](0x1f4,_0x157a93[_0x17c6('0x11')]));});});};exports[_0x17c6('0x27')]=function(_0x193d59){var _0x4d626f=this;return new Promise(function(_0x271e8b,_0x3b4c24){return db[_0x17c6('0x13')]['destroy']({'where':_0x193d59[_0x17c6('0x15')]?_0x193d59[_0x17c6('0x15')]['where']||null:null})[_0x17c6('0xa')](function(_0x368430){logger[_0x17c6('0xb')](_0x17c6('0x27'),_0x193d59);logger['debug'](_0x17c6('0x27'),_0x193d59,JSON[_0x17c6('0x20')](_0x368430));_0x271e8b(_0x368430);})[_0x17c6('0x1c')](function(_0x34697c){logger[_0x17c6('0x10')](_0x17c6('0x27'),_0x34697c[_0x17c6('0x11')],_0x193d59);_0x3b4c24(_0x4d626f[_0x17c6('0x10')](0x1f4,_0x34697c[_0x17c6('0x11')]));});});};exports[_0x17c6('0x28')]=function(_0x486b15){var _0x220e1b=this;return new Promise(function(_0x4bbdbe,_0x160762){return db[_0x17c6('0x29')]['describe']()[_0x17c6('0xa')](function(_0x937320){return db['sequelize'][_0x17c6('0x2a')](function(_0x5b971a){return db['CmHopper']['findAll']({'where':_0x486b15[_0x17c6('0x15')]?_0x486b15[_0x17c6('0x15')][_0x17c6('0x1f')]||null:null,'attributes':_0x486b15[_0x17c6('0x15')]?_0x486b15[_0x17c6('0x15')][_0x17c6('0x17')]||null:null,'limit':_0x486b15['options']?_0x486b15['options'][_0x17c6('0x26')]||null:null,'order':_0x486b15[_0x17c6('0x15')]?_0x486b15[_0x17c6('0x15')][_0x17c6('0x2b')]||null:null,'transaction':_0x5b971a,'lock':_0x5b971a[_0x17c6('0x2c')][_0x17c6('0x2d')],'include':[{'model':db[_0x17c6('0x29')],'as':_0x17c6('0x2e'),'attributes':_['keys'](_0x937320)},{'model':db['User'],'as':_0x17c6('0x2f'),'attributes':['id',_0x17c6('0x30'),_0x17c6('0x31')]}]})['then'](function(_0x1a7a12){var _0x211eb6=[];var _0x21b58a=[];for(var _0x3afda6=0x0;_0x3afda6<_0x1a7a12[_0x17c6('0x32')];_0x3afda6+=0x1){var _0x223c1c=_0x1a7a12[_0x3afda6][_0x17c6('0x33')];if(_0x223c1c===null){_0x211eb6['push'](_0x1a7a12[_0x3afda6][_0x17c6('0x24')](_0x486b15[_0x17c6('0x25')],{'transaction':_0x5b971a}));}else if(!_0x21b58a[_0x17c6('0x34')](_0x223c1c)){_0x21b58a[_0x17c6('0x35')](_0x223c1c);_0x211eb6[_0x17c6('0x35')](_0x1a7a12[_0x3afda6]['update'](_0x486b15[_0x17c6('0x25')],{'transaction':_0x5b971a}));}}return BPromise[_0x17c6('0x36')](_0x211eb6);});})['then'](function(_0x42b870){logger[_0x17c6('0xb')](_0x17c6('0x28'),_0x486b15);logger[_0x17c6('0xe')](_0x17c6('0x28'),_0x486b15,JSON[_0x17c6('0x20')](_0x42b870));_0x4bbdbe(_0x42b870);})['catch'](function(_0x4921c1){logger['error'](_0x17c6('0x28'),_0x4921c1[_0x17c6('0x11')],_0x486b15);_0x160762(_0x220e1b[_0x17c6('0x10')](0x1f4,_0x4921c1[_0x17c6('0x11')]));});});});};exports[_0x17c6('0x37')]=function(_0x29f807){var _0x1b59e2=this;return new Promise(function(_0x159351,_0x38a868){return db[_0x17c6('0x38')]['transaction'](function(_0x219c38){return db['CmHopperFinal'][_0x17c6('0x21')](_0x29f807[_0x17c6('0x25')],{'raw':_0x29f807['options']?_0x29f807[_0x17c6('0x15')][_0x17c6('0x16')]===undefined?!![]:![]:!![],'transaction':_0x219c38})[_0x17c6('0xa')](function(){return db[_0x17c6('0x13')][_0x17c6('0x39')]({'where':_0x29f807[_0x17c6('0x15')]?_0x29f807[_0x17c6('0x15')][_0x17c6('0x1f')]||null:null,'transaction':_0x219c38});});})[_0x17c6('0xa')](function(_0x4bf4fa){logger['info']('MoveContactManagedDialer',_0x29f807);logger[_0x17c6('0xe')](_0x17c6('0x37'),_0x29f807,JSON[_0x17c6('0x20')](_0x4bf4fa));_0x159351(_0x4bf4fa);})[_0x17c6('0x1c')](function(_0x286148){logger[_0x17c6('0x10')](_0x17c6('0x37'),_0x286148['message'],_0x29f807);_0x38a868(_0x1b59e2[_0x17c6('0x10')](0x1f4,_0x286148[_0x17c6('0x11')]));});});};exports[_0x17c6('0x3a')]=function(_0x1e4bcc){var _0x359c70=this;return new Promise(function(_0x171256,_0x34f6a6){return db[_0x17c6('0x13')]['findAll']({'raw':_0x1e4bcc[_0x17c6('0x15')]?_0x1e4bcc[_0x17c6('0x15')][_0x17c6('0x16')]===undefined?!![]:![]:!![],'where':_0x1e4bcc[_0x17c6('0x15')]?_0x1e4bcc['options'][_0x17c6('0x1f')]||null:null,'attributes':[[db['sequelize']['fn'](_0x17c6('0x3b'),db[_0x17c6('0x38')]['fn']('IF',db[_0x17c6('0x38')][_0x17c6('0x3c')](_0x17c6('0x3d')+util[_0x17c6('0x3e')]('\x22%s\x22',moment()[_0x17c6('0x3e')](_0x17c6('0x3f')))+_0x17c6('0x40')))),_0x17c6('0x41')]]})[_0x17c6('0xa')](function(_0x199b95){logger[_0x17c6('0xb')]('CountReScheduled',_0x1e4bcc);logger['debug']('CountReScheduled',_0x1e4bcc,JSON[_0x17c6('0x20')](_0x199b95));_0x171256(_0x199b95);})[_0x17c6('0x1c')](function(_0x2a0591){logger[_0x17c6('0x10')]('CountReScheduled',_0x2a0591['message'],_0x1e4bcc);_0x34f6a6(_0x359c70[_0x17c6('0x10')](0x1f4,_0x2a0591['message']));});});};exports[_0x17c6('0x42')]=function(_0x4060da){var _0x12e5df=this;return new Promise(function(_0x13b28a,_0x5079c8){return db[_0x17c6('0x29')][_0x17c6('0x43')]()[_0x17c6('0xa')](function(_0x33dac0){return db[_0x17c6('0x38')][_0x17c6('0x2a')](function(_0x4a7194){return db[_0x17c6('0x13')][_0x17c6('0x14')]({'where':_0x4060da[_0x17c6('0x15')]?_0x4060da[_0x17c6('0x15')][_0x17c6('0x1f')]||null:null,'attributes':_0x4060da[_0x17c6('0x15')]?_0x4060da[_0x17c6('0x15')][_0x17c6('0x17')]||null:null,'limit':0x1,'order':_0x4060da[_0x17c6('0x15')]?_0x4060da[_0x17c6('0x15')][_0x17c6('0x2b')]||null:null,'group':db['CmHopper'][_0x17c6('0x33')],'transaction':_0x4a7194,'lock':_0x4a7194[_0x17c6('0x2c')][_0x17c6('0x2d')],'include':_0x4060da[_0x17c6('0x15')]?_0x4060da[_0x17c6('0x15')][_0x17c6('0x18')]?_[_0x17c6('0x1a')](_0x4060da[_0x17c6('0x15')][_0x17c6('0x18')],function(_0x1067b2){return{'model':db[_0x1067b2['model']],'as':_0x1067b2['as'],'attributes':_0x1067b2[_0x17c6('0x17')],'include':_0x1067b2[_0x17c6('0x18')]?_[_0x17c6('0x1a')](_0x1067b2['include'],function(_0x1bf5c4){return{'model':db[_0x1bf5c4[_0x17c6('0x19')]],'as':_0x1bf5c4['as'],'attributes':_0x1bf5c4[_0x17c6('0x17')],'include':_0x1bf5c4[_0x17c6('0x18')]?_[_0x17c6('0x1a')](_0x1bf5c4[_0x17c6('0x18')],function(_0x4a12c7){return{'model':db[_0x4a12c7[_0x17c6('0x19')]],'as':_0x4a12c7['as'],'attributes':_0x4a12c7[_0x17c6('0x17')]};}):[]};}):[]};}):[]:[]})[_0x17c6('0xa')](function(_0x4bcf5a){var _0x9d58bf=[];for(var _0x5c9f68=0x0;_0x5c9f68<_0x4bcf5a[_0x17c6('0x32')];_0x5c9f68+=0x1){_0x9d58bf[_0x17c6('0x35')](_0x4bcf5a[_0x5c9f68][_0x17c6('0x24')](_0x4060da['body'],{'transaction':_0x4a7194}));}return BPromise[_0x17c6('0x36')](_0x9d58bf);});})[_0x17c6('0xa')](function(_0x416462){logger['info']('GetContactRecallMe',_0x4060da);logger[_0x17c6('0xe')](_0x17c6('0x42'),_0x4060da,JSON[_0x17c6('0x20')](_0x416462));_0x13b28a(_0x416462);})[_0x17c6('0x1c')](function(_0x41a264){logger[_0x17c6('0x10')](_0x17c6('0x42'),_0x41a264['message'],_0x4060da);_0x5079c8(_0x12e5df['error'](0x1f4,_0x41a264[_0x17c6('0x11')]));});});});};exports['GetCmHopperPreview']=function(_0x42b322){var _0x3f10ef=this;return new Promise(function(_0xfc9db8,_0x227933){db[_0x17c6('0x29')]['describe']()['then'](function(_0x5c1d8a){return db[_0x17c6('0x13')][_0x17c6('0x14')]({'raw':_0x42b322[_0x17c6('0x15')]?_0x42b322[_0x17c6('0x15')][_0x17c6('0x16')]===undefined?!![]:![]:!![],'where':_0x42b322[_0x17c6('0x15')]?_0x42b322[_0x17c6('0x15')][_0x17c6('0x1f')]||null:null,'attributes':_0x42b322[_0x17c6('0x15')]?_0x42b322['options'][_0x17c6('0x17')]||null:null,'limit':_0x42b322[_0x17c6('0x15')]?_0x42b322['options'][_0x17c6('0x26')]||null:null,'include':_0x42b322[_0x17c6('0x15')]?_0x42b322[_0x17c6('0x15')][_0x17c6('0x18')]?_['map'](_0x42b322[_0x17c6('0x15')][_0x17c6('0x18')],function(_0x337334){return{'model':db[_0x337334[_0x17c6('0x19')]],'as':_0x337334['as'],'attributes':_0x337334['as']===_0x17c6('0x2e')?_[_0x17c6('0x44')](_0x5c1d8a):_0x337334[_0x17c6('0x17')],'include':_0x337334[_0x17c6('0x18')]?_[_0x17c6('0x1a')](_0x337334[_0x17c6('0x18')],function(_0x414bfc){return{'model':db[_0x414bfc[_0x17c6('0x19')]],'as':_0x414bfc['as'],'attributes':_0x414bfc[_0x17c6('0x17')],'include':_0x414bfc['include']?_['map'](_0x414bfc['include'],function(_0xd7c442){return{'model':db[_0xd7c442['model']],'as':_0xd7c442['as'],'attributes':_0xd7c442[_0x17c6('0x17')]};}):[]};}):[]};}):[]:[]})[_0x17c6('0xa')](function(_0x163127){logger['info'](_0x17c6('0x1b'),_0x42b322);logger[_0x17c6('0xe')](_0x17c6('0x1b'),_0x42b322,JSON['stringify'](_0x163127));_0xfc9db8(_0x163127);})[_0x17c6('0x1c')](function(_0x2d4cf9){logger[_0x17c6('0x10')](_0x17c6('0x1b'),_0x2d4cf9['message'],_0x42b322);_0x227933(_0x3f10ef['error'](0x1f4,_0x2d4cf9['message']));});});});};