Built motion from commit (unavailable).|2.4.4
[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 _0x3e1d=['raw','debug','AvgHandleTime','findAll','sequelize','COUNT','predictiveIntervalTotalCalls','predictiveIntervalAnsweredCalls','`state`\x20=\x2010,\x201,\x20null','predictiveIntervalDroppedCallsCallersExit','literal','`state`\x20=\x204,\x20`holdtime`,\x20null','predictiveIntervalAvgHoldtime','AVG','`state`\x20=\x204,\x20`talktime`,\x20null','predictiveIntervalAvgTalktime','where','campaign','name','`state`\x20=\x200,\x201,\x20null','outboundNoSuchCallsDay','`state`\x20=\x203,\x201,\x20null','`state`\x20=\x204,\x201,\x20null','`state`\x20=\x208,\x201,\x20null','outboundCongestionCallsDay','`state`\x20=\x2010\x20,\x201,\x20null','outboundDropCallsDayTimeout','`state`\x20=\x2011\x20,\x201,\x20null','outboundDropCallsDayCallersExit','outboundUnknownCallsDay','`state`\x20=\x2013,\x201,\x20null','`state`\x20=\x2014,\x201,\x20null','outboundOriginateFailureCallsDay','`state`\x20=\x2016,\x201,\x20null','outboundAnswerAgiCallsDay','outboundRejectCallsDay','`state`\x20=\x2022\x20or\x20`state`\x20=\x2023,\x201,\x20null','GetVoiceQueueHopperHistory','ivrTotalCallsDays','ivrAnswerCallsDay','GetCampaignHopperHistory','moment','bluebird','ioredis','../../config/utils','../../config/logger','rpc','jayson/promise','client','http','request','then','info','CmHopperHistory,\x20%s,\x20%s','request\x20sent','stringify','error','code','message','result','catch','CreateCmHopperHistory','CmHopperHistory','create','body','options'];(function(_0x156b03,_0x238b09){var _0x302cc5=function(_0x5ef22e){while(--_0x5ef22e){_0x156b03['push'](_0x156b03['shift']());}};_0x302cc5(++_0x238b09);}(_0x3e1d,0xad));var _0xd3e1=function(_0x50c599,_0x21de75){_0x50c599=_0x50c599-0x0;var _0x245ca1=_0x3e1d[_0x50c599];return _0x245ca1;};'use strict';var _=require('lodash');var util=require('util');var moment=require(_0xd3e1('0x0'));var BPromise=require(_0xd3e1('0x1'));var rs=require('randomstring');var fs=require('fs');var Redis=require(_0xd3e1('0x2'));var db=require('../../mysqldb')['db'];var utils=require(_0xd3e1('0x3'));var logger=require(_0xd3e1('0x4'))(_0xd3e1('0x5'));var config=require('../../config/environment');var jayson=require(_0xd3e1('0x6'));var client=jayson[_0xd3e1('0x7')][_0xd3e1('0x8')]({'port':0x232a});function respondWithRpcPromise(_0x40dab3,_0x1d7951,_0x35af20){return new BPromise(function(_0x217f96,_0x2a7a7a){return client[_0xd3e1('0x9')](_0x40dab3,_0x35af20)[_0xd3e1('0xa')](function(_0x1ef91b){logger[_0xd3e1('0xb')](_0xd3e1('0xc'),_0x1d7951,_0xd3e1('0xd'));logger['debug']('CmHopperHistory,\x20%s,\x20%s,\x20%s',_0x1d7951,_0xd3e1('0xd'),JSON[_0xd3e1('0xe')](_0x1ef91b));if(_0x1ef91b[_0xd3e1('0xf')]){if(_0x1ef91b[_0xd3e1('0xf')][_0xd3e1('0x10')]===0x1f4){logger[_0xd3e1('0xf')]('CmHopperHistory,\x20%s,\x20%s',_0x1d7951,_0x1ef91b['error'][_0xd3e1('0x11')]);return _0x2a7a7a(_0x1ef91b['error'][_0xd3e1('0x11')]);}logger[_0xd3e1('0xf')](_0xd3e1('0xc'),_0x1d7951,_0x1ef91b[_0xd3e1('0xf')][_0xd3e1('0x11')]);return _0x217f96(_0x1ef91b[_0xd3e1('0xf')][_0xd3e1('0x11')]);}else{logger[_0xd3e1('0xb')]('CmHopperHistory,\x20%s,\x20%s',_0x1d7951,_0xd3e1('0xd'));_0x217f96(_0x1ef91b[_0xd3e1('0x12')]['message']);}})[_0xd3e1('0x13')](function(_0x5c276e){logger[_0xd3e1('0xf')](_0xd3e1('0xc'),_0x1d7951,_0x5c276e);_0x2a7a7a(_0x5c276e);});});}exports[_0xd3e1('0x14')]=function(_0x348e41){var _0x5e50eb=this;return new Promise(function(_0x4f2710,_0x1f3fad){return db[_0xd3e1('0x15')][_0xd3e1('0x16')](_0x348e41[_0xd3e1('0x17')],{'raw':_0x348e41[_0xd3e1('0x18')]?_0x348e41['options'][_0xd3e1('0x19')]===undefined?!![]:![]:!![]})[_0xd3e1('0xa')](function(_0x2cf294){logger['info'](_0xd3e1('0x14'),_0x348e41);logger[_0xd3e1('0x1a')](_0xd3e1('0x14'),_0x348e41,JSON['stringify'](_0x2cf294));_0x4f2710(_0x2cf294);})[_0xd3e1('0x13')](function(_0x49d02a){logger['error'](_0xd3e1('0x14'),_0x49d02a['message'],_0x348e41);_0x1f3fad(_0x5e50eb['error'](0x1f4,_0x49d02a['message']));});});};exports[_0xd3e1('0x1b')]=function(_0x3cdce1){var _0x17d24b=this;return new Promise(function(_0x467894,_0x3229b5){return db[_0xd3e1('0x15')][_0xd3e1('0x1c')]({'raw':_0x3cdce1[_0xd3e1('0x18')]?_0x3cdce1[_0xd3e1('0x18')]['raw']===undefined?!![]:![]:!![],'where':_0x3cdce1[_0xd3e1('0x18')]?_0x3cdce1['options']['where']||null:null,'attributes':[[db[_0xd3e1('0x1d')]['fn'](_0xd3e1('0x1e'),db['sequelize']['col']('id')),_0xd3e1('0x1f')],[db[_0xd3e1('0x1d')]['fn'](_0xd3e1('0x1e'),db['sequelize']['fn']('IF',db[_0xd3e1('0x1d')]['literal']('`state`\x20=\x204,\x201,\x20null'))),_0xd3e1('0x20')],[db[_0xd3e1('0x1d')]['fn'](_0xd3e1('0x1e'),db['sequelize']['fn']('IF',db[_0xd3e1('0x1d')]['literal'](_0xd3e1('0x21')))),'predictiveIntervalDroppedCallsTimeout'],[db['sequelize']['fn'](_0xd3e1('0x1e'),db[_0xd3e1('0x1d')]['fn']('IF',db[_0xd3e1('0x1d')]['literal']('`state`\x20=\x2011,\x201,\x20null'))),_0xd3e1('0x22')],[db[_0xd3e1('0x1d')]['fn']('AVG',db['sequelize']['fn']('IF',db[_0xd3e1('0x1d')][_0xd3e1('0x23')](_0xd3e1('0x24')))),_0xd3e1('0x25')],[db[_0xd3e1('0x1d')]['fn'](_0xd3e1('0x26'),db[_0xd3e1('0x1d')]['fn']('IF',db['sequelize'][_0xd3e1('0x23')](_0xd3e1('0x27')))),_0xd3e1('0x28')]]})[_0xd3e1('0xa')](function(_0x3d3dd9){logger['info']('AvgHandleTime',_0x3cdce1);logger[_0xd3e1('0x1a')](_0xd3e1('0x1b'),_0x3cdce1,JSON[_0xd3e1('0xe')](_0x3d3dd9));_0x467894(_0x3d3dd9);})[_0xd3e1('0x13')](function(_0x5174da){logger[_0xd3e1('0xf')](_0xd3e1('0x1b'),_0x5174da['message'],_0x3cdce1);_0x3229b5(_0x17d24b['error'](0x1f4,_0x5174da[_0xd3e1('0x11')]));});});};exports['GetVoiceQueueHopperHistory']=function(_0x9e7dee){var _0x5248bb=this;return new Promise(function(_0x402a05,_0x5cd963){return db[_0xd3e1('0x15')][_0xd3e1('0x1c')]({'raw':_0x9e7dee[_0xd3e1('0x18')]?_0x9e7dee[_0xd3e1('0x18')][_0xd3e1('0x19')]===undefined?!![]:![]:!![],'where':_0x9e7dee['options']?_0x9e7dee['options'][_0xd3e1('0x29')]||null:null,'attributes':[[_0xd3e1('0x2a'),_0xd3e1('0x2b')],[db[_0xd3e1('0x1d')]['fn']('COUNT',db[_0xd3e1('0x1d')]['fn']('IF',db[_0xd3e1('0x1d')]['literal'](_0xd3e1('0x2c')))),_0xd3e1('0x2d')],[db['sequelize']['fn']('COUNT',db['sequelize']['fn']('IF',db[_0xd3e1('0x1d')][_0xd3e1('0x23')](_0xd3e1('0x2e')))),'outboundNoAnswerCallsDay'],[db[_0xd3e1('0x1d')]['fn'](_0xd3e1('0x1e'),db[_0xd3e1('0x1d')]['fn']('IF',db[_0xd3e1('0x1d')]['literal'](_0xd3e1('0x2f')))),'outboundAnswerCallsDay'],[db['sequelize']['fn'](_0xd3e1('0x1e'),db[_0xd3e1('0x1d')]['fn']('IF',db['sequelize']['literal']('`state`\x20=\x205,\x201,\x20null'))),'outboundBusyCallsDay'],[db[_0xd3e1('0x1d')]['fn'](_0xd3e1('0x1e'),db[_0xd3e1('0x1d')]['fn']('IF',db['sequelize']['literal'](_0xd3e1('0x30')))),_0xd3e1('0x31')],[db[_0xd3e1('0x1d')]['fn']('COUNT',db[_0xd3e1('0x1d')]['fn']('IF',db[_0xd3e1('0x1d')][_0xd3e1('0x23')](_0xd3e1('0x32')))),_0xd3e1('0x33')],[db[_0xd3e1('0x1d')]['fn'](_0xd3e1('0x1e'),db[_0xd3e1('0x1d')]['fn']('IF',db['sequelize'][_0xd3e1('0x23')](_0xd3e1('0x34')))),_0xd3e1('0x35')],[db[_0xd3e1('0x1d')]['fn'](_0xd3e1('0x1e'),db[_0xd3e1('0x1d')]['fn']('IF',db[_0xd3e1('0x1d')][_0xd3e1('0x23')]('`state`\x20=\x2012,\x201,\x20null'))),_0xd3e1('0x36')],[db['sequelize']['fn'](_0xd3e1('0x1e'),db[_0xd3e1('0x1d')]['fn']('IF',db['sequelize'][_0xd3e1('0x23')](_0xd3e1('0x37')))),'outboundBlacklistCallsDay'],[db[_0xd3e1('0x1d')]['fn'](_0xd3e1('0x1e'),db[_0xd3e1('0x1d')]['fn']('IF',db[_0xd3e1('0x1d')][_0xd3e1('0x23')](_0xd3e1('0x38')))),_0xd3e1('0x39')],[db[_0xd3e1('0x1d')]['fn'](_0xd3e1('0x1e'),db[_0xd3e1('0x1d')]['fn']('IF',db['sequelize'][_0xd3e1('0x23')]('`state`\x20=\x2018,\x201,\x20null'))),'outboundRejectCallsDay'],[db[_0xd3e1('0x1d')]['fn']('COUNT',db[_0xd3e1('0x1d')]['fn']('IF',db['sequelize'][_0xd3e1('0x23')](_0xd3e1('0x3a')))),_0xd3e1('0x3b')],[db[_0xd3e1('0x1d')]['fn'](_0xd3e1('0x1e'),db['sequelize']['fn']('IF',db[_0xd3e1('0x1d')][_0xd3e1('0x23')]('`state`\x20=\x2020,\x201,\x20null'))),_0xd3e1('0x3c')],[db[_0xd3e1('0x1d')]['fn']('COUNT',db['sequelize']['fn']('IF',db[_0xd3e1('0x1d')][_0xd3e1('0x23')](_0xd3e1('0x3d')))),'outboundReCallsDay']],'group':[_0xd3e1('0x2a')]})[_0xd3e1('0xa')](function(_0x305916){logger[_0xd3e1('0xb')](_0xd3e1('0x3e'),_0x9e7dee);logger[_0xd3e1('0x1a')]('GetVoiceQueueHopperHistory',_0x9e7dee,JSON[_0xd3e1('0xe')](_0x305916));_0x402a05(_0x305916);})['catch'](function(_0xafe2f2){logger[_0xd3e1('0xf')](_0xd3e1('0x3e'),_0xafe2f2[_0xd3e1('0x11')],_0x9e7dee);_0x5cd963(_0x5248bb[_0xd3e1('0xf')](0x1f4,_0xafe2f2[_0xd3e1('0x11')]));});});};exports['GetCampaignHopperHistory']=function(_0x59f3c0){var _0x32cef5=this;return new Promise(function(_0x15bbcf,_0xe8f911){return db[_0xd3e1('0x15')][_0xd3e1('0x1c')]({'raw':_0x59f3c0['options']?_0x59f3c0[_0xd3e1('0x18')]['raw']===undefined?!![]:![]:!![],'where':_0x59f3c0[_0xd3e1('0x18')]?_0x59f3c0['options'][_0xd3e1('0x29')]||null:null,'attributes':[[_0xd3e1('0x2a'),_0xd3e1('0x2b')],[db[_0xd3e1('0x1d')]['fn']('COUNT',db['sequelize']['col']('id')),_0xd3e1('0x3f')],[db[_0xd3e1('0x1d')]['fn'](_0xd3e1('0x1e'),db[_0xd3e1('0x1d')]['fn']('IF',db['sequelize']['literal'](_0xd3e1('0x2f')))),_0xd3e1('0x40')]],'group':[_0xd3e1('0x2a')]})[_0xd3e1('0xa')](function(_0x41924b){logger[_0xd3e1('0xb')](_0xd3e1('0x41'),_0x59f3c0);logger[_0xd3e1('0x1a')](_0xd3e1('0x41'),_0x59f3c0,JSON[_0xd3e1('0xe')](_0x41924b));_0x15bbcf(_0x41924b);})[_0xd3e1('0x13')](function(_0x3e813f){logger[_0xd3e1('0xf')](_0xd3e1('0x41'),_0x3e813f[_0xd3e1('0x11')],_0x59f3c0);_0xe8f911(_0x32cef5[_0xd3e1('0xf')](0x1f4,_0x3e813f['message']));});});};