fa373ead37834e483a3248a3863feca7064f052b
[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 _0x742e=['rpc','jayson/promise','client','http','request','then','info','CmHopper,\x20%s,\x20%s','request\x20sent','CmHopper,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','GetCmHopper','CmHopper','options','raw','where','attributes','limit','include','map','model','ShowCmHopper','find','CreateCmHopper','create','body','debug','UpdateCmHopper','update','destroy','DestroyCmHopper','CmContact','describe','sequelize','transaction','findAll','LOCK','UPDATE','keys','User','Agent','name','voicePause','length','includes','UserId','push','GetContactDialer','MoveContactManagedDialer','CmHopperFinal','CountReScheduled','COUNT','literal','`scheduledat`\x20>=\x20','\x22%s\x22','format','YYYY-MM-DD\x20HH:mm:ss','\x20,\x201,\x20null','contactsRescheduled','GetContactRecallMe','order','all','GetCmHopperPreview','Contact','util','moment','bluebird','randomstring','ioredis','../../mysqldb','../../config/utils','../../config/logger'];(function(_0x2daa40,_0x6598d7){var _0x15d3e=function(_0x2af853){while(--_0x2af853){_0x2daa40['push'](_0x2daa40['shift']());}};_0x15d3e(++_0x6598d7);}(_0x742e,0x92));var _0xe742=function(_0x2cc65a,_0x328412){_0x2cc65a=_0x2cc65a-0x0;var _0x3cbd72=_0x742e[_0x2cc65a];return _0x3cbd72;};'use strict';var _=require('lodash');var util=require(_0xe742('0x0'));var moment=require(_0xe742('0x1'));var BPromise=require(_0xe742('0x2'));var rs=require(_0xe742('0x3'));var fs=require('fs');var Redis=require(_0xe742('0x4'));var db=require(_0xe742('0x5'))['db'];var utils=require(_0xe742('0x6'));var logger=require(_0xe742('0x7'))(_0xe742('0x8'));var config=require('../../config/environment');var jayson=require(_0xe742('0x9'));var client=jayson[_0xe742('0xa')][_0xe742('0xb')]({'port':0x232a});function respondWithRpcPromise(_0x3e8518,_0x3930d6,_0x3971fd){return new BPromise(function(_0x1534d1,_0x16cf2c){return client[_0xe742('0xc')](_0x3e8518,_0x3971fd)[_0xe742('0xd')](function(_0x4970bd){logger[_0xe742('0xe')](_0xe742('0xf'),_0x3930d6,_0xe742('0x10'));logger['debug'](_0xe742('0x11'),_0x3930d6,_0xe742('0x10'),JSON[_0xe742('0x12')](_0x4970bd));if(_0x4970bd[_0xe742('0x13')]){if(_0x4970bd[_0xe742('0x13')][_0xe742('0x14')]===0x1f4){logger[_0xe742('0x13')]('CmHopper,\x20%s,\x20%s',_0x3930d6,_0x4970bd[_0xe742('0x13')][_0xe742('0x15')]);return _0x16cf2c(_0x4970bd[_0xe742('0x13')][_0xe742('0x15')]);}logger[_0xe742('0x13')](_0xe742('0xf'),_0x3930d6,_0x4970bd[_0xe742('0x13')][_0xe742('0x15')]);return _0x1534d1(_0x4970bd[_0xe742('0x13')][_0xe742('0x15')]);}else{logger[_0xe742('0xe')]('CmHopper,\x20%s,\x20%s',_0x3930d6,_0xe742('0x10'));_0x1534d1(_0x4970bd[_0xe742('0x16')][_0xe742('0x15')]);}})[_0xe742('0x17')](function(_0x1ac3c9){logger[_0xe742('0x13')](_0xe742('0xf'),_0x3930d6,_0x1ac3c9);_0x16cf2c(_0x1ac3c9);});});}exports[_0xe742('0x18')]=function(_0x2490f3){var _0x2085a6=this;return new Promise(function(_0xb0651a,_0x7dd4f1){return db[_0xe742('0x19')]['findAll']({'raw':_0x2490f3[_0xe742('0x1a')]?_0x2490f3[_0xe742('0x1a')][_0xe742('0x1b')]===undefined?!![]:![]:!![],'where':_0x2490f3[_0xe742('0x1a')]?_0x2490f3[_0xe742('0x1a')][_0xe742('0x1c')]||null:null,'attributes':_0x2490f3['options']?_0x2490f3[_0xe742('0x1a')][_0xe742('0x1d')]||null:null,'limit':_0x2490f3['options']?_0x2490f3[_0xe742('0x1a')][_0xe742('0x1e')]||null:null,'include':_0x2490f3[_0xe742('0x1a')]?_0x2490f3[_0xe742('0x1a')][_0xe742('0x1f')]?_[_0xe742('0x20')](_0x2490f3[_0xe742('0x1a')]['include'],function(_0x44d199){return{'model':db[_0x44d199[_0xe742('0x21')]],'as':_0x44d199['as'],'attributes':_0x44d199[_0xe742('0x1d')],'include':_0x44d199[_0xe742('0x1f')]?_[_0xe742('0x20')](_0x44d199[_0xe742('0x1f')],function(_0x31fc6f){return{'model':db[_0x31fc6f[_0xe742('0x21')]],'as':_0x31fc6f['as'],'attributes':_0x31fc6f[_0xe742('0x1d')],'include':_0x31fc6f[_0xe742('0x1f')]?_[_0xe742('0x20')](_0x31fc6f[_0xe742('0x1f')],function(_0x5be55c){return{'model':db[_0x5be55c['model']],'as':_0x5be55c['as'],'attributes':_0x5be55c[_0xe742('0x1d')]};}):[]};}):[]};}):[]:[]})[_0xe742('0xd')](function(_0x310d99){logger['info'](_0xe742('0x18'),_0x2490f3);logger['debug']('GetCmHopper',_0x2490f3,JSON['stringify'](_0x310d99));_0xb0651a(_0x310d99);})[_0xe742('0x17')](function(_0x15e0ef){logger['error'](_0xe742('0x18'),_0x15e0ef['message'],_0x2490f3);_0x7dd4f1(_0x2085a6[_0xe742('0x13')](0x1f4,_0x15e0ef['message']));});});};exports[_0xe742('0x22')]=function(_0x44dbf1){var _0xcf47c5=this;return new Promise(function(_0x15bc87,_0x11d0af){return db[_0xe742('0x19')][_0xe742('0x23')]({'raw':_0x44dbf1[_0xe742('0x1a')]?_0x44dbf1['options'][_0xe742('0x1b')]===undefined?!![]:![]:!![],'where':_0x44dbf1['options']?_0x44dbf1[_0xe742('0x1a')]['where']||null:null,'attributes':_0x44dbf1[_0xe742('0x1a')]?_0x44dbf1[_0xe742('0x1a')]['attributes']||null:null,'include':_0x44dbf1[_0xe742('0x1a')]?_0x44dbf1[_0xe742('0x1a')][_0xe742('0x1f')]?_[_0xe742('0x20')](_0x44dbf1[_0xe742('0x1a')][_0xe742('0x1f')],function(_0x3e582f){return{'model':db[_0x3e582f[_0xe742('0x21')]],'as':_0x3e582f['as'],'attributes':_0x3e582f[_0xe742('0x1d')],'include':_0x3e582f[_0xe742('0x1f')]?_[_0xe742('0x20')](_0x3e582f['include'],function(_0x36a15b){return{'model':db[_0x36a15b['model']],'as':_0x36a15b['as'],'attributes':_0x36a15b[_0xe742('0x1d')],'include':_0x36a15b[_0xe742('0x1f')]?_[_0xe742('0x20')](_0x36a15b[_0xe742('0x1f')],function(_0x19be51){return{'model':db[_0x19be51[_0xe742('0x21')]],'as':_0x19be51['as'],'attributes':_0x19be51[_0xe742('0x1d')]};}):[]};}):[]};}):[]:[]})[_0xe742('0xd')](function(_0x5270e0){logger[_0xe742('0xe')](_0xe742('0x22'),_0x44dbf1);logger['debug'](_0xe742('0x22'),_0x44dbf1,JSON[_0xe742('0x12')](_0x5270e0));_0x15bc87(_0x5270e0);})[_0xe742('0x17')](function(_0x5be1c0){logger[_0xe742('0x13')](_0xe742('0x22'),_0x5be1c0[_0xe742('0x15')],_0x44dbf1);_0x11d0af(_0xcf47c5[_0xe742('0x13')](0x1f4,_0x5be1c0[_0xe742('0x15')]));});});};exports[_0xe742('0x24')]=function(_0x267d8c){var _0x3cd1d2=this;return new Promise(function(_0x10bffb,_0x219417){return db[_0xe742('0x19')][_0xe742('0x25')](_0x267d8c[_0xe742('0x26')],{'raw':_0x267d8c['options']?_0x267d8c[_0xe742('0x1a')][_0xe742('0x1b')]===undefined?!![]:![]:!![]})['then'](function(_0x523747){logger['info'](_0xe742('0x24'),_0x267d8c);logger[_0xe742('0x27')](_0xe742('0x24'),_0x267d8c,JSON[_0xe742('0x12')](_0x523747));_0x10bffb(_0x523747);})['catch'](function(_0x33b1d4){logger[_0xe742('0x13')]('CreateCmHopper',_0x33b1d4[_0xe742('0x15')],_0x267d8c);_0x219417(_0x3cd1d2['error'](0x1f4,_0x33b1d4[_0xe742('0x15')]));});});};exports[_0xe742('0x28')]=function(_0x58c02b){var _0xf43da2=this;return new Promise(function(_0x3936bc,_0x355622){return db['CmHopper'][_0xe742('0x29')](_0x58c02b[_0xe742('0x26')],{'raw':_0x58c02b[_0xe742('0x1a')]?_0x58c02b[_0xe742('0x1a')][_0xe742('0x1b')]===undefined?!![]:![]:!![],'individualHooks':!![],'where':_0x58c02b[_0xe742('0x1a')]?_0x58c02b['options'][_0xe742('0x1c')]||null:null,'attributes':_0x58c02b['options']?_0x58c02b[_0xe742('0x1a')][_0xe742('0x1d')]||null:null,'limit':_0x58c02b[_0xe742('0x1a')]?_0x58c02b[_0xe742('0x1a')][_0xe742('0x1e')]||null:null})[_0xe742('0xd')](function(_0xc88a28){logger[_0xe742('0xe')](_0xe742('0x28'),_0x58c02b);logger['debug'](_0xe742('0x28'),_0x58c02b,JSON['stringify'](_0xc88a28));_0x3936bc(_0xc88a28);})[_0xe742('0x17')](function(_0x2189e5){logger[_0xe742('0x13')]('UpdateCmHopper',_0x2189e5[_0xe742('0x15')],_0x58c02b);_0x355622(_0xf43da2['error'](0x1f4,_0x2189e5[_0xe742('0x15')]));});});};exports['DestroyCmHopper']=function(_0x31e185){var _0x2f135a=this;return new Promise(function(_0xd8704e,_0x45d25e){return db[_0xe742('0x19')][_0xe742('0x2a')]({'where':_0x31e185['options']?_0x31e185['options'][_0xe742('0x1c')]||null:null})[_0xe742('0xd')](function(_0x4f71db){logger['info']('DestroyCmHopper',_0x31e185);logger[_0xe742('0x27')](_0xe742('0x2b'),_0x31e185,JSON[_0xe742('0x12')](_0x4f71db));_0xd8704e(_0x4f71db);})[_0xe742('0x17')](function(_0x3cfa65){logger['error'](_0xe742('0x2b'),_0x3cfa65[_0xe742('0x15')],_0x31e185);_0x45d25e(_0x2f135a[_0xe742('0x13')](0x1f4,_0x3cfa65[_0xe742('0x15')]));});});};exports['GetContactDialer']=function(_0x2cc989){var _0x44c584=this;return new Promise(function(_0x54eb27,_0x295c09){return db[_0xe742('0x2c')][_0xe742('0x2d')]()[_0xe742('0xd')](function(_0x36819f){return db[_0xe742('0x2e')][_0xe742('0x2f')](function(_0x5ec640){return db[_0xe742('0x19')][_0xe742('0x30')]({'where':_0x2cc989[_0xe742('0x1a')]?_0x2cc989[_0xe742('0x1a')][_0xe742('0x1c')]||null:null,'attributes':_0x2cc989[_0xe742('0x1a')]?_0x2cc989[_0xe742('0x1a')]['attributes']||null:null,'limit':_0x2cc989[_0xe742('0x1a')]?_0x2cc989[_0xe742('0x1a')][_0xe742('0x1e')]||null:null,'order':_0x2cc989[_0xe742('0x1a')]?_0x2cc989[_0xe742('0x1a')]['order']||null:null,'transaction':_0x5ec640,'lock':_0x5ec640[_0xe742('0x31')][_0xe742('0x32')],'include':[{'model':db[_0xe742('0x2c')],'as':'Contact','attributes':_[_0xe742('0x33')](_0x36819f)},{'model':db[_0xe742('0x34')],'as':_0xe742('0x35'),'attributes':['id',_0xe742('0x36'),_0xe742('0x37')]}]})[_0xe742('0xd')](function(_0x248b26){var _0x5e8f58=[];var _0x4f24fc=[];for(var _0x466b2e=0x0;_0x466b2e<_0x248b26[_0xe742('0x38')];_0x466b2e+=0x1){if(!_0x4f24fc[_0xe742('0x39')](_0x248b26[_0x466b2e][_0xe742('0x3a')])){_0x4f24fc[_0xe742('0x3b')](_0x248b26[_0x466b2e][_0xe742('0x3a')]);_0x5e8f58[_0xe742('0x3b')](_0x248b26[_0x466b2e]['update'](_0x2cc989['body'],{'transaction':_0x5ec640}));}}return BPromise['all'](_0x5e8f58);});})[_0xe742('0xd')](function(_0x237e03){logger[_0xe742('0xe')](_0xe742('0x3c'),_0x2cc989);logger[_0xe742('0x27')]('GetContactDialer',_0x2cc989,JSON[_0xe742('0x12')](_0x237e03));_0x54eb27(_0x237e03);})['catch'](function(_0x4c2749){logger[_0xe742('0x13')]('GetContactDialer',_0x4c2749['message'],_0x2cc989);_0x295c09(_0x44c584[_0xe742('0x13')](0x1f4,_0x4c2749['message']));});});});};exports[_0xe742('0x3d')]=function(_0x385e27){var _0x4d0fab=this;return new Promise(function(_0x1f9c61,_0x1e301a){return db[_0xe742('0x2e')][_0xe742('0x2f')](function(_0x4b3c12){return db[_0xe742('0x3e')][_0xe742('0x25')](_0x385e27[_0xe742('0x26')],{'raw':_0x385e27['options']?_0x385e27[_0xe742('0x1a')][_0xe742('0x1b')]===undefined?!![]:![]:!![],'transaction':_0x4b3c12})[_0xe742('0xd')](function(){return db[_0xe742('0x19')]['destroy']({'where':_0x385e27[_0xe742('0x1a')]?_0x385e27['options'][_0xe742('0x1c')]||null:null,'transaction':_0x4b3c12});});})[_0xe742('0xd')](function(_0x28d639){logger[_0xe742('0xe')]('MoveContactManagedDialer',_0x385e27);logger[_0xe742('0x27')]('MoveContactManagedDialer',_0x385e27,JSON[_0xe742('0x12')](_0x28d639));_0x1f9c61(_0x28d639);})[_0xe742('0x17')](function(_0x562413){logger['error'](_0xe742('0x3d'),_0x562413[_0xe742('0x15')],_0x385e27);_0x1e301a(_0x4d0fab[_0xe742('0x13')](0x1f4,_0x562413[_0xe742('0x15')]));});});};exports[_0xe742('0x3f')]=function(_0x3d299f){var _0x212fbf=this;return new Promise(function(_0x3b88f4,_0x5fde5){return db[_0xe742('0x19')][_0xe742('0x30')]({'raw':_0x3d299f[_0xe742('0x1a')]?_0x3d299f[_0xe742('0x1a')][_0xe742('0x1b')]===undefined?!![]:![]:!![],'where':_0x3d299f['options']?_0x3d299f[_0xe742('0x1a')]['where']||null:null,'attributes':[[db[_0xe742('0x2e')]['fn'](_0xe742('0x40'),db[_0xe742('0x2e')]['fn']('IF',db[_0xe742('0x2e')][_0xe742('0x41')](_0xe742('0x42')+util['format'](_0xe742('0x43'),moment()[_0xe742('0x44')](_0xe742('0x45')))+_0xe742('0x46')))),_0xe742('0x47')]]})[_0xe742('0xd')](function(_0x49fa1b){logger[_0xe742('0xe')](_0xe742('0x3f'),_0x3d299f);logger[_0xe742('0x27')](_0xe742('0x3f'),_0x3d299f,JSON[_0xe742('0x12')](_0x49fa1b));_0x3b88f4(_0x49fa1b);})[_0xe742('0x17')](function(_0x4ea21d){logger[_0xe742('0x13')](_0xe742('0x3f'),_0x4ea21d[_0xe742('0x15')],_0x3d299f);_0x5fde5(_0x212fbf[_0xe742('0x13')](0x1f4,_0x4ea21d['message']));});});};exports[_0xe742('0x48')]=function(_0x3ef67d){var _0x280d15=this;return new Promise(function(_0x170250,_0x32f8e8){return db['CmContact'][_0xe742('0x2d')]()[_0xe742('0xd')](function(_0x1d3b09){return db['sequelize'][_0xe742('0x2f')](function(_0x33099d){return db[_0xe742('0x19')][_0xe742('0x30')]({'where':_0x3ef67d[_0xe742('0x1a')]?_0x3ef67d[_0xe742('0x1a')]['where']||null:null,'attributes':_0x3ef67d[_0xe742('0x1a')]?_0x3ef67d[_0xe742('0x1a')][_0xe742('0x1d')]||null:null,'limit':0x1,'order':_0x3ef67d[_0xe742('0x1a')]?_0x3ef67d[_0xe742('0x1a')][_0xe742('0x49')]||null:null,'group':db[_0xe742('0x19')]['UserId'],'transaction':_0x33099d,'lock':_0x33099d[_0xe742('0x31')][_0xe742('0x32')],'include':_0x3ef67d['options']?_0x3ef67d[_0xe742('0x1a')][_0xe742('0x1f')]?_['map'](_0x3ef67d['options'][_0xe742('0x1f')],function(_0x28fb52){return{'model':db[_0x28fb52['model']],'as':_0x28fb52['as'],'attributes':_0x28fb52[_0xe742('0x1d')],'include':_0x28fb52[_0xe742('0x1f')]?_[_0xe742('0x20')](_0x28fb52[_0xe742('0x1f')],function(_0x4c3bf9){return{'model':db[_0x4c3bf9[_0xe742('0x21')]],'as':_0x4c3bf9['as'],'attributes':_0x4c3bf9[_0xe742('0x1d')],'include':_0x4c3bf9[_0xe742('0x1f')]?_[_0xe742('0x20')](_0x4c3bf9[_0xe742('0x1f')],function(_0x9ae83e){return{'model':db[_0x9ae83e[_0xe742('0x21')]],'as':_0x9ae83e['as'],'attributes':_0x9ae83e['attributes']};}):[]};}):[]};}):[]:[]})['then'](function(_0x1a68dc){var _0x15752d=[];for(var _0x1b7d61=0x0;_0x1b7d61<_0x1a68dc[_0xe742('0x38')];_0x1b7d61+=0x1){_0x15752d[_0xe742('0x3b')](_0x1a68dc[_0x1b7d61][_0xe742('0x29')](_0x3ef67d['body'],{'transaction':_0x33099d}));}return BPromise[_0xe742('0x4a')](_0x15752d);});})[_0xe742('0xd')](function(_0x507ab4){logger[_0xe742('0xe')](_0xe742('0x48'),_0x3ef67d);logger[_0xe742('0x27')](_0xe742('0x48'),_0x3ef67d,JSON[_0xe742('0x12')](_0x507ab4));_0x170250(_0x507ab4);})['catch'](function(_0x4459d7){logger[_0xe742('0x13')](_0xe742('0x48'),_0x4459d7[_0xe742('0x15')],_0x3ef67d);_0x32f8e8(_0x280d15[_0xe742('0x13')](0x1f4,_0x4459d7[_0xe742('0x15')]));});});});};exports[_0xe742('0x4b')]=function(_0x420422){var _0x46e2e1=this;return new Promise(function(_0x356eed,_0x3fea6c){db[_0xe742('0x2c')]['describe']()['then'](function(_0xed9a31){return db['CmHopper'][_0xe742('0x30')]({'raw':_0x420422['options']?_0x420422[_0xe742('0x1a')][_0xe742('0x1b')]===undefined?!![]:![]:!![],'where':_0x420422[_0xe742('0x1a')]?_0x420422[_0xe742('0x1a')][_0xe742('0x1c')]||null:null,'attributes':_0x420422['options']?_0x420422[_0xe742('0x1a')][_0xe742('0x1d')]||null:null,'limit':_0x420422['options']?_0x420422[_0xe742('0x1a')]['limit']||null:null,'include':_0x420422[_0xe742('0x1a')]?_0x420422['options'][_0xe742('0x1f')]?_['map'](_0x420422[_0xe742('0x1a')][_0xe742('0x1f')],function(_0xfd18c){return{'model':db[_0xfd18c[_0xe742('0x21')]],'as':_0xfd18c['as'],'attributes':_0xfd18c['as']===_0xe742('0x4c')?_['keys'](_0xed9a31):_0xfd18c[_0xe742('0x1d')],'include':_0xfd18c[_0xe742('0x1f')]?_[_0xe742('0x20')](_0xfd18c[_0xe742('0x1f')],function(_0x410869){return{'model':db[_0x410869[_0xe742('0x21')]],'as':_0x410869['as'],'attributes':_0x410869[_0xe742('0x1d')],'include':_0x410869[_0xe742('0x1f')]?_[_0xe742('0x20')](_0x410869[_0xe742('0x1f')],function(_0xc6f2){return{'model':db[_0xc6f2[_0xe742('0x21')]],'as':_0xc6f2['as'],'attributes':_0xc6f2[_0xe742('0x1d')]};}):[]};}):[]};}):[]:[]})[_0xe742('0xd')](function(_0x5c5dba){logger[_0xe742('0xe')](_0xe742('0x18'),_0x420422);logger['debug'](_0xe742('0x18'),_0x420422,JSON[_0xe742('0x12')](_0x5c5dba));_0x356eed(_0x5c5dba);})[_0xe742('0x17')](function(_0x1c6a20){logger[_0xe742('0x13')](_0xe742('0x18'),_0x1c6a20[_0xe742('0x15')],_0x420422);_0x3fea6c(_0x46e2e1[_0xe742('0x13')](0x1f4,_0x1c6a20[_0xe742('0x15')]));});});});};