5644f2c7003ac985a1b4de20fd1dc29dd6c6f4ab
[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 _0x22fb=['moment','randomstring','ioredis','../../mysqldb','../../config/utils','../../config/logger','../../config/environment','jayson/promise','client','http','request','then','info','CmHopperHistory,\x20%s,\x20%s','request\x20sent','debug','CmHopperHistory,\x20%s,\x20%s,\x20%s','code','message','error','result','catch','CmHopperHistory','create','options','raw','CreateCmHopperHistory','stringify','findAll','where','sequelize','COUNT','col','predictiveIntervalTotalCalls','literal','predictiveIntervalAnsweredCalls','predictiveIntervalDroppedCallsTimeout','`state`\x20=\x2011,\x201,\x20null','AVG','`state`\x20=\x204,\x20`talktime`,\x20null','predictiveIntervalAvgTalktime','AvgHandleTime','GetVoiceQueueHopperHistory','`state`\x20=\x200,\x201,\x20null','outboundNoSuchCallsDay','`state`\x20=\x203,\x201,\x20null','outboundNoAnswerCallsDay','`state`\x20=\x204,\x201,\x20null','outboundAnswerCallsDay','`state`\x20=\x205,\x201,\x20null','outboundCongestionCallsDay','`state`\x20=\x2010\x20,\x201,\x20null','outboundDropCallsDayTimeout','outboundDropCallsDayCallersExit','`state`\x20=\x2012,\x201,\x20null','outboundUnknownCallsDay','outboundBlacklistCallsDay','`state`\x20=\x2014,\x201,\x20null','`state`\x20=\x2018,\x201,\x20null','`state`\x20=\x2016,\x201,\x20null','outboundAnswerAgiCallsDay','`state`\x20=\x2020,\x201,\x20null','`state`\x20=\x2022\x20or\x20`state`\x20=\x2023,\x201,\x20null','GetCampaignHopperHistory','name','ivrAnswerCallsDay','campaign'];(function(_0x4dfcdf,_0x122b72){var _0x575bc6=function(_0x377c0f){while(--_0x377c0f){_0x4dfcdf['push'](_0x4dfcdf['shift']());}};_0x575bc6(++_0x122b72);}(_0x22fb,0x192));var _0xb22f=function(_0x122f41,_0x3aa34d){_0x122f41=_0x122f41-0x0;var _0x4183c3=_0x22fb[_0x122f41];return _0x4183c3;};'use strict';var _=require('lodash');var util=require('util');var moment=require(_0xb22f('0x0'));var BPromise=require('bluebird');var rs=require(_0xb22f('0x1'));var fs=require('fs');var Redis=require(_0xb22f('0x2'));var db=require(_0xb22f('0x3'))['db'];var utils=require(_0xb22f('0x4'));var logger=require(_0xb22f('0x5'))('rpc');var config=require(_0xb22f('0x6'));var jayson=require(_0xb22f('0x7'));var client=jayson[_0xb22f('0x8')][_0xb22f('0x9')]({'port':0x232a});function respondWithRpcPromise(_0x412a95,_0x367d4b,_0x47f61a){return new BPromise(function(_0x34433b,_0x22c509){return client[_0xb22f('0xa')](_0x412a95,_0x47f61a)[_0xb22f('0xb')](function(_0x1a3aae){logger[_0xb22f('0xc')](_0xb22f('0xd'),_0x367d4b,_0xb22f('0xe'));logger[_0xb22f('0xf')](_0xb22f('0x10'),_0x367d4b,_0xb22f('0xe'),JSON['stringify'](_0x1a3aae));if(_0x1a3aae['error']){if(_0x1a3aae['error'][_0xb22f('0x11')]===0x1f4){logger['error']('CmHopperHistory,\x20%s,\x20%s',_0x367d4b,_0x1a3aae['error'][_0xb22f('0x12')]);return _0x22c509(_0x1a3aae[_0xb22f('0x13')][_0xb22f('0x12')]);}logger[_0xb22f('0x13')](_0xb22f('0xd'),_0x367d4b,_0x1a3aae[_0xb22f('0x13')]['message']);return _0x34433b(_0x1a3aae[_0xb22f('0x13')]['message']);}else{logger[_0xb22f('0xc')]('CmHopperHistory,\x20%s,\x20%s',_0x367d4b,_0xb22f('0xe'));_0x34433b(_0x1a3aae[_0xb22f('0x14')][_0xb22f('0x12')]);}})[_0xb22f('0x15')](function(_0x447eaf){logger['error'](_0xb22f('0xd'),_0x367d4b,_0x447eaf);_0x22c509(_0x447eaf);});});}exports['CreateCmHopperHistory']=function(_0x252742){var _0x35caec=this;return new Promise(function(_0x2aaec4,_0x1f515d){return db[_0xb22f('0x16')][_0xb22f('0x17')](_0x252742['body'],{'raw':_0x252742[_0xb22f('0x18')]?_0x252742['options'][_0xb22f('0x19')]===undefined?!![]:![]:!![]})[_0xb22f('0xb')](function(_0x316f11){logger[_0xb22f('0xc')](_0xb22f('0x1a'),_0x252742);logger['debug']('CreateCmHopperHistory',_0x252742,JSON[_0xb22f('0x1b')](_0x316f11));_0x2aaec4(_0x316f11);})[_0xb22f('0x15')](function(_0xf34e0d){logger[_0xb22f('0x13')](_0xb22f('0x1a'),_0xf34e0d[_0xb22f('0x12')],_0x252742);_0x1f515d(_0x35caec[_0xb22f('0x13')](0x1f4,_0xf34e0d[_0xb22f('0x12')]));});});};exports['AvgHandleTime']=function(_0x482b3a){var _0x3ab1d8=this;return new Promise(function(_0x33163d,_0x5e1b8c){return db[_0xb22f('0x16')][_0xb22f('0x1c')]({'raw':_0x482b3a['options']?_0x482b3a[_0xb22f('0x18')][_0xb22f('0x19')]===undefined?!![]:![]:!![],'where':_0x482b3a['options']?_0x482b3a[_0xb22f('0x18')][_0xb22f('0x1d')]||null:null,'attributes':[[db[_0xb22f('0x1e')]['fn'](_0xb22f('0x1f'),db[_0xb22f('0x1e')][_0xb22f('0x20')]('id')),_0xb22f('0x21')],[db[_0xb22f('0x1e')]['fn']('COUNT',db['sequelize']['fn']('IF',db['sequelize'][_0xb22f('0x22')]('`state`\x20=\x204,\x201,\x20null'))),_0xb22f('0x23')],[db[_0xb22f('0x1e')]['fn'](_0xb22f('0x1f'),db[_0xb22f('0x1e')]['fn']('IF',db[_0xb22f('0x1e')]['literal']('`state`\x20=\x2010,\x201,\x20null'))),_0xb22f('0x24')],[db[_0xb22f('0x1e')]['fn'](_0xb22f('0x1f'),db[_0xb22f('0x1e')]['fn']('IF',db['sequelize'][_0xb22f('0x22')](_0xb22f('0x25')))),'predictiveIntervalDroppedCallsCallersExit'],[db[_0xb22f('0x1e')]['fn'](_0xb22f('0x26'),db[_0xb22f('0x1e')]['fn']('IF',db[_0xb22f('0x1e')][_0xb22f('0x22')]('`state`\x20=\x204,\x20`holdtime`,\x20null'))),'predictiveIntervalAvgHoldtime'],[db[_0xb22f('0x1e')]['fn'](_0xb22f('0x26'),db[_0xb22f('0x1e')]['fn']('IF',db[_0xb22f('0x1e')][_0xb22f('0x22')](_0xb22f('0x27')))),_0xb22f('0x28')]]})[_0xb22f('0xb')](function(_0x1016df){logger['info'](_0xb22f('0x29'),_0x482b3a);logger['debug']('AvgHandleTime',_0x482b3a,JSON[_0xb22f('0x1b')](_0x1016df));_0x33163d(_0x1016df);})[_0xb22f('0x15')](function(_0x2a9bf5){logger[_0xb22f('0x13')](_0xb22f('0x29'),_0x2a9bf5[_0xb22f('0x12')],_0x482b3a);_0x5e1b8c(_0x3ab1d8[_0xb22f('0x13')](0x1f4,_0x2a9bf5[_0xb22f('0x12')]));});});};exports[_0xb22f('0x2a')]=function(_0x23c30f){var _0x2b60d8=this;return new Promise(function(_0x17bb65,_0x2ab591){return db['CmHopperHistory']['findAll']({'raw':_0x23c30f[_0xb22f('0x18')]?_0x23c30f[_0xb22f('0x18')][_0xb22f('0x19')]===undefined?!![]:![]:!![],'where':_0x23c30f['options']?_0x23c30f[_0xb22f('0x18')][_0xb22f('0x1d')]||null:null,'attributes':[['campaign','name'],[db[_0xb22f('0x1e')]['fn']('COUNT',db[_0xb22f('0x1e')]['fn']('IF',db['sequelize'][_0xb22f('0x22')](_0xb22f('0x2b')))),_0xb22f('0x2c')],[db['sequelize']['fn'](_0xb22f('0x1f'),db[_0xb22f('0x1e')]['fn']('IF',db[_0xb22f('0x1e')]['literal'](_0xb22f('0x2d')))),_0xb22f('0x2e')],[db[_0xb22f('0x1e')]['fn'](_0xb22f('0x1f'),db[_0xb22f('0x1e')]['fn']('IF',db[_0xb22f('0x1e')][_0xb22f('0x22')](_0xb22f('0x2f')))),_0xb22f('0x30')],[db[_0xb22f('0x1e')]['fn']('COUNT',db[_0xb22f('0x1e')]['fn']('IF',db[_0xb22f('0x1e')]['literal'](_0xb22f('0x31')))),'outboundBusyCallsDay'],[db['sequelize']['fn'](_0xb22f('0x1f'),db[_0xb22f('0x1e')]['fn']('IF',db[_0xb22f('0x1e')][_0xb22f('0x22')]('`state`\x20=\x208,\x201,\x20null'))),_0xb22f('0x32')],[db['sequelize']['fn'](_0xb22f('0x1f'),db[_0xb22f('0x1e')]['fn']('IF',db[_0xb22f('0x1e')][_0xb22f('0x22')](_0xb22f('0x33')))),_0xb22f('0x34')],[db['sequelize']['fn'](_0xb22f('0x1f'),db['sequelize']['fn']('IF',db[_0xb22f('0x1e')][_0xb22f('0x22')]('`state`\x20=\x2011\x20,\x201,\x20null'))),_0xb22f('0x35')],[db[_0xb22f('0x1e')]['fn']('COUNT',db['sequelize']['fn']('IF',db[_0xb22f('0x1e')]['literal'](_0xb22f('0x36')))),_0xb22f('0x37')],[db[_0xb22f('0x1e')]['fn'](_0xb22f('0x1f'),db['sequelize']['fn']('IF',db[_0xb22f('0x1e')][_0xb22f('0x22')]('`state`\x20=\x2013,\x201,\x20null'))),_0xb22f('0x38')],[db[_0xb22f('0x1e')]['fn'](_0xb22f('0x1f'),db[_0xb22f('0x1e')]['fn']('IF',db[_0xb22f('0x1e')]['literal'](_0xb22f('0x39')))),'outboundOriginateFailureCallsDay'],[db['sequelize']['fn'](_0xb22f('0x1f'),db[_0xb22f('0x1e')]['fn']('IF',db[_0xb22f('0x1e')][_0xb22f('0x22')](_0xb22f('0x3a')))),'outboundRejectCallsDay'],[db[_0xb22f('0x1e')]['fn']('COUNT',db[_0xb22f('0x1e')]['fn']('IF',db['sequelize'][_0xb22f('0x22')](_0xb22f('0x3b')))),_0xb22f('0x3c')],[db['sequelize']['fn'](_0xb22f('0x1f'),db[_0xb22f('0x1e')]['fn']('IF',db['sequelize'][_0xb22f('0x22')](_0xb22f('0x3d')))),'outboundRejectCallsDay'],[db['sequelize']['fn'](_0xb22f('0x1f'),db[_0xb22f('0x1e')]['fn']('IF',db['sequelize'][_0xb22f('0x22')](_0xb22f('0x3e')))),'outboundReCallsDay']],'group':['campaign']})[_0xb22f('0xb')](function(_0x3759ef){logger['info'](_0xb22f('0x2a'),_0x23c30f);logger[_0xb22f('0xf')](_0xb22f('0x2a'),_0x23c30f,JSON[_0xb22f('0x1b')](_0x3759ef));_0x17bb65(_0x3759ef);})['catch'](function(_0x30039a){logger[_0xb22f('0x13')]('GetVoiceQueueHopperHistory',_0x30039a['message'],_0x23c30f);_0x2ab591(_0x2b60d8[_0xb22f('0x13')](0x1f4,_0x30039a[_0xb22f('0x12')]));});});};exports[_0xb22f('0x3f')]=function(_0x324c59){var _0x4ec174=this;return new Promise(function(_0x29523c,_0x2257b8){return db['CmHopperHistory'][_0xb22f('0x1c')]({'raw':_0x324c59[_0xb22f('0x18')]?_0x324c59[_0xb22f('0x18')][_0xb22f('0x19')]===undefined?!![]:![]:!![],'where':_0x324c59[_0xb22f('0x18')]?_0x324c59[_0xb22f('0x18')][_0xb22f('0x1d')]||null:null,'attributes':[['campaign',_0xb22f('0x40')],[db[_0xb22f('0x1e')]['fn'](_0xb22f('0x1f'),db[_0xb22f('0x1e')][_0xb22f('0x20')]('id')),'ivrTotalCallsDays'],[db['sequelize']['fn'](_0xb22f('0x1f'),db[_0xb22f('0x1e')]['fn']('IF',db[_0xb22f('0x1e')]['literal'](_0xb22f('0x2f')))),_0xb22f('0x41')]],'group':[_0xb22f('0x42')]})[_0xb22f('0xb')](function(_0x248dec){logger[_0xb22f('0xc')](_0xb22f('0x3f'),_0x324c59);logger[_0xb22f('0xf')]('GetCampaignHopperHistory',_0x324c59,JSON['stringify'](_0x248dec));_0x29523c(_0x248dec);})[_0xb22f('0x15')](function(_0x24caa4){logger['error']('GetCampaignHopperHistory',_0x24caa4[_0xb22f('0x12')],_0x324c59);_0x2257b8(_0x4ec174[_0xb22f('0x13')](0x1f4,_0x24caa4['message']));});});};