5a0991655a856c8f46f762b62049002eb0eb0b80
[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 _0x7860=['predictiveIntervalDroppedCallsTimeout','`state`\x20=\x2011,\x201,\x20null','predictiveIntervalDroppedCallsCallersExit','AVG','`state`\x20=\x204,\x20`holdtime`,\x20null','predictiveIntervalAvgHoldtime','`state`\x20=\x204,\x20`talktime`,\x20null','predictiveIntervalAvgTalktime','campaign','name','outboundNoSuchCallsDay','outboundNoAnswerCallsDay','outboundBusyCallsDay','`state`\x20=\x208,\x201,\x20null','outboundCongestionCallsDay','`state`\x20=\x2010\x20,\x201,\x20null','outboundDropCallsDayTimeout','`state`\x20=\x2011\x20,\x201,\x20null','`state`\x20=\x2013,\x201,\x20null','outboundBlacklistCallsDay','`state`\x20=\x2014,\x201,\x20null','outboundOriginateFailureCallsDay','outboundRejectCallsDay','outboundAnswerAgiCallsDay','`state`\x20=\x2020,\x201,\x20null','`state`\x20=\x2022\x20or\x20`state`\x20=\x2023,\x201,\x20null','GetVoiceQueueHopperHistory','GetCampaignHopperHistory','ivrTotalCallsDays','ivrAnswerCallsDay','moment','bluebird','ioredis','../../mysqldb','../../config/utils','../../config/logger','rpc','../../config/environment','client','request','then','info','CmHopperHistory,\x20%s,\x20%s','request\x20sent','debug','stringify','error','code','message','result','catch','CreateCmHopperHistory','create','body','options','AvgHandleTime','CmHopperHistory','findAll','raw','where','sequelize','COUNT','col','literal','predictiveIntervalAnsweredCalls','`state`\x20=\x2010,\x201,\x20null'];(function(_0x4ed303,_0x48ae86){var _0x1eedcf=function(_0x1642d4){while(--_0x1642d4){_0x4ed303['push'](_0x4ed303['shift']());}};_0x1eedcf(++_0x48ae86);}(_0x7860,0xe4));var _0x0786=function(_0x3d6e78,_0x2198d2){_0x3d6e78=_0x3d6e78-0x0;var _0x3a255a=_0x7860[_0x3d6e78];return _0x3a255a;};'use strict';var _=require('lodash');var util=require('util');var moment=require(_0x0786('0x0'));var BPromise=require(_0x0786('0x1'));var rs=require('randomstring');var fs=require('fs');var Redis=require(_0x0786('0x2'));var db=require(_0x0786('0x3'))['db'];var utils=require(_0x0786('0x4'));var logger=require(_0x0786('0x5'))(_0x0786('0x6'));var config=require(_0x0786('0x7'));var jayson=require('jayson/promise');var client=jayson[_0x0786('0x8')]['http']({'port':0x232a});function respondWithRpcPromise(_0x27e176,_0x4b6db7,_0x39a5ec){return new BPromise(function(_0x4cf64f,_0x475bdf){return client[_0x0786('0x9')](_0x27e176,_0x39a5ec)[_0x0786('0xa')](function(_0x3c5d3e){logger[_0x0786('0xb')](_0x0786('0xc'),_0x4b6db7,_0x0786('0xd'));logger[_0x0786('0xe')]('CmHopperHistory,\x20%s,\x20%s,\x20%s',_0x4b6db7,_0x0786('0xd'),JSON[_0x0786('0xf')](_0x3c5d3e));if(_0x3c5d3e['error']){if(_0x3c5d3e[_0x0786('0x10')][_0x0786('0x11')]===0x1f4){logger[_0x0786('0x10')](_0x0786('0xc'),_0x4b6db7,_0x3c5d3e[_0x0786('0x10')][_0x0786('0x12')]);return _0x475bdf(_0x3c5d3e[_0x0786('0x10')][_0x0786('0x12')]);}logger[_0x0786('0x10')](_0x0786('0xc'),_0x4b6db7,_0x3c5d3e[_0x0786('0x10')][_0x0786('0x12')]);return _0x4cf64f(_0x3c5d3e[_0x0786('0x10')][_0x0786('0x12')]);}else{logger['info'](_0x0786('0xc'),_0x4b6db7,_0x0786('0xd'));_0x4cf64f(_0x3c5d3e[_0x0786('0x13')][_0x0786('0x12')]);}})[_0x0786('0x14')](function(_0x4683fc){logger[_0x0786('0x10')](_0x0786('0xc'),_0x4b6db7,_0x4683fc);_0x475bdf(_0x4683fc);});});}exports[_0x0786('0x15')]=function(_0x1ca5e7){var _0x12ba21=this;return new Promise(function(_0x26b36f,_0x59c54b){return db['CmHopperHistory'][_0x0786('0x16')](_0x1ca5e7[_0x0786('0x17')],{'raw':_0x1ca5e7[_0x0786('0x18')]?_0x1ca5e7[_0x0786('0x18')]['raw']===undefined?!![]:![]:!![]})['then'](function(_0x59d455){logger['info']('CreateCmHopperHistory',_0x1ca5e7);logger[_0x0786('0xe')](_0x0786('0x15'),_0x1ca5e7,JSON[_0x0786('0xf')](_0x59d455));_0x26b36f(_0x59d455);})['catch'](function(_0x523f95){logger[_0x0786('0x10')](_0x0786('0x15'),_0x523f95['message'],_0x1ca5e7);_0x59c54b(_0x12ba21['error'](0x1f4,_0x523f95[_0x0786('0x12')]));});});};exports[_0x0786('0x19')]=function(_0x1263d6){var _0x4cd312=this;return new Promise(function(_0x302da7,_0x40baa3){return db[_0x0786('0x1a')][_0x0786('0x1b')]({'raw':_0x1263d6['options']?_0x1263d6[_0x0786('0x18')][_0x0786('0x1c')]===undefined?!![]:![]:!![],'where':_0x1263d6[_0x0786('0x18')]?_0x1263d6[_0x0786('0x18')][_0x0786('0x1d')]||null:null,'attributes':[[db[_0x0786('0x1e')]['fn'](_0x0786('0x1f'),db['sequelize'][_0x0786('0x20')]('id')),'predictiveIntervalTotalCalls'],[db[_0x0786('0x1e')]['fn'](_0x0786('0x1f'),db['sequelize']['fn']('IF',db[_0x0786('0x1e')][_0x0786('0x21')]('`state`\x20=\x204,\x201,\x20null'))),_0x0786('0x22')],[db[_0x0786('0x1e')]['fn'](_0x0786('0x1f'),db[_0x0786('0x1e')]['fn']('IF',db['sequelize'][_0x0786('0x21')](_0x0786('0x23')))),_0x0786('0x24')],[db[_0x0786('0x1e')]['fn'](_0x0786('0x1f'),db[_0x0786('0x1e')]['fn']('IF',db['sequelize'][_0x0786('0x21')](_0x0786('0x25')))),_0x0786('0x26')],[db[_0x0786('0x1e')]['fn'](_0x0786('0x27'),db['sequelize']['fn']('IF',db[_0x0786('0x1e')][_0x0786('0x21')](_0x0786('0x28')))),_0x0786('0x29')],[db[_0x0786('0x1e')]['fn'](_0x0786('0x27'),db[_0x0786('0x1e')]['fn']('IF',db['sequelize'][_0x0786('0x21')](_0x0786('0x2a')))),_0x0786('0x2b')]]})[_0x0786('0xa')](function(_0x31f1){logger['info']('AvgHandleTime',_0x1263d6);logger[_0x0786('0xe')](_0x0786('0x19'),_0x1263d6,JSON[_0x0786('0xf')](_0x31f1));_0x302da7(_0x31f1);})[_0x0786('0x14')](function(_0x4d0748){logger['error'](_0x0786('0x19'),_0x4d0748[_0x0786('0x12')],_0x1263d6);_0x40baa3(_0x4cd312[_0x0786('0x10')](0x1f4,_0x4d0748['message']));});});};exports['GetVoiceQueueHopperHistory']=function(_0x5e0b87){var _0x1538bc=this;return new Promise(function(_0x31c2d5,_0x1d0e36){return db[_0x0786('0x1a')]['findAll']({'raw':_0x5e0b87[_0x0786('0x18')]?_0x5e0b87['options'][_0x0786('0x1c')]===undefined?!![]:![]:!![],'where':_0x5e0b87[_0x0786('0x18')]?_0x5e0b87[_0x0786('0x18')][_0x0786('0x1d')]||null:null,'attributes':[[_0x0786('0x2c'),_0x0786('0x2d')],[db['sequelize']['fn'](_0x0786('0x1f'),db[_0x0786('0x1e')]['fn']('IF',db[_0x0786('0x1e')][_0x0786('0x21')]('`state`\x20=\x200,\x201,\x20null'))),_0x0786('0x2e')],[db[_0x0786('0x1e')]['fn'](_0x0786('0x1f'),db[_0x0786('0x1e')]['fn']('IF',db[_0x0786('0x1e')]['literal']('`state`\x20=\x203,\x201,\x20null'))),_0x0786('0x2f')],[db['sequelize']['fn']('COUNT',db[_0x0786('0x1e')]['fn']('IF',db[_0x0786('0x1e')][_0x0786('0x21')]('`state`\x20=\x204,\x201,\x20null'))),'outboundAnswerCallsDay'],[db['sequelize']['fn'](_0x0786('0x1f'),db[_0x0786('0x1e')]['fn']('IF',db['sequelize']['literal']('`state`\x20=\x205,\x201,\x20null'))),_0x0786('0x30')],[db['sequelize']['fn'](_0x0786('0x1f'),db[_0x0786('0x1e')]['fn']('IF',db[_0x0786('0x1e')]['literal'](_0x0786('0x31')))),_0x0786('0x32')],[db['sequelize']['fn']('COUNT',db['sequelize']['fn']('IF',db[_0x0786('0x1e')][_0x0786('0x21')](_0x0786('0x33')))),_0x0786('0x34')],[db['sequelize']['fn'](_0x0786('0x1f'),db[_0x0786('0x1e')]['fn']('IF',db[_0x0786('0x1e')][_0x0786('0x21')](_0x0786('0x35')))),'outboundDropCallsDayCallersExit'],[db[_0x0786('0x1e')]['fn'](_0x0786('0x1f'),db[_0x0786('0x1e')]['fn']('IF',db[_0x0786('0x1e')]['literal']('`state`\x20=\x2012,\x201,\x20null'))),'outboundUnknownCallsDay'],[db[_0x0786('0x1e')]['fn'](_0x0786('0x1f'),db[_0x0786('0x1e')]['fn']('IF',db[_0x0786('0x1e')]['literal'](_0x0786('0x36')))),_0x0786('0x37')],[db[_0x0786('0x1e')]['fn'](_0x0786('0x1f'),db[_0x0786('0x1e')]['fn']('IF',db[_0x0786('0x1e')][_0x0786('0x21')](_0x0786('0x38')))),_0x0786('0x39')],[db[_0x0786('0x1e')]['fn'](_0x0786('0x1f'),db[_0x0786('0x1e')]['fn']('IF',db[_0x0786('0x1e')][_0x0786('0x21')]('`state`\x20=\x2018,\x201,\x20null'))),_0x0786('0x3a')],[db['sequelize']['fn'](_0x0786('0x1f'),db['sequelize']['fn']('IF',db[_0x0786('0x1e')][_0x0786('0x21')]('`state`\x20=\x2016,\x201,\x20null'))),_0x0786('0x3b')],[db[_0x0786('0x1e')]['fn'](_0x0786('0x1f'),db[_0x0786('0x1e')]['fn']('IF',db[_0x0786('0x1e')]['literal'](_0x0786('0x3c')))),_0x0786('0x3a')],[db[_0x0786('0x1e')]['fn'](_0x0786('0x1f'),db[_0x0786('0x1e')]['fn']('IF',db['sequelize']['literal'](_0x0786('0x3d')))),'outboundReCallsDay']],'group':[_0x0786('0x2c')]})[_0x0786('0xa')](function(_0x30b89a){logger[_0x0786('0xb')]('GetVoiceQueueHopperHistory',_0x5e0b87);logger[_0x0786('0xe')](_0x0786('0x3e'),_0x5e0b87,JSON[_0x0786('0xf')](_0x30b89a));_0x31c2d5(_0x30b89a);})[_0x0786('0x14')](function(_0x499212){logger[_0x0786('0x10')](_0x0786('0x3e'),_0x499212[_0x0786('0x12')],_0x5e0b87);_0x1d0e36(_0x1538bc[_0x0786('0x10')](0x1f4,_0x499212['message']));});});};exports[_0x0786('0x3f')]=function(_0x2289f8){var _0x2237e0=this;return new Promise(function(_0x3aee36,_0x18e37c){return db['CmHopperHistory'][_0x0786('0x1b')]({'raw':_0x2289f8['options']?_0x2289f8[_0x0786('0x18')][_0x0786('0x1c')]===undefined?!![]:![]:!![],'where':_0x2289f8['options']?_0x2289f8['options'][_0x0786('0x1d')]||null:null,'attributes':[['campaign',_0x0786('0x2d')],[db['sequelize']['fn']('COUNT',db['sequelize'][_0x0786('0x20')]('id')),_0x0786('0x40')],[db[_0x0786('0x1e')]['fn'](_0x0786('0x1f'),db[_0x0786('0x1e')]['fn']('IF',db[_0x0786('0x1e')][_0x0786('0x21')]('`state`\x20=\x204,\x201,\x20null'))),_0x0786('0x41')]],'group':['campaign']})['then'](function(_0x679435){logger[_0x0786('0xb')](_0x0786('0x3f'),_0x2289f8);logger[_0x0786('0xe')]('GetCampaignHopperHistory',_0x2289f8,JSON[_0x0786('0xf')](_0x679435));_0x3aee36(_0x679435);})[_0x0786('0x14')](function(_0x3d4b60){logger[_0x0786('0x10')](_0x0786('0x3f'),_0x3d4b60[_0x0786('0x12')],_0x2289f8);_0x18e37c(_0x2237e0['error'](0x1f4,_0x3d4b60[_0x0786('0x12')]));});});};