ba9ba8e128247eaadd0d8eafcef9790d2003ab98
[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 _0x93f8=['`state`\x20=\x204,\x20`talktime`,\x20null','predictiveIntervalAvgTalktime','then','GetVoiceQueueHopperHistory','`state`\x20=\x200,\x201,\x20null','outboundNoSuchCallsDay','`state`\x20=\x203,\x201,\x20null','outboundNoAnswerCallsDay','outboundAnswerCallsDay','`state`\x20=\x205,\x201,\x20null','outboundBusyCallsDay','outboundCongestionCallsDay','`state`\x20=\x2010\x20,\x201,\x20null','`state`\x20=\x2011\x20,\x201,\x20null','outboundDropCallsDayCallersExit','`state`\x20=\x2012,\x201,\x20null','outboundOriginateFailureCallsDay','`state`\x20=\x2018,\x201,\x20null','outboundRejectCallsDay','`state`\x20=\x2016,\x201,\x20null','outboundAnswerAgiCallsDay','`state`\x20=\x2020,\x201,\x20null','outboundReCallsDay','campaign','name','ivrAnswerCallsDay','GetCampaignHopperHistory','lodash','util','moment','bluebird','ioredis','../../mysqldb','../../config/utils','../../config/logger','rpc','../../config/environment','http','info','CmHopperHistory,\x20%s,\x20%s','request\x20sent','CmHopperHistory,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','create','body','options','raw','CreateCmHopperHistory','debug','catch','AvgHandleTime','CmHopperHistory','findAll','where','sequelize','col','predictiveIntervalTotalCalls','`state`\x20=\x204,\x201,\x20null','predictiveIntervalAnsweredCalls','COUNT','literal','`state`\x20=\x2010,\x201,\x20null','predictiveIntervalDroppedCallsTimeout','`state`\x20=\x2011,\x201,\x20null','predictiveIntervalDroppedCallsCallersExit','AVG','predictiveIntervalAvgHoldtime'];(function(_0x413feb,_0x10477f){var _0x40ee88=function(_0x32a3f6){while(--_0x32a3f6){_0x413feb['push'](_0x413feb['shift']());}};_0x40ee88(++_0x10477f);}(_0x93f8,0xf0));var _0x893f=function(_0x45e30f,_0x25aab6){_0x45e30f=_0x45e30f-0x0;var _0x33308f=_0x93f8[_0x45e30f];return _0x33308f;};'use strict';var _=require(_0x893f('0x0'));var util=require(_0x893f('0x1'));var moment=require(_0x893f('0x2'));var BPromise=require(_0x893f('0x3'));var rs=require('randomstring');var fs=require('fs');var Redis=require(_0x893f('0x4'));var db=require(_0x893f('0x5'))['db'];var utils=require(_0x893f('0x6'));var logger=require(_0x893f('0x7'))(_0x893f('0x8'));var config=require(_0x893f('0x9'));var jayson=require('jayson/promise');var client=jayson['client'][_0x893f('0xa')]({'port':0x232a});function respondWithRpcPromise(_0x1bde12,_0x237c93,_0x458849){return new BPromise(function(_0x439433,_0x282d19){return client['request'](_0x1bde12,_0x458849)['then'](function(_0x4f3841){logger[_0x893f('0xb')](_0x893f('0xc'),_0x237c93,_0x893f('0xd'));logger['debug'](_0x893f('0xe'),_0x237c93,_0x893f('0xd'),JSON[_0x893f('0xf')](_0x4f3841));if(_0x4f3841[_0x893f('0x10')]){if(_0x4f3841['error'][_0x893f('0x11')]===0x1f4){logger[_0x893f('0x10')](_0x893f('0xc'),_0x237c93,_0x4f3841[_0x893f('0x10')][_0x893f('0x12')]);return _0x282d19(_0x4f3841[_0x893f('0x10')]['message']);}logger[_0x893f('0x10')](_0x893f('0xc'),_0x237c93,_0x4f3841['error']['message']);return _0x439433(_0x4f3841[_0x893f('0x10')][_0x893f('0x12')]);}else{logger['info'](_0x893f('0xc'),_0x237c93,_0x893f('0xd'));_0x439433(_0x4f3841[_0x893f('0x13')][_0x893f('0x12')]);}})['catch'](function(_0x4f8f16){logger[_0x893f('0x10')](_0x893f('0xc'),_0x237c93,_0x4f8f16);_0x282d19(_0x4f8f16);});});}exports['CreateCmHopperHistory']=function(_0x149791){var _0x5f1f8b=this;return new Promise(function(_0x1030a3,_0x223678){return db['CmHopperHistory'][_0x893f('0x14')](_0x149791[_0x893f('0x15')],{'raw':_0x149791[_0x893f('0x16')]?_0x149791['options'][_0x893f('0x17')]===undefined?!![]:![]:!![]})['then'](function(_0x4f148f){logger[_0x893f('0xb')](_0x893f('0x18'),_0x149791);logger[_0x893f('0x19')](_0x893f('0x18'),_0x149791,JSON[_0x893f('0xf')](_0x4f148f));_0x1030a3(_0x4f148f);})[_0x893f('0x1a')](function(_0x248fa4){logger[_0x893f('0x10')](_0x893f('0x18'),_0x248fa4[_0x893f('0x12')],_0x149791);_0x223678(_0x5f1f8b[_0x893f('0x10')](0x1f4,_0x248fa4[_0x893f('0x12')]));});});};exports[_0x893f('0x1b')]=function(_0xe5e871){var _0x2bb1b7=this;return new Promise(function(_0x29014a,_0x5ef02e){return db[_0x893f('0x1c')][_0x893f('0x1d')]({'raw':_0xe5e871[_0x893f('0x16')]?_0xe5e871[_0x893f('0x16')][_0x893f('0x17')]===undefined?!![]:![]:!![],'where':_0xe5e871[_0x893f('0x16')]?_0xe5e871[_0x893f('0x16')][_0x893f('0x1e')]||null:null,'attributes':[[db[_0x893f('0x1f')]['fn']('COUNT',db['sequelize'][_0x893f('0x20')]('id')),_0x893f('0x21')],[db['sequelize']['fn']('COUNT',db[_0x893f('0x1f')]['fn']('IF',db[_0x893f('0x1f')]['literal'](_0x893f('0x22')))),_0x893f('0x23')],[db['sequelize']['fn'](_0x893f('0x24'),db[_0x893f('0x1f')]['fn']('IF',db['sequelize'][_0x893f('0x25')](_0x893f('0x26')))),_0x893f('0x27')],[db[_0x893f('0x1f')]['fn'](_0x893f('0x24'),db['sequelize']['fn']('IF',db[_0x893f('0x1f')]['literal'](_0x893f('0x28')))),_0x893f('0x29')],[db['sequelize']['fn'](_0x893f('0x2a'),db[_0x893f('0x1f')]['fn']('IF',db['sequelize'][_0x893f('0x25')]('`state`\x20=\x204,\x20`holdtime`,\x20null'))),_0x893f('0x2b')],[db[_0x893f('0x1f')]['fn'](_0x893f('0x2a'),db[_0x893f('0x1f')]['fn']('IF',db[_0x893f('0x1f')][_0x893f('0x25')](_0x893f('0x2c')))),_0x893f('0x2d')]]})[_0x893f('0x2e')](function(_0x5f0f14){logger[_0x893f('0xb')]('AvgHandleTime',_0xe5e871);logger[_0x893f('0x19')](_0x893f('0x1b'),_0xe5e871,JSON[_0x893f('0xf')](_0x5f0f14));_0x29014a(_0x5f0f14);})[_0x893f('0x1a')](function(_0x489b56){logger[_0x893f('0x10')]('AvgHandleTime',_0x489b56[_0x893f('0x12')],_0xe5e871);_0x5ef02e(_0x2bb1b7['error'](0x1f4,_0x489b56[_0x893f('0x12')]));});});};exports[_0x893f('0x2f')]=function(_0x512886){var _0x357b95=this;return new Promise(function(_0x18b171,_0x14ac08){return db['CmHopperHistory'][_0x893f('0x1d')]({'raw':_0x512886['options']?_0x512886[_0x893f('0x16')][_0x893f('0x17')]===undefined?!![]:![]:!![],'where':_0x512886[_0x893f('0x16')]?_0x512886['options'][_0x893f('0x1e')]||null:null,'attributes':[['campaign','name'],[db[_0x893f('0x1f')]['fn']('COUNT',db[_0x893f('0x1f')]['fn']('IF',db[_0x893f('0x1f')]['literal'](_0x893f('0x30')))),_0x893f('0x31')],[db[_0x893f('0x1f')]['fn'](_0x893f('0x24'),db[_0x893f('0x1f')]['fn']('IF',db['sequelize'][_0x893f('0x25')](_0x893f('0x32')))),_0x893f('0x33')],[db[_0x893f('0x1f')]['fn']('COUNT',db[_0x893f('0x1f')]['fn']('IF',db[_0x893f('0x1f')]['literal'](_0x893f('0x22')))),_0x893f('0x34')],[db[_0x893f('0x1f')]['fn'](_0x893f('0x24'),db['sequelize']['fn']('IF',db[_0x893f('0x1f')]['literal'](_0x893f('0x35')))),_0x893f('0x36')],[db[_0x893f('0x1f')]['fn']('COUNT',db[_0x893f('0x1f')]['fn']('IF',db['sequelize'][_0x893f('0x25')]('`state`\x20=\x208,\x201,\x20null'))),_0x893f('0x37')],[db[_0x893f('0x1f')]['fn'](_0x893f('0x24'),db['sequelize']['fn']('IF',db['sequelize'][_0x893f('0x25')](_0x893f('0x38')))),'outboundDropCallsDayTimeout'],[db[_0x893f('0x1f')]['fn']('COUNT',db['sequelize']['fn']('IF',db[_0x893f('0x1f')]['literal'](_0x893f('0x39')))),_0x893f('0x3a')],[db[_0x893f('0x1f')]['fn'](_0x893f('0x24'),db[_0x893f('0x1f')]['fn']('IF',db[_0x893f('0x1f')][_0x893f('0x25')](_0x893f('0x3b')))),'outboundUnknownCallsDay'],[db['sequelize']['fn'](_0x893f('0x24'),db[_0x893f('0x1f')]['fn']('IF',db[_0x893f('0x1f')][_0x893f('0x25')]('`state`\x20=\x2013,\x201,\x20null'))),'outboundBlacklistCallsDay'],[db[_0x893f('0x1f')]['fn']('COUNT',db[_0x893f('0x1f')]['fn']('IF',db[_0x893f('0x1f')]['literal']('`state`\x20=\x2014,\x201,\x20null'))),_0x893f('0x3c')],[db['sequelize']['fn'](_0x893f('0x24'),db[_0x893f('0x1f')]['fn']('IF',db['sequelize'][_0x893f('0x25')](_0x893f('0x3d')))),_0x893f('0x3e')],[db[_0x893f('0x1f')]['fn'](_0x893f('0x24'),db[_0x893f('0x1f')]['fn']('IF',db[_0x893f('0x1f')][_0x893f('0x25')](_0x893f('0x3f')))),_0x893f('0x40')],[db['sequelize']['fn'](_0x893f('0x24'),db[_0x893f('0x1f')]['fn']('IF',db['sequelize']['literal'](_0x893f('0x41')))),_0x893f('0x3e')],[db['sequelize']['fn'](_0x893f('0x24'),db[_0x893f('0x1f')]['fn']('IF',db[_0x893f('0x1f')]['literal']('`state`\x20=\x2022\x20or\x20`state`\x20=\x2023,\x201,\x20null'))),_0x893f('0x42')]],'group':['campaign']})[_0x893f('0x2e')](function(_0x469bfb){logger['info']('GetVoiceQueueHopperHistory',_0x512886);logger[_0x893f('0x19')](_0x893f('0x2f'),_0x512886,JSON['stringify'](_0x469bfb));_0x18b171(_0x469bfb);})[_0x893f('0x1a')](function(_0x5f80e3){logger['error'](_0x893f('0x2f'),_0x5f80e3[_0x893f('0x12')],_0x512886);_0x14ac08(_0x357b95[_0x893f('0x10')](0x1f4,_0x5f80e3[_0x893f('0x12')]));});});};exports['GetCampaignHopperHistory']=function(_0x260421){var _0xa48b41=this;return new Promise(function(_0x2afdca,_0x3d88c1){return db[_0x893f('0x1c')][_0x893f('0x1d')]({'raw':_0x260421[_0x893f('0x16')]?_0x260421[_0x893f('0x16')][_0x893f('0x17')]===undefined?!![]:![]:!![],'where':_0x260421[_0x893f('0x16')]?_0x260421[_0x893f('0x16')][_0x893f('0x1e')]||null:null,'attributes':[[_0x893f('0x43'),_0x893f('0x44')],[db[_0x893f('0x1f')]['fn'](_0x893f('0x24'),db['sequelize'][_0x893f('0x20')]('id')),'ivrTotalCallsDays'],[db[_0x893f('0x1f')]['fn'](_0x893f('0x24'),db[_0x893f('0x1f')]['fn']('IF',db[_0x893f('0x1f')][_0x893f('0x25')](_0x893f('0x22')))),_0x893f('0x45')]],'group':['campaign']})[_0x893f('0x2e')](function(_0x5b706f){logger[_0x893f('0xb')](_0x893f('0x46'),_0x260421);logger[_0x893f('0x19')](_0x893f('0x46'),_0x260421,JSON[_0x893f('0xf')](_0x5b706f));_0x2afdca(_0x5b706f);})[_0x893f('0x1a')](function(_0x10499d){logger['error'](_0x893f('0x46'),_0x10499d['message'],_0x260421);_0x3d88c1(_0xa48b41[_0x893f('0x10')](0x1f4,_0x10499d[_0x893f('0x12')]));});});};