956538302111751589af094b1b94a757fd4a9df0
[motion2.git] / server / api / cmHopperHistory / cmHopperHistory.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 _0xdd1d=['findAll','where','sequelize','COUNT','`state`\x20=\x204,\x201,\x20null','predictiveIntervalAnsweredCalls','`state`\x20=\x2010,\x201,\x20null','predictiveIntervalDroppedCallsTimeout','literal','predictiveIntervalDroppedCallsCallersExit','AVG','`state`\x20=\x204,\x20`holdtime`,\x20null','`state`\x20=\x204,\x20`talktime`,\x20null','campaign','name','outboundNoSuchCallsDay','`state`\x20=\x203,\x201,\x20null','outboundNoAnswerCallsDay','outboundAnswerCallsDay','`state`\x20=\x205,\x201,\x20null','`state`\x20=\x208,\x201,\x20null','outboundCongestionCallsDay','`state`\x20=\x2010\x20,\x201,\x20null','outboundDropCallsDayTimeout','`state`\x20=\x2011\x20,\x201,\x20null','outboundDropCallsDayCallersExit','`state`\x20=\x2012,\x201,\x20null','outboundUnknownCallsDay','`state`\x20=\x2013,\x201,\x20null','`state`\x20=\x2014,\x201,\x20null','outboundOriginateFailureCallsDay','`state`\x20=\x2018,\x201,\x20null','outboundRejectCallsDay','`state`\x20=\x2022\x20or\x20`state`\x20=\x2023,\x201,\x20null','outboundReCallsDay','GetVoiceQueueHopperHistory','col','ivrTotalCallsDays','ivrAnswerCallsDay','GetCampaignHopperHistory','lodash','util','moment','bluebird','randomstring','../../mysqldb','../../config/utils','../../config/logger','../../config/environment','client','http','request','then','info','CmHopperHistory,\x20%s,\x20%s','request\x20sent','CmHopperHistory,\x20%s,\x20%s,\x20%s','stringify','error','message','result','catch','CreateCmHopperHistory','create','options','raw','debug','AvgHandleTime','CmHopperHistory'];(function(_0x2d8fc2,_0x1c461d){var _0x3a9e53=function(_0x18941c){while(--_0x18941c){_0x2d8fc2['push'](_0x2d8fc2['shift']());}};_0x3a9e53(++_0x1c461d);}(_0xdd1d,0xb2));var _0xddd1=function(_0x43f585,_0x3f8ba8){_0x43f585=_0x43f585-0x0;var _0x399005=_0xdd1d[_0x43f585];return _0x399005;};'use strict';var _=require(_0xddd1('0x0'));var util=require(_0xddd1('0x1'));var moment=require(_0xddd1('0x2'));var BPromise=require(_0xddd1('0x3'));var rs=require(_0xddd1('0x4'));var fs=require('fs');var Redis=require('ioredis');var db=require(_0xddd1('0x5'))['db'];var utils=require(_0xddd1('0x6'));var logger=require(_0xddd1('0x7'))('rpc');var config=require(_0xddd1('0x8'));var jayson=require('jayson/promise');var client=jayson[_0xddd1('0x9')][_0xddd1('0xa')]({'port':0x232a});function respondWithRpcPromise(_0x268896,_0x54e2e2,_0x5684e8){return new BPromise(function(_0xa68d3f,_0x2e6884){return client[_0xddd1('0xb')](_0x268896,_0x5684e8)[_0xddd1('0xc')](function(_0x3f6e29){logger[_0xddd1('0xd')](_0xddd1('0xe'),_0x54e2e2,_0xddd1('0xf'));logger['debug'](_0xddd1('0x10'),_0x54e2e2,'request\x20sent',JSON[_0xddd1('0x11')](_0x3f6e29));if(_0x3f6e29['error']){if(_0x3f6e29[_0xddd1('0x12')]['code']===0x1f4){logger['error'](_0xddd1('0xe'),_0x54e2e2,_0x3f6e29[_0xddd1('0x12')][_0xddd1('0x13')]);return _0x2e6884(_0x3f6e29['error'][_0xddd1('0x13')]);}logger['error'](_0xddd1('0xe'),_0x54e2e2,_0x3f6e29[_0xddd1('0x12')][_0xddd1('0x13')]);return _0xa68d3f(_0x3f6e29[_0xddd1('0x12')][_0xddd1('0x13')]);}else{logger[_0xddd1('0xd')]('CmHopperHistory,\x20%s,\x20%s',_0x54e2e2,_0xddd1('0xf'));_0xa68d3f(_0x3f6e29[_0xddd1('0x14')][_0xddd1('0x13')]);}})[_0xddd1('0x15')](function(_0x55aed4){logger['error']('CmHopperHistory,\x20%s,\x20%s',_0x54e2e2,_0x55aed4);_0x2e6884(_0x55aed4);});});}exports[_0xddd1('0x16')]=function(_0x5e5685){var _0x4b61fc=this;return new Promise(function(_0x1e02e6,_0x16ec27){return db['CmHopperHistory'][_0xddd1('0x17')](_0x5e5685['body'],{'raw':_0x5e5685[_0xddd1('0x18')]?_0x5e5685['options'][_0xddd1('0x19')]===undefined?!![]:![]:!![]})['then'](function(_0x29c843){logger['info'](_0xddd1('0x16'),_0x5e5685);logger[_0xddd1('0x1a')](_0xddd1('0x16'),_0x5e5685,JSON[_0xddd1('0x11')](_0x29c843));_0x1e02e6(_0x29c843);})[_0xddd1('0x15')](function(_0x380899){logger['error'](_0xddd1('0x16'),_0x380899[_0xddd1('0x13')],_0x5e5685);_0x16ec27(_0x4b61fc[_0xddd1('0x12')](0x1f4,_0x380899[_0xddd1('0x13')]));});});};exports[_0xddd1('0x1b')]=function(_0x3982f7){var _0x426451=this;return new Promise(function(_0x33e2f8,_0x5295dd){return db[_0xddd1('0x1c')][_0xddd1('0x1d')]({'raw':_0x3982f7[_0xddd1('0x18')]?_0x3982f7[_0xddd1('0x18')][_0xddd1('0x19')]===undefined?!![]:![]:!![],'where':_0x3982f7[_0xddd1('0x18')]?_0x3982f7['options'][_0xddd1('0x1e')]||null:null,'attributes':[[db[_0xddd1('0x1f')]['fn'](_0xddd1('0x20'),db[_0xddd1('0x1f')]['col']('id')),'predictiveIntervalTotalCalls'],[db[_0xddd1('0x1f')]['fn'](_0xddd1('0x20'),db['sequelize']['fn']('IF',db['sequelize']['literal'](_0xddd1('0x21')))),_0xddd1('0x22')],[db['sequelize']['fn']('COUNT',db[_0xddd1('0x1f')]['fn']('IF',db[_0xddd1('0x1f')]['literal'](_0xddd1('0x23')))),_0xddd1('0x24')],[db['sequelize']['fn'](_0xddd1('0x20'),db['sequelize']['fn']('IF',db[_0xddd1('0x1f')][_0xddd1('0x25')]('`state`\x20=\x2011,\x201,\x20null'))),_0xddd1('0x26')],[db['sequelize']['fn'](_0xddd1('0x27'),db[_0xddd1('0x1f')]['fn']('IF',db['sequelize']['literal'](_0xddd1('0x28')))),'predictiveIntervalAvgHoldtime'],[db[_0xddd1('0x1f')]['fn']('AVG',db['sequelize']['fn']('IF',db[_0xddd1('0x1f')][_0xddd1('0x25')](_0xddd1('0x29')))),'predictiveIntervalAvgTalktime']]})[_0xddd1('0xc')](function(_0x50d56b){logger[_0xddd1('0xd')]('AvgHandleTime',_0x3982f7);logger[_0xddd1('0x1a')](_0xddd1('0x1b'),_0x3982f7,JSON[_0xddd1('0x11')](_0x50d56b));_0x33e2f8(_0x50d56b);})['catch'](function(_0x5b872f){logger['error'](_0xddd1('0x1b'),_0x5b872f[_0xddd1('0x13')],_0x3982f7);_0x5295dd(_0x426451[_0xddd1('0x12')](0x1f4,_0x5b872f[_0xddd1('0x13')]));});});};exports['GetVoiceQueueHopperHistory']=function(_0x1537f1){var _0x2b2699=this;return new Promise(function(_0x249b2f,_0x82ffaf){return db[_0xddd1('0x1c')][_0xddd1('0x1d')]({'raw':_0x1537f1[_0xddd1('0x18')]?_0x1537f1['options']['raw']===undefined?!![]:![]:!![],'where':_0x1537f1['options']?_0x1537f1[_0xddd1('0x18')][_0xddd1('0x1e')]||null:null,'attributes':[[_0xddd1('0x2a'),_0xddd1('0x2b')],[db[_0xddd1('0x1f')]['fn']('COUNT',db[_0xddd1('0x1f')]['fn']('IF',db['sequelize']['literal']('`state`\x20=\x200,\x201,\x20null'))),_0xddd1('0x2c')],[db[_0xddd1('0x1f')]['fn'](_0xddd1('0x20'),db['sequelize']['fn']('IF',db[_0xddd1('0x1f')][_0xddd1('0x25')](_0xddd1('0x2d')))),_0xddd1('0x2e')],[db[_0xddd1('0x1f')]['fn'](_0xddd1('0x20'),db[_0xddd1('0x1f')]['fn']('IF',db[_0xddd1('0x1f')][_0xddd1('0x25')](_0xddd1('0x21')))),_0xddd1('0x2f')],[db['sequelize']['fn'](_0xddd1('0x20'),db[_0xddd1('0x1f')]['fn']('IF',db[_0xddd1('0x1f')][_0xddd1('0x25')](_0xddd1('0x30')))),'outboundBusyCallsDay'],[db[_0xddd1('0x1f')]['fn'](_0xddd1('0x20'),db[_0xddd1('0x1f')]['fn']('IF',db[_0xddd1('0x1f')]['literal'](_0xddd1('0x31')))),_0xddd1('0x32')],[db[_0xddd1('0x1f')]['fn']('COUNT',db[_0xddd1('0x1f')]['fn']('IF',db[_0xddd1('0x1f')]['literal'](_0xddd1('0x33')))),_0xddd1('0x34')],[db[_0xddd1('0x1f')]['fn'](_0xddd1('0x20'),db[_0xddd1('0x1f')]['fn']('IF',db['sequelize']['literal'](_0xddd1('0x35')))),_0xddd1('0x36')],[db[_0xddd1('0x1f')]['fn'](_0xddd1('0x20'),db[_0xddd1('0x1f')]['fn']('IF',db['sequelize'][_0xddd1('0x25')](_0xddd1('0x37')))),_0xddd1('0x38')],[db[_0xddd1('0x1f')]['fn'](_0xddd1('0x20'),db[_0xddd1('0x1f')]['fn']('IF',db[_0xddd1('0x1f')][_0xddd1('0x25')](_0xddd1('0x39')))),'outboundBlacklistCallsDay'],[db[_0xddd1('0x1f')]['fn'](_0xddd1('0x20'),db[_0xddd1('0x1f')]['fn']('IF',db[_0xddd1('0x1f')][_0xddd1('0x25')](_0xddd1('0x3a')))),_0xddd1('0x3b')],[db[_0xddd1('0x1f')]['fn'](_0xddd1('0x20'),db[_0xddd1('0x1f')]['fn']('IF',db[_0xddd1('0x1f')][_0xddd1('0x25')](_0xddd1('0x3c')))),_0xddd1('0x3d')],[db[_0xddd1('0x1f')]['fn'](_0xddd1('0x20'),db['sequelize']['fn']('IF',db[_0xddd1('0x1f')]['literal']('`state`\x20=\x2016,\x201,\x20null'))),'outboundAnswerAgiCallsDay'],[db[_0xddd1('0x1f')]['fn']('COUNT',db['sequelize']['fn']('IF',db[_0xddd1('0x1f')][_0xddd1('0x25')]('`state`\x20=\x2020,\x201,\x20null'))),_0xddd1('0x3d')],[db[_0xddd1('0x1f')]['fn'](_0xddd1('0x20'),db[_0xddd1('0x1f')]['fn']('IF',db[_0xddd1('0x1f')][_0xddd1('0x25')](_0xddd1('0x3e')))),_0xddd1('0x3f')]],'group':['campaign']})[_0xddd1('0xc')](function(_0x4f89e4){logger[_0xddd1('0xd')](_0xddd1('0x40'),_0x1537f1);logger[_0xddd1('0x1a')](_0xddd1('0x40'),_0x1537f1,JSON['stringify'](_0x4f89e4));_0x249b2f(_0x4f89e4);})[_0xddd1('0x15')](function(_0x53ec0d){logger[_0xddd1('0x12')](_0xddd1('0x40'),_0x53ec0d[_0xddd1('0x13')],_0x1537f1);_0x82ffaf(_0x2b2699[_0xddd1('0x12')](0x1f4,_0x53ec0d['message']));});});};exports['GetCampaignHopperHistory']=function(_0x65c4d9){var _0x5a323a=this;return new Promise(function(_0x8a3e69,_0xf4bcef){return db['CmHopperHistory'][_0xddd1('0x1d')]({'raw':_0x65c4d9[_0xddd1('0x18')]?_0x65c4d9['options']['raw']===undefined?!![]:![]:!![],'where':_0x65c4d9[_0xddd1('0x18')]?_0x65c4d9[_0xddd1('0x18')][_0xddd1('0x1e')]||null:null,'attributes':[[_0xddd1('0x2a'),_0xddd1('0x2b')],[db[_0xddd1('0x1f')]['fn'](_0xddd1('0x20'),db[_0xddd1('0x1f')][_0xddd1('0x41')]('id')),_0xddd1('0x42')],[db[_0xddd1('0x1f')]['fn'](_0xddd1('0x20'),db['sequelize']['fn']('IF',db['sequelize'][_0xddd1('0x25')](_0xddd1('0x21')))),_0xddd1('0x43')]],'group':[_0xddd1('0x2a')]})['then'](function(_0x491022){logger['info'](_0xddd1('0x44'),_0x65c4d9);logger[_0xddd1('0x1a')]('GetCampaignHopperHistory',_0x65c4d9,JSON[_0xddd1('0x11')](_0x491022));_0x8a3e69(_0x491022);})['catch'](function(_0x2c71b2){logger[_0xddd1('0x12')](_0xddd1('0x44'),_0x2c71b2[_0xddd1('0x13')],_0x65c4d9);_0xf4bcef(_0x5a323a[_0xddd1('0x12')](0x1f4,_0x2c71b2['message']));});});};