Built motion from commit ac06311e.|2.6.28
[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 _0x3dbb=['sequelize','col','predictiveIntervalTotalCalls','literal','`state`\x20=\x204,\x201,\x20null','predictiveIntervalAnsweredCalls','predictiveIntervalDroppedCallsTimeout','predictiveIntervalDroppedCallsCallersExit','AVG','predictiveIntervalAvgHoldtime','`state`\x20=\x204,\x20`talktime`,\x20null','predictiveIntervalAvgTalktime','AvgHandleTime','GetVoiceQueueHopperHistory','findAll','campaign','`state`\x20=\x200,\x201,\x20null','outboundNoSuchCallsDay','`state`\x20=\x203,\x201,\x20null','outboundNoAnswerCallsDay','outboundAnswerCallsDay','outboundBusyCallsDay','`state`\x20=\x208,\x201,\x20null','`state`\x20=\x2010\x20,\x201,\x20null','outboundDropCallsDayTimeout','`state`\x20=\x2012,\x201,\x20null','outboundUnknownCallsDay','`state`\x20=\x2013,\x201,\x20null','outboundBlacklistCallsDay','`state`\x20=\x2014,\x201,\x20null','`state`\x20=\x2018,\x201,\x20null','outboundRejectCallsDay','`state`\x20=\x2020,\x201,\x20null','outboundReCallsDay','GetCampaignHopperHistory','name','ivrTotalCallsDays','ivrAnswerCallsDay','lodash','bluebird','randomstring','../../mysqldb','../../config/utils','../../config/logger','rpc','jayson/promise','then','CmHopperHistory,\x20%s,\x20%s','request\x20sent','debug','stringify','error','code','message','info','result','catch','CreateCmHopperHistory','CmHopperHistory','create','body','options','raw','where','COUNT'];(function(_0x1635ae,_0x5e84be){var _0x38f747=function(_0x27ef79){while(--_0x27ef79){_0x1635ae['push'](_0x1635ae['shift']());}};_0x38f747(++_0x5e84be);}(_0x3dbb,0x67));var _0xb3db=function(_0x2f32c4,_0x2597ba){_0x2f32c4=_0x2f32c4-0x0;var _0x95b5dc=_0x3dbb[_0x2f32c4];return _0x95b5dc;};'use strict';var _=require(_0xb3db('0x0'));var util=require('util');var moment=require('moment');var BPromise=require(_0xb3db('0x1'));var rs=require(_0xb3db('0x2'));var fs=require('fs');var Redis=require('ioredis');var db=require(_0xb3db('0x3'))['db'];var utils=require(_0xb3db('0x4'));var logger=require(_0xb3db('0x5'))(_0xb3db('0x6'));var config=require('../../config/environment');var jayson=require(_0xb3db('0x7'));var client=jayson['client']['http']({'port':0x232a});function respondWithRpcPromise(_0xe5b11b,_0xb11a52,_0x3e6f98){return new BPromise(function(_0x4ab503,_0x20ae30){return client['request'](_0xe5b11b,_0x3e6f98)[_0xb3db('0x8')](function(_0x43fdd4){logger['info'](_0xb3db('0x9'),_0xb11a52,_0xb3db('0xa'));logger[_0xb3db('0xb')]('CmHopperHistory,\x20%s,\x20%s,\x20%s',_0xb11a52,_0xb3db('0xa'),JSON[_0xb3db('0xc')](_0x43fdd4));if(_0x43fdd4[_0xb3db('0xd')]){if(_0x43fdd4[_0xb3db('0xd')][_0xb3db('0xe')]===0x1f4){logger['error'](_0xb3db('0x9'),_0xb11a52,_0x43fdd4['error'][_0xb3db('0xf')]);return _0x20ae30(_0x43fdd4[_0xb3db('0xd')][_0xb3db('0xf')]);}logger['error'](_0xb3db('0x9'),_0xb11a52,_0x43fdd4[_0xb3db('0xd')][_0xb3db('0xf')]);return _0x4ab503(_0x43fdd4['error'][_0xb3db('0xf')]);}else{logger[_0xb3db('0x10')]('CmHopperHistory,\x20%s,\x20%s',_0xb11a52,_0xb3db('0xa'));_0x4ab503(_0x43fdd4[_0xb3db('0x11')][_0xb3db('0xf')]);}})[_0xb3db('0x12')](function(_0x38da8c){logger[_0xb3db('0xd')]('CmHopperHistory,\x20%s,\x20%s',_0xb11a52,_0x38da8c);_0x20ae30(_0x38da8c);});});}exports[_0xb3db('0x13')]=function(_0x40939f){var _0x5dd370=this;return new Promise(function(_0x1e9e84,_0x4210aa){return db[_0xb3db('0x14')][_0xb3db('0x15')](_0x40939f[_0xb3db('0x16')],{'raw':_0x40939f['options']?_0x40939f[_0xb3db('0x17')][_0xb3db('0x18')]===undefined?!![]:![]:!![]})[_0xb3db('0x8')](function(_0x325d53){logger['info'](_0xb3db('0x13'),_0x40939f);logger[_0xb3db('0xb')](_0xb3db('0x13'),_0x40939f,JSON[_0xb3db('0xc')](_0x325d53));_0x1e9e84(_0x325d53);})[_0xb3db('0x12')](function(_0x52d719){logger[_0xb3db('0xd')]('CreateCmHopperHistory',_0x52d719[_0xb3db('0xf')],_0x40939f);_0x4210aa(_0x5dd370[_0xb3db('0xd')](0x1f4,_0x52d719[_0xb3db('0xf')]));});});};exports['AvgHandleTime']=function(_0x42cf59){var _0x391598=this;return new Promise(function(_0x46c69a,_0x2c8e16){return db[_0xb3db('0x14')]['findAll']({'raw':_0x42cf59['options']?_0x42cf59[_0xb3db('0x17')][_0xb3db('0x18')]===undefined?!![]:![]:!![],'where':_0x42cf59[_0xb3db('0x17')]?_0x42cf59[_0xb3db('0x17')][_0xb3db('0x19')]||null:null,'attributes':[[db['sequelize']['fn'](_0xb3db('0x1a'),db[_0xb3db('0x1b')][_0xb3db('0x1c')]('id')),_0xb3db('0x1d')],[db[_0xb3db('0x1b')]['fn'](_0xb3db('0x1a'),db[_0xb3db('0x1b')]['fn']('IF',db[_0xb3db('0x1b')][_0xb3db('0x1e')](_0xb3db('0x1f')))),_0xb3db('0x20')],[db[_0xb3db('0x1b')]['fn'](_0xb3db('0x1a'),db[_0xb3db('0x1b')]['fn']('IF',db[_0xb3db('0x1b')][_0xb3db('0x1e')]('`state`\x20=\x2010,\x201,\x20null'))),_0xb3db('0x21')],[db[_0xb3db('0x1b')]['fn'](_0xb3db('0x1a'),db[_0xb3db('0x1b')]['fn']('IF',db[_0xb3db('0x1b')]['literal']('`state`\x20=\x2011,\x201,\x20null'))),_0xb3db('0x22')],[db[_0xb3db('0x1b')]['fn'](_0xb3db('0x23'),db[_0xb3db('0x1b')]['fn']('IF',db[_0xb3db('0x1b')][_0xb3db('0x1e')]('`state`\x20=\x204,\x20`holdtime`,\x20null'))),_0xb3db('0x24')],[db[_0xb3db('0x1b')]['fn'](_0xb3db('0x23'),db['sequelize']['fn']('IF',db[_0xb3db('0x1b')][_0xb3db('0x1e')](_0xb3db('0x25')))),_0xb3db('0x26')]]})['then'](function(_0x5596ae){logger[_0xb3db('0x10')](_0xb3db('0x27'),_0x42cf59);logger[_0xb3db('0xb')](_0xb3db('0x27'),_0x42cf59,JSON['stringify'](_0x5596ae));_0x46c69a(_0x5596ae);})['catch'](function(_0x3e59e0){logger['error'](_0xb3db('0x27'),_0x3e59e0['message'],_0x42cf59);_0x2c8e16(_0x391598['error'](0x1f4,_0x3e59e0[_0xb3db('0xf')]));});});};exports[_0xb3db('0x28')]=function(_0x555a20){var _0x5a1880=this;return new Promise(function(_0x506f1e,_0x125a0c){return db['CmHopperHistory'][_0xb3db('0x29')]({'raw':_0x555a20[_0xb3db('0x17')]?_0x555a20['options'][_0xb3db('0x18')]===undefined?!![]:![]:!![],'where':_0x555a20[_0xb3db('0x17')]?_0x555a20[_0xb3db('0x17')][_0xb3db('0x19')]||null:null,'attributes':[[_0xb3db('0x2a'),'name'],[db[_0xb3db('0x1b')]['fn'](_0xb3db('0x1a'),db[_0xb3db('0x1b')]['fn']('IF',db[_0xb3db('0x1b')]['literal'](_0xb3db('0x2b')))),_0xb3db('0x2c')],[db['sequelize']['fn'](_0xb3db('0x1a'),db[_0xb3db('0x1b')]['fn']('IF',db['sequelize']['literal'](_0xb3db('0x2d')))),_0xb3db('0x2e')],[db['sequelize']['fn']('COUNT',db['sequelize']['fn']('IF',db['sequelize'][_0xb3db('0x1e')](_0xb3db('0x1f')))),_0xb3db('0x2f')],[db['sequelize']['fn'](_0xb3db('0x1a'),db[_0xb3db('0x1b')]['fn']('IF',db[_0xb3db('0x1b')]['literal']('`state`\x20=\x205,\x201,\x20null'))),_0xb3db('0x30')],[db['sequelize']['fn'](_0xb3db('0x1a'),db[_0xb3db('0x1b')]['fn']('IF',db[_0xb3db('0x1b')][_0xb3db('0x1e')](_0xb3db('0x31')))),'outboundCongestionCallsDay'],[db[_0xb3db('0x1b')]['fn'](_0xb3db('0x1a'),db[_0xb3db('0x1b')]['fn']('IF',db[_0xb3db('0x1b')]['literal'](_0xb3db('0x32')))),_0xb3db('0x33')],[db[_0xb3db('0x1b')]['fn'](_0xb3db('0x1a'),db[_0xb3db('0x1b')]['fn']('IF',db[_0xb3db('0x1b')][_0xb3db('0x1e')]('`state`\x20=\x2011\x20,\x201,\x20null'))),'outboundDropCallsDayCallersExit'],[db['sequelize']['fn'](_0xb3db('0x1a'),db['sequelize']['fn']('IF',db[_0xb3db('0x1b')][_0xb3db('0x1e')](_0xb3db('0x34')))),_0xb3db('0x35')],[db[_0xb3db('0x1b')]['fn']('COUNT',db[_0xb3db('0x1b')]['fn']('IF',db[_0xb3db('0x1b')][_0xb3db('0x1e')](_0xb3db('0x36')))),_0xb3db('0x37')],[db[_0xb3db('0x1b')]['fn'](_0xb3db('0x1a'),db[_0xb3db('0x1b')]['fn']('IF',db[_0xb3db('0x1b')][_0xb3db('0x1e')](_0xb3db('0x38')))),'outboundOriginateFailureCallsDay'],[db[_0xb3db('0x1b')]['fn'](_0xb3db('0x1a'),db[_0xb3db('0x1b')]['fn']('IF',db[_0xb3db('0x1b')][_0xb3db('0x1e')](_0xb3db('0x39')))),_0xb3db('0x3a')],[db[_0xb3db('0x1b')]['fn'](_0xb3db('0x1a'),db[_0xb3db('0x1b')]['fn']('IF',db[_0xb3db('0x1b')][_0xb3db('0x1e')]('`state`\x20=\x2016,\x201,\x20null'))),'outboundAnswerAgiCallsDay'],[db[_0xb3db('0x1b')]['fn'](_0xb3db('0x1a'),db[_0xb3db('0x1b')]['fn']('IF',db[_0xb3db('0x1b')][_0xb3db('0x1e')](_0xb3db('0x3b')))),_0xb3db('0x3a')],[db[_0xb3db('0x1b')]['fn']('COUNT',db['sequelize']['fn']('IF',db[_0xb3db('0x1b')][_0xb3db('0x1e')]('`state`\x20=\x2022\x20or\x20`state`\x20=\x2023,\x201,\x20null'))),_0xb3db('0x3c')]],'group':[_0xb3db('0x2a')]})[_0xb3db('0x8')](function(_0x4a9209){logger[_0xb3db('0x10')](_0xb3db('0x28'),_0x555a20);logger['debug'](_0xb3db('0x28'),_0x555a20,JSON[_0xb3db('0xc')](_0x4a9209));_0x506f1e(_0x4a9209);})[_0xb3db('0x12')](function(_0x31dd93){logger[_0xb3db('0xd')]('GetVoiceQueueHopperHistory',_0x31dd93['message'],_0x555a20);_0x125a0c(_0x5a1880[_0xb3db('0xd')](0x1f4,_0x31dd93[_0xb3db('0xf')]));});});};exports[_0xb3db('0x3d')]=function(_0x4be0cd){var _0xd1a45=this;return new Promise(function(_0x4cf00c,_0x329bc8){return db[_0xb3db('0x14')][_0xb3db('0x29')]({'raw':_0x4be0cd[_0xb3db('0x17')]?_0x4be0cd['options'][_0xb3db('0x18')]===undefined?!![]:![]:!![],'where':_0x4be0cd[_0xb3db('0x17')]?_0x4be0cd['options'][_0xb3db('0x19')]||null:null,'attributes':[[_0xb3db('0x2a'),_0xb3db('0x3e')],[db[_0xb3db('0x1b')]['fn'](_0xb3db('0x1a'),db[_0xb3db('0x1b')]['col']('id')),_0xb3db('0x3f')],[db[_0xb3db('0x1b')]['fn'](_0xb3db('0x1a'),db['sequelize']['fn']('IF',db[_0xb3db('0x1b')][_0xb3db('0x1e')](_0xb3db('0x1f')))),_0xb3db('0x40')]],'group':['campaign']})[_0xb3db('0x8')](function(_0x1075fa){logger[_0xb3db('0x10')](_0xb3db('0x3d'),_0x4be0cd);logger[_0xb3db('0xb')]('GetCampaignHopperHistory',_0x4be0cd,JSON[_0xb3db('0xc')](_0x1075fa));_0x4cf00c(_0x1075fa);})[_0xb3db('0x12')](function(_0x9a62f6){logger[_0xb3db('0xd')]('GetCampaignHopperHistory',_0x9a62f6['message'],_0x4be0cd);_0x329bc8(_0xd1a45['error'](0x1f4,_0x9a62f6[_0xb3db('0xf')]));});});};