Built motion from commit (unavailable).|2.5.13
[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 _0x7b5c=['limit','include','map','model','ShowCmHopper','find','CreateCmHopper','create','update','body','UpdateCmHopper','DestroyCmHopper','destroy','GetContactDialer','CmContact','describe','sequelize','transaction','UPDATE','Contact','keys','Agent','voicePause','length','includes','push','all','MoveContactManagedDialer','CountReScheduled','COUNT','literal','`scheduledat`\x20>=\x20','\x22%s\x22','format','YYYY-MM-DD\x20HH:mm:ss','\x20,\x201,\x20null','GetContactRecallMe','order','UserId','LOCK','GetCmHopperPreview','lodash','util','bluebird','randomstring','ioredis','../../mysqldb','../../config/utils','../../config/logger','../../config/environment','jayson/promise','client','request','then','info','CmHopper,\x20%s,\x20%s','debug','request\x20sent','stringify','error','message','result','catch','GetCmHopper','CmHopper','findAll','options','raw','where','attributes'];(function(_0x3ab0f1,_0x31acba){var _0x2c2fb8=function(_0x5da5c4){while(--_0x5da5c4){_0x3ab0f1['push'](_0x3ab0f1['shift']());}};_0x2c2fb8(++_0x31acba);}(_0x7b5c,0x187));var _0xc7b5=function(_0x3c901b,_0x19a8c8){_0x3c901b=_0x3c901b-0x0;var _0x522615=_0x7b5c[_0x3c901b];return _0x522615;};'use strict';var _=require(_0xc7b5('0x0'));var util=require(_0xc7b5('0x1'));var moment=require('moment');var BPromise=require(_0xc7b5('0x2'));var rs=require(_0xc7b5('0x3'));var fs=require('fs');var Redis=require(_0xc7b5('0x4'));var db=require(_0xc7b5('0x5'))['db'];var utils=require(_0xc7b5('0x6'));var logger=require(_0xc7b5('0x7'))('rpc');var config=require(_0xc7b5('0x8'));var jayson=require(_0xc7b5('0x9'));var client=jayson[_0xc7b5('0xa')]['http']({'port':0x232a});function respondWithRpcPromise(_0x2d35bf,_0x73f9a4,_0x3d01a8){return new BPromise(function(_0x1990a1,_0x32082c){return client[_0xc7b5('0xb')](_0x2d35bf,_0x3d01a8)[_0xc7b5('0xc')](function(_0x227316){logger[_0xc7b5('0xd')](_0xc7b5('0xe'),_0x73f9a4,'request\x20sent');logger[_0xc7b5('0xf')]('CmHopper,\x20%s,\x20%s,\x20%s',_0x73f9a4,_0xc7b5('0x10'),JSON[_0xc7b5('0x11')](_0x227316));if(_0x227316[_0xc7b5('0x12')]){if(_0x227316[_0xc7b5('0x12')]['code']===0x1f4){logger[_0xc7b5('0x12')](_0xc7b5('0xe'),_0x73f9a4,_0x227316[_0xc7b5('0x12')]['message']);return _0x32082c(_0x227316[_0xc7b5('0x12')][_0xc7b5('0x13')]);}logger['error'](_0xc7b5('0xe'),_0x73f9a4,_0x227316[_0xc7b5('0x12')]['message']);return _0x1990a1(_0x227316[_0xc7b5('0x12')][_0xc7b5('0x13')]);}else{logger['info']('CmHopper,\x20%s,\x20%s',_0x73f9a4,_0xc7b5('0x10'));_0x1990a1(_0x227316[_0xc7b5('0x14')][_0xc7b5('0x13')]);}})[_0xc7b5('0x15')](function(_0x1a6b7e){logger[_0xc7b5('0x12')]('CmHopper,\x20%s,\x20%s',_0x73f9a4,_0x1a6b7e);_0x32082c(_0x1a6b7e);});});}exports[_0xc7b5('0x16')]=function(_0x41bb84){var _0xe238dc=this;return new Promise(function(_0x1062d0,_0x1fca54){return db[_0xc7b5('0x17')][_0xc7b5('0x18')]({'raw':_0x41bb84[_0xc7b5('0x19')]?_0x41bb84[_0xc7b5('0x19')][_0xc7b5('0x1a')]===undefined?!![]:![]:!![],'where':_0x41bb84[_0xc7b5('0x19')]?_0x41bb84[_0xc7b5('0x19')][_0xc7b5('0x1b')]||null:null,'attributes':_0x41bb84['options']?_0x41bb84[_0xc7b5('0x19')][_0xc7b5('0x1c')]||null:null,'limit':_0x41bb84[_0xc7b5('0x19')]?_0x41bb84['options'][_0xc7b5('0x1d')]||null:null,'include':_0x41bb84[_0xc7b5('0x19')]?_0x41bb84['options'][_0xc7b5('0x1e')]?_[_0xc7b5('0x1f')](_0x41bb84[_0xc7b5('0x19')][_0xc7b5('0x1e')],function(_0x21bc8d){return{'model':db[_0x21bc8d[_0xc7b5('0x20')]],'as':_0x21bc8d['as'],'attributes':_0x21bc8d['attributes'],'include':_0x21bc8d[_0xc7b5('0x1e')]?_[_0xc7b5('0x1f')](_0x21bc8d[_0xc7b5('0x1e')],function(_0x4278d2){return{'model':db[_0x4278d2[_0xc7b5('0x20')]],'as':_0x4278d2['as'],'attributes':_0x4278d2[_0xc7b5('0x1c')],'include':_0x4278d2['include']?_[_0xc7b5('0x1f')](_0x4278d2['include'],function(_0x4dd898){return{'model':db[_0x4dd898['model']],'as':_0x4dd898['as'],'attributes':_0x4dd898['attributes']};}):[]};}):[]};}):[]:[]})['then'](function(_0x5f5502){logger[_0xc7b5('0xd')](_0xc7b5('0x16'),_0x41bb84);logger[_0xc7b5('0xf')](_0xc7b5('0x16'),_0x41bb84,JSON['stringify'](_0x5f5502));_0x1062d0(_0x5f5502);})[_0xc7b5('0x15')](function(_0xc4ad6c){logger['error']('GetCmHopper',_0xc4ad6c[_0xc7b5('0x13')],_0x41bb84);_0x1fca54(_0xe238dc[_0xc7b5('0x12')](0x1f4,_0xc4ad6c[_0xc7b5('0x13')]));});});};exports[_0xc7b5('0x21')]=function(_0x3ab998){var _0x841f61=this;return new Promise(function(_0x5ef693,_0x1a27ed){return db[_0xc7b5('0x17')][_0xc7b5('0x22')]({'raw':_0x3ab998['options']?_0x3ab998[_0xc7b5('0x19')]['raw']===undefined?!![]:![]:!![],'where':_0x3ab998[_0xc7b5('0x19')]?_0x3ab998[_0xc7b5('0x19')][_0xc7b5('0x1b')]||null:null,'attributes':_0x3ab998[_0xc7b5('0x19')]?_0x3ab998[_0xc7b5('0x19')][_0xc7b5('0x1c')]||null:null,'include':_0x3ab998[_0xc7b5('0x19')]?_0x3ab998[_0xc7b5('0x19')]['include']?_[_0xc7b5('0x1f')](_0x3ab998[_0xc7b5('0x19')][_0xc7b5('0x1e')],function(_0x2827f9){return{'model':db[_0x2827f9['model']],'as':_0x2827f9['as'],'attributes':_0x2827f9[_0xc7b5('0x1c')],'include':_0x2827f9[_0xc7b5('0x1e')]?_['map'](_0x2827f9[_0xc7b5('0x1e')],function(_0x453b6a){return{'model':db[_0x453b6a[_0xc7b5('0x20')]],'as':_0x453b6a['as'],'attributes':_0x453b6a[_0xc7b5('0x1c')],'include':_0x453b6a['include']?_['map'](_0x453b6a['include'],function(_0x153bf3){return{'model':db[_0x153bf3[_0xc7b5('0x20')]],'as':_0x153bf3['as'],'attributes':_0x153bf3[_0xc7b5('0x1c')]};}):[]};}):[]};}):[]:[]})[_0xc7b5('0xc')](function(_0x2e63d6){logger[_0xc7b5('0xd')](_0xc7b5('0x21'),_0x3ab998);logger[_0xc7b5('0xf')](_0xc7b5('0x21'),_0x3ab998,JSON[_0xc7b5('0x11')](_0x2e63d6));_0x5ef693(_0x2e63d6);})['catch'](function(_0x3df54d){logger[_0xc7b5('0x12')](_0xc7b5('0x21'),_0x3df54d[_0xc7b5('0x13')],_0x3ab998);_0x1a27ed(_0x841f61[_0xc7b5('0x12')](0x1f4,_0x3df54d[_0xc7b5('0x13')]));});});};exports[_0xc7b5('0x23')]=function(_0x32e657){var _0x53c65c=this;return new Promise(function(_0xcba1bf,_0x5d725a){return db['CmHopper'][_0xc7b5('0x24')](_0x32e657['body'],{'raw':_0x32e657[_0xc7b5('0x19')]?_0x32e657[_0xc7b5('0x19')][_0xc7b5('0x1a')]===undefined?!![]:![]:!![]})[_0xc7b5('0xc')](function(_0x1e1f25){logger[_0xc7b5('0xd')](_0xc7b5('0x23'),_0x32e657);logger[_0xc7b5('0xf')](_0xc7b5('0x23'),_0x32e657,JSON[_0xc7b5('0x11')](_0x1e1f25));_0xcba1bf(_0x1e1f25);})[_0xc7b5('0x15')](function(_0x5611e1){logger[_0xc7b5('0x12')](_0xc7b5('0x23'),_0x5611e1['message'],_0x32e657);_0x5d725a(_0x53c65c[_0xc7b5('0x12')](0x1f4,_0x5611e1[_0xc7b5('0x13')]));});});};exports['UpdateCmHopper']=function(_0xb08c18){var _0x3b2f6e=this;return new Promise(function(_0x45b5ad,_0x1cc68e){return db[_0xc7b5('0x17')][_0xc7b5('0x25')](_0xb08c18[_0xc7b5('0x26')],{'raw':_0xb08c18[_0xc7b5('0x19')]?_0xb08c18[_0xc7b5('0x19')][_0xc7b5('0x1a')]===undefined?!![]:![]:!![],'individualHooks':!![],'where':_0xb08c18[_0xc7b5('0x19')]?_0xb08c18[_0xc7b5('0x19')][_0xc7b5('0x1b')]||null:null,'attributes':_0xb08c18[_0xc7b5('0x19')]?_0xb08c18['options'][_0xc7b5('0x1c')]||null:null,'limit':_0xb08c18[_0xc7b5('0x19')]?_0xb08c18[_0xc7b5('0x19')][_0xc7b5('0x1d')]||null:null})[_0xc7b5('0xc')](function(_0x154d98){logger[_0xc7b5('0xd')](_0xc7b5('0x27'),_0xb08c18);logger[_0xc7b5('0xf')]('UpdateCmHopper',_0xb08c18,JSON[_0xc7b5('0x11')](_0x154d98));_0x45b5ad(_0x154d98);})[_0xc7b5('0x15')](function(_0x38d2b5){logger['error'](_0xc7b5('0x27'),_0x38d2b5[_0xc7b5('0x13')],_0xb08c18);_0x1cc68e(_0x3b2f6e['error'](0x1f4,_0x38d2b5['message']));});});};exports[_0xc7b5('0x28')]=function(_0x17b286){var _0x2a7b69=this;return new Promise(function(_0x5d483f,_0x10f0bd){return db['CmHopper'][_0xc7b5('0x29')]({'where':_0x17b286[_0xc7b5('0x19')]?_0x17b286[_0xc7b5('0x19')][_0xc7b5('0x1b')]||null:null})[_0xc7b5('0xc')](function(_0x17d849){logger[_0xc7b5('0xd')](_0xc7b5('0x28'),_0x17b286);logger[_0xc7b5('0xf')](_0xc7b5('0x28'),_0x17b286,JSON[_0xc7b5('0x11')](_0x17d849));_0x5d483f(_0x17d849);})[_0xc7b5('0x15')](function(_0x55db51){logger['error']('DestroyCmHopper',_0x55db51['message'],_0x17b286);_0x10f0bd(_0x2a7b69['error'](0x1f4,_0x55db51[_0xc7b5('0x13')]));});});};exports[_0xc7b5('0x2a')]=function(_0x4830c9){var _0x323c29=this;return new Promise(function(_0x26cca0,_0x965948){return db[_0xc7b5('0x2b')][_0xc7b5('0x2c')]()[_0xc7b5('0xc')](function(_0x183dad){return db[_0xc7b5('0x2d')][_0xc7b5('0x2e')](function(_0x614917){return db[_0xc7b5('0x17')]['findAll']({'where':_0x4830c9[_0xc7b5('0x19')]?_0x4830c9['options'][_0xc7b5('0x1b')]||null:null,'attributes':_0x4830c9[_0xc7b5('0x19')]?_0x4830c9['options']['attributes']||null:null,'limit':_0x4830c9[_0xc7b5('0x19')]?_0x4830c9[_0xc7b5('0x19')][_0xc7b5('0x1d')]||null:null,'order':_0x4830c9[_0xc7b5('0x19')]?_0x4830c9[_0xc7b5('0x19')]['order']||null:null,'transaction':_0x614917,'lock':_0x614917['LOCK'][_0xc7b5('0x2f')],'include':[{'model':db[_0xc7b5('0x2b')],'as':_0xc7b5('0x30'),'attributes':_[_0xc7b5('0x31')](_0x183dad)},{'model':db['User'],'as':_0xc7b5('0x32'),'attributes':['id','name',_0xc7b5('0x33')]}]})['then'](function(_0x25c4f6){var _0x40e7e7=[];var _0x9270c7=[];for(var _0x4f1212=0x0;_0x4f1212<_0x25c4f6[_0xc7b5('0x34')];_0x4f1212+=0x1){if(!_0x9270c7[_0xc7b5('0x35')](_0x25c4f6[_0x4f1212]['UserId'])){_0x9270c7[_0xc7b5('0x36')](_0x25c4f6[_0x4f1212]['UserId']);_0x40e7e7[_0xc7b5('0x36')](_0x25c4f6[_0x4f1212][_0xc7b5('0x25')](_0x4830c9[_0xc7b5('0x26')],{'transaction':_0x614917}));}}return BPromise[_0xc7b5('0x37')](_0x40e7e7);});})[_0xc7b5('0xc')](function(_0x290a07){logger[_0xc7b5('0xd')](_0xc7b5('0x2a'),_0x4830c9);logger['debug']('GetContactDialer',_0x4830c9,JSON[_0xc7b5('0x11')](_0x290a07));_0x26cca0(_0x290a07);})[_0xc7b5('0x15')](function(_0x2cf226){logger['error']('GetContactDialer',_0x2cf226[_0xc7b5('0x13')],_0x4830c9);_0x965948(_0x323c29['error'](0x1f4,_0x2cf226[_0xc7b5('0x13')]));});});});};exports[_0xc7b5('0x38')]=function(_0x1462d4){var _0x4271a1=this;return new Promise(function(_0x1d73ee,_0x485f0b){return db[_0xc7b5('0x2d')][_0xc7b5('0x2e')](function(_0x4d6083){return db['CmHopperFinal'][_0xc7b5('0x24')](_0x1462d4[_0xc7b5('0x26')],{'raw':_0x1462d4[_0xc7b5('0x19')]?_0x1462d4[_0xc7b5('0x19')][_0xc7b5('0x1a')]===undefined?!![]:![]:!![],'transaction':_0x4d6083})[_0xc7b5('0xc')](function(){return db[_0xc7b5('0x17')][_0xc7b5('0x29')]({'where':_0x1462d4['options']?_0x1462d4['options'][_0xc7b5('0x1b')]||null:null,'transaction':_0x4d6083});});})['then'](function(_0x522368){logger[_0xc7b5('0xd')]('MoveContactManagedDialer',_0x1462d4);logger[_0xc7b5('0xf')]('MoveContactManagedDialer',_0x1462d4,JSON[_0xc7b5('0x11')](_0x522368));_0x1d73ee(_0x522368);})['catch'](function(_0x59477d){logger[_0xc7b5('0x12')](_0xc7b5('0x38'),_0x59477d['message'],_0x1462d4);_0x485f0b(_0x4271a1[_0xc7b5('0x12')](0x1f4,_0x59477d[_0xc7b5('0x13')]));});});};exports[_0xc7b5('0x39')]=function(_0x4d5e48){var _0x130c68=this;return new Promise(function(_0x11599b,_0xd5a727){return db['CmHopper'][_0xc7b5('0x18')]({'raw':_0x4d5e48[_0xc7b5('0x19')]?_0x4d5e48[_0xc7b5('0x19')][_0xc7b5('0x1a')]===undefined?!![]:![]:!![],'where':_0x4d5e48[_0xc7b5('0x19')]?_0x4d5e48['options'][_0xc7b5('0x1b')]||null:null,'attributes':[[db['sequelize']['fn'](_0xc7b5('0x3a'),db[_0xc7b5('0x2d')]['fn']('IF',db['sequelize'][_0xc7b5('0x3b')](_0xc7b5('0x3c')+util['format'](_0xc7b5('0x3d'),moment()[_0xc7b5('0x3e')](_0xc7b5('0x3f')))+_0xc7b5('0x40')))),'contactsRescheduled']]})[_0xc7b5('0xc')](function(_0x524890){logger[_0xc7b5('0xd')]('CountReScheduled',_0x4d5e48);logger['debug'](_0xc7b5('0x39'),_0x4d5e48,JSON[_0xc7b5('0x11')](_0x524890));_0x11599b(_0x524890);})[_0xc7b5('0x15')](function(_0x37bda6){logger[_0xc7b5('0x12')](_0xc7b5('0x39'),_0x37bda6['message'],_0x4d5e48);_0xd5a727(_0x130c68[_0xc7b5('0x12')](0x1f4,_0x37bda6[_0xc7b5('0x13')]));});});};exports[_0xc7b5('0x41')]=function(_0x289f57){var _0x53c271=this;return new Promise(function(_0x4dab33,_0x1d858f){return db['CmContact'][_0xc7b5('0x2c')]()['then'](function(_0x266250){return db[_0xc7b5('0x2d')][_0xc7b5('0x2e')](function(_0x56600d){return db[_0xc7b5('0x17')][_0xc7b5('0x18')]({'where':_0x289f57['options']?_0x289f57[_0xc7b5('0x19')][_0xc7b5('0x1b')]||null:null,'attributes':_0x289f57[_0xc7b5('0x19')]?_0x289f57[_0xc7b5('0x19')][_0xc7b5('0x1c')]||null:null,'limit':0x1,'order':_0x289f57[_0xc7b5('0x19')]?_0x289f57[_0xc7b5('0x19')][_0xc7b5('0x42')]||null:null,'group':db[_0xc7b5('0x17')][_0xc7b5('0x43')],'transaction':_0x56600d,'lock':_0x56600d[_0xc7b5('0x44')][_0xc7b5('0x2f')],'include':_0x289f57[_0xc7b5('0x19')]?_0x289f57[_0xc7b5('0x19')][_0xc7b5('0x1e')]?_['map'](_0x289f57[_0xc7b5('0x19')][_0xc7b5('0x1e')],function(_0x34629e){return{'model':db[_0x34629e[_0xc7b5('0x20')]],'as':_0x34629e['as'],'attributes':_0x34629e[_0xc7b5('0x1c')],'include':_0x34629e[_0xc7b5('0x1e')]?_[_0xc7b5('0x1f')](_0x34629e[_0xc7b5('0x1e')],function(_0x331764){return{'model':db[_0x331764[_0xc7b5('0x20')]],'as':_0x331764['as'],'attributes':_0x331764[_0xc7b5('0x1c')],'include':_0x331764[_0xc7b5('0x1e')]?_[_0xc7b5('0x1f')](_0x331764[_0xc7b5('0x1e')],function(_0x5a07b1){return{'model':db[_0x5a07b1[_0xc7b5('0x20')]],'as':_0x5a07b1['as'],'attributes':_0x5a07b1[_0xc7b5('0x1c')]};}):[]};}):[]};}):[]:[]})['then'](function(_0x2d5dae){var _0x31950b=[];for(var _0x1783fc=0x0;_0x1783fc<_0x2d5dae[_0xc7b5('0x34')];_0x1783fc+=0x1){_0x31950b['push'](_0x2d5dae[_0x1783fc][_0xc7b5('0x25')](_0x289f57[_0xc7b5('0x26')],{'transaction':_0x56600d}));}return BPromise[_0xc7b5('0x37')](_0x31950b);});})[_0xc7b5('0xc')](function(_0x58e9ce){logger['info']('GetContactRecallMe',_0x289f57);logger[_0xc7b5('0xf')]('GetContactRecallMe',_0x289f57,JSON[_0xc7b5('0x11')](_0x58e9ce));_0x4dab33(_0x58e9ce);})[_0xc7b5('0x15')](function(_0x3b7cad){logger['error'](_0xc7b5('0x41'),_0x3b7cad[_0xc7b5('0x13')],_0x289f57);_0x1d858f(_0x53c271[_0xc7b5('0x12')](0x1f4,_0x3b7cad[_0xc7b5('0x13')]));});});});};exports[_0xc7b5('0x45')]=function(_0x2c9bcd){var _0x50335a=this;return new Promise(function(_0xe0e769,_0x1845b1){db[_0xc7b5('0x2b')][_0xc7b5('0x2c')]()[_0xc7b5('0xc')](function(_0x361dc1){return db['CmHopper'][_0xc7b5('0x18')]({'raw':_0x2c9bcd[_0xc7b5('0x19')]?_0x2c9bcd['options'][_0xc7b5('0x1a')]===undefined?!![]:![]:!![],'where':_0x2c9bcd[_0xc7b5('0x19')]?_0x2c9bcd[_0xc7b5('0x19')][_0xc7b5('0x1b')]||null:null,'attributes':_0x2c9bcd[_0xc7b5('0x19')]?_0x2c9bcd[_0xc7b5('0x19')]['attributes']||null:null,'limit':_0x2c9bcd['options']?_0x2c9bcd[_0xc7b5('0x19')][_0xc7b5('0x1d')]||null:null,'include':_0x2c9bcd['options']?_0x2c9bcd[_0xc7b5('0x19')]['include']?_[_0xc7b5('0x1f')](_0x2c9bcd[_0xc7b5('0x19')][_0xc7b5('0x1e')],function(_0x4af459){return{'model':db[_0x4af459['model']],'as':_0x4af459['as'],'attributes':_0x4af459['as']===_0xc7b5('0x30')?_[_0xc7b5('0x31')](_0x361dc1):_0x4af459[_0xc7b5('0x1c')],'include':_0x4af459[_0xc7b5('0x1e')]?_[_0xc7b5('0x1f')](_0x4af459['include'],function(_0x57ca9f){return{'model':db[_0x57ca9f['model']],'as':_0x57ca9f['as'],'attributes':_0x57ca9f[_0xc7b5('0x1c')],'include':_0x57ca9f[_0xc7b5('0x1e')]?_[_0xc7b5('0x1f')](_0x57ca9f[_0xc7b5('0x1e')],function(_0x4c9cf2){return{'model':db[_0x4c9cf2[_0xc7b5('0x20')]],'as':_0x4c9cf2['as'],'attributes':_0x4c9cf2[_0xc7b5('0x1c')]};}):[]};}):[]};}):[]:[]})[_0xc7b5('0xc')](function(_0x331408){logger['info']('GetCmHopper',_0x2c9bcd);logger['debug'](_0xc7b5('0x16'),_0x2c9bcd,JSON['stringify'](_0x331408));_0xe0e769(_0x331408);})[_0xc7b5('0x15')](function(_0x5a8f38){logger[_0xc7b5('0x12')]('GetCmHopper',_0x5a8f38[_0xc7b5('0x13')],_0x2c9bcd);_0x1845b1(_0x50335a[_0xc7b5('0x12')](0x1f4,_0x5a8f38[_0xc7b5('0x13')]));});});});};