3144e50a5242f383ee7c19d6ed28206faf135d86
[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 _0x25b5=['raw','debug','AvgHandleTime','findAll','where','sequelize','COUNT','predictiveIntervalTotalCalls','predictiveIntervalAnsweredCalls','`state`\x20=\x2010,\x201,\x20null','predictiveIntervalDroppedCallsTimeout','literal','`state`\x20=\x2011,\x201,\x20null','predictiveIntervalDroppedCallsCallersExit','`state`\x20=\x204,\x20`holdtime`,\x20null','predictiveIntervalAvgHoldtime','AVG','predictiveIntervalAvgTalktime','GetVoiceQueueHopperHistory','name','`state`\x20=\x200,\x201,\x20null','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','outboundRejectCallsDay','`state`\x20=\x2016,\x201,\x20null','outboundAnswerAgiCallsDay','`state`\x20=\x2020,\x201,\x20null','`state`\x20=\x2022\x20or\x20`state`\x20=\x2023,\x201,\x20null','outboundReCallsDay','GetCampaignHopperHistory','campaign','col','ivrTotalCallsDays','`state`\x20=\x204,\x201,\x20null','ivrAnswerCallsDay','lodash','util','moment','bluebird','randomstring','../../mysqldb','../../config/utils','../../config/logger','rpc','../../config/environment','http','then','info','request\x20sent','stringify','error','code','message','CmHopperHistory,\x20%s,\x20%s','result','catch','CreateCmHopperHistory','CmHopperHistory','options'];(function(_0x8d7881,_0x2e8d97){var _0x57b113=function(_0x126cae){while(--_0x126cae){_0x8d7881['push'](_0x8d7881['shift']());}};_0x57b113(++_0x2e8d97);}(_0x25b5,0x198));var _0x525b=function(_0x575fcd,_0x5d93c6){_0x575fcd=_0x575fcd-0x0;var _0x21f15f=_0x25b5[_0x575fcd];return _0x21f15f;};'use strict';var _=require(_0x525b('0x0'));var util=require(_0x525b('0x1'));var moment=require(_0x525b('0x2'));var BPromise=require(_0x525b('0x3'));var rs=require(_0x525b('0x4'));var fs=require('fs');var Redis=require('ioredis');var db=require(_0x525b('0x5'))['db'];var utils=require(_0x525b('0x6'));var logger=require(_0x525b('0x7'))(_0x525b('0x8'));var config=require(_0x525b('0x9'));var jayson=require('jayson/promise');var client=jayson['client'][_0x525b('0xa')]({'port':0x232a});function respondWithRpcPromise(_0x511ef5,_0x4d6f5b,_0x17b475){return new BPromise(function(_0x3ef6f1,_0x1656ac){return client['request'](_0x511ef5,_0x17b475)[_0x525b('0xb')](function(_0x1b2d14){logger[_0x525b('0xc')]('CmHopperHistory,\x20%s,\x20%s',_0x4d6f5b,'request\x20sent');logger['debug']('CmHopperHistory,\x20%s,\x20%s,\x20%s',_0x4d6f5b,_0x525b('0xd'),JSON[_0x525b('0xe')](_0x1b2d14));if(_0x1b2d14['error']){if(_0x1b2d14[_0x525b('0xf')][_0x525b('0x10')]===0x1f4){logger[_0x525b('0xf')]('CmHopperHistory,\x20%s,\x20%s',_0x4d6f5b,_0x1b2d14['error'][_0x525b('0x11')]);return _0x1656ac(_0x1b2d14[_0x525b('0xf')][_0x525b('0x11')]);}logger[_0x525b('0xf')](_0x525b('0x12'),_0x4d6f5b,_0x1b2d14[_0x525b('0xf')][_0x525b('0x11')]);return _0x3ef6f1(_0x1b2d14[_0x525b('0xf')][_0x525b('0x11')]);}else{logger[_0x525b('0xc')](_0x525b('0x12'),_0x4d6f5b,'request\x20sent');_0x3ef6f1(_0x1b2d14[_0x525b('0x13')][_0x525b('0x11')]);}})[_0x525b('0x14')](function(_0x4d523f){logger['error'](_0x525b('0x12'),_0x4d6f5b,_0x4d523f);_0x1656ac(_0x4d523f);});});}exports[_0x525b('0x15')]=function(_0x1cc987){var _0x4c4d33=this;return new Promise(function(_0x19eabd,_0x206492){return db[_0x525b('0x16')]['create'](_0x1cc987['body'],{'raw':_0x1cc987['options']?_0x1cc987[_0x525b('0x17')][_0x525b('0x18')]===undefined?!![]:![]:!![]})[_0x525b('0xb')](function(_0xe41f69){logger[_0x525b('0xc')](_0x525b('0x15'),_0x1cc987);logger[_0x525b('0x19')](_0x525b('0x15'),_0x1cc987,JSON[_0x525b('0xe')](_0xe41f69));_0x19eabd(_0xe41f69);})['catch'](function(_0x22b7f3){logger[_0x525b('0xf')](_0x525b('0x15'),_0x22b7f3['message'],_0x1cc987);_0x206492(_0x4c4d33[_0x525b('0xf')](0x1f4,_0x22b7f3[_0x525b('0x11')]));});});};exports[_0x525b('0x1a')]=function(_0x4bfd2b){var _0x497ca8=this;return new Promise(function(_0x44147b,_0x9858df){return db[_0x525b('0x16')][_0x525b('0x1b')]({'raw':_0x4bfd2b[_0x525b('0x17')]?_0x4bfd2b[_0x525b('0x17')][_0x525b('0x18')]===undefined?!![]:![]:!![],'where':_0x4bfd2b[_0x525b('0x17')]?_0x4bfd2b[_0x525b('0x17')][_0x525b('0x1c')]||null:null,'attributes':[[db[_0x525b('0x1d')]['fn'](_0x525b('0x1e'),db['sequelize']['col']('id')),_0x525b('0x1f')],[db['sequelize']['fn'](_0x525b('0x1e'),db[_0x525b('0x1d')]['fn']('IF',db[_0x525b('0x1d')]['literal']('`state`\x20=\x204,\x201,\x20null'))),_0x525b('0x20')],[db[_0x525b('0x1d')]['fn'](_0x525b('0x1e'),db[_0x525b('0x1d')]['fn']('IF',db[_0x525b('0x1d')]['literal'](_0x525b('0x21')))),_0x525b('0x22')],[db[_0x525b('0x1d')]['fn']('COUNT',db[_0x525b('0x1d')]['fn']('IF',db[_0x525b('0x1d')][_0x525b('0x23')](_0x525b('0x24')))),_0x525b('0x25')],[db[_0x525b('0x1d')]['fn']('AVG',db[_0x525b('0x1d')]['fn']('IF',db[_0x525b('0x1d')][_0x525b('0x23')](_0x525b('0x26')))),_0x525b('0x27')],[db[_0x525b('0x1d')]['fn'](_0x525b('0x28'),db[_0x525b('0x1d')]['fn']('IF',db[_0x525b('0x1d')]['literal']('`state`\x20=\x204,\x20`talktime`,\x20null'))),_0x525b('0x29')]]})['then'](function(_0x4f9bf5){logger[_0x525b('0xc')]('AvgHandleTime',_0x4bfd2b);logger['debug']('AvgHandleTime',_0x4bfd2b,JSON[_0x525b('0xe')](_0x4f9bf5));_0x44147b(_0x4f9bf5);})[_0x525b('0x14')](function(_0x21582c){logger[_0x525b('0xf')]('AvgHandleTime',_0x21582c[_0x525b('0x11')],_0x4bfd2b);_0x9858df(_0x497ca8[_0x525b('0xf')](0x1f4,_0x21582c[_0x525b('0x11')]));});});};exports[_0x525b('0x2a')]=function(_0x3dc8da){var _0x2f5a49=this;return new Promise(function(_0x44f08a,_0xd75027){return db[_0x525b('0x16')][_0x525b('0x1b')]({'raw':_0x3dc8da[_0x525b('0x17')]?_0x3dc8da[_0x525b('0x17')][_0x525b('0x18')]===undefined?!![]:![]:!![],'where':_0x3dc8da[_0x525b('0x17')]?_0x3dc8da[_0x525b('0x17')]['where']||null:null,'attributes':[['campaign',_0x525b('0x2b')],[db[_0x525b('0x1d')]['fn'](_0x525b('0x1e'),db[_0x525b('0x1d')]['fn']('IF',db[_0x525b('0x1d')]['literal'](_0x525b('0x2c')))),_0x525b('0x2d')],[db[_0x525b('0x1d')]['fn'](_0x525b('0x1e'),db[_0x525b('0x1d')]['fn']('IF',db[_0x525b('0x1d')][_0x525b('0x23')](_0x525b('0x2e')))),_0x525b('0x2f')],[db[_0x525b('0x1d')]['fn'](_0x525b('0x1e'),db['sequelize']['fn']('IF',db['sequelize'][_0x525b('0x23')]('`state`\x20=\x204,\x201,\x20null'))),_0x525b('0x30')],[db['sequelize']['fn']('COUNT',db[_0x525b('0x1d')]['fn']('IF',db[_0x525b('0x1d')][_0x525b('0x23')](_0x525b('0x31')))),'outboundBusyCallsDay'],[db[_0x525b('0x1d')]['fn'](_0x525b('0x1e'),db[_0x525b('0x1d')]['fn']('IF',db[_0x525b('0x1d')][_0x525b('0x23')](_0x525b('0x32')))),_0x525b('0x33')],[db['sequelize']['fn'](_0x525b('0x1e'),db['sequelize']['fn']('IF',db[_0x525b('0x1d')][_0x525b('0x23')](_0x525b('0x34')))),_0x525b('0x35')],[db['sequelize']['fn']('COUNT',db[_0x525b('0x1d')]['fn']('IF',db[_0x525b('0x1d')]['literal'](_0x525b('0x36')))),_0x525b('0x37')],[db[_0x525b('0x1d')]['fn'](_0x525b('0x1e'),db[_0x525b('0x1d')]['fn']('IF',db[_0x525b('0x1d')]['literal'](_0x525b('0x38')))),_0x525b('0x39')],[db[_0x525b('0x1d')]['fn']('COUNT',db[_0x525b('0x1d')]['fn']('IF',db[_0x525b('0x1d')][_0x525b('0x23')](_0x525b('0x3a')))),'outboundBlacklistCallsDay'],[db['sequelize']['fn'](_0x525b('0x1e'),db['sequelize']['fn']('IF',db[_0x525b('0x1d')]['literal'](_0x525b('0x3b')))),'outboundOriginateFailureCallsDay'],[db[_0x525b('0x1d')]['fn'](_0x525b('0x1e'),db[_0x525b('0x1d')]['fn']('IF',db[_0x525b('0x1d')][_0x525b('0x23')]('`state`\x20=\x2018,\x201,\x20null'))),_0x525b('0x3c')],[db[_0x525b('0x1d')]['fn']('COUNT',db[_0x525b('0x1d')]['fn']('IF',db[_0x525b('0x1d')][_0x525b('0x23')](_0x525b('0x3d')))),_0x525b('0x3e')],[db[_0x525b('0x1d')]['fn'](_0x525b('0x1e'),db[_0x525b('0x1d')]['fn']('IF',db[_0x525b('0x1d')][_0x525b('0x23')](_0x525b('0x3f')))),_0x525b('0x3c')],[db[_0x525b('0x1d')]['fn'](_0x525b('0x1e'),db[_0x525b('0x1d')]['fn']('IF',db['sequelize']['literal'](_0x525b('0x40')))),_0x525b('0x41')]],'group':['campaign']})[_0x525b('0xb')](function(_0x482372){logger[_0x525b('0xc')](_0x525b('0x2a'),_0x3dc8da);logger[_0x525b('0x19')](_0x525b('0x2a'),_0x3dc8da,JSON['stringify'](_0x482372));_0x44f08a(_0x482372);})[_0x525b('0x14')](function(_0x445eaa){logger['error'](_0x525b('0x2a'),_0x445eaa[_0x525b('0x11')],_0x3dc8da);_0xd75027(_0x2f5a49['error'](0x1f4,_0x445eaa[_0x525b('0x11')]));});});};exports[_0x525b('0x42')]=function(_0x53b05e){var _0x3f45c6=this;return new Promise(function(_0x1f0d3b,_0x132391){return db[_0x525b('0x16')][_0x525b('0x1b')]({'raw':_0x53b05e[_0x525b('0x17')]?_0x53b05e[_0x525b('0x17')][_0x525b('0x18')]===undefined?!![]:![]:!![],'where':_0x53b05e[_0x525b('0x17')]?_0x53b05e[_0x525b('0x17')][_0x525b('0x1c')]||null:null,'attributes':[[_0x525b('0x43'),_0x525b('0x2b')],[db['sequelize']['fn'](_0x525b('0x1e'),db[_0x525b('0x1d')][_0x525b('0x44')]('id')),_0x525b('0x45')],[db['sequelize']['fn'](_0x525b('0x1e'),db[_0x525b('0x1d')]['fn']('IF',db[_0x525b('0x1d')][_0x525b('0x23')](_0x525b('0x46')))),_0x525b('0x47')]],'group':['campaign']})[_0x525b('0xb')](function(_0x9456a1){logger[_0x525b('0xc')](_0x525b('0x42'),_0x53b05e);logger['debug'](_0x525b('0x42'),_0x53b05e,JSON['stringify'](_0x9456a1));_0x1f0d3b(_0x9456a1);})['catch'](function(_0x51dc90){logger['error'](_0x525b('0x42'),_0x51dc90[_0x525b('0x11')],_0x53b05e);_0x132391(_0x3f45c6[_0x525b('0xf')](0x1f4,_0x51dc90[_0x525b('0x11')]));});});};