Built motion from commit 355702c8.|2.5.41
[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 _0x2c6a=['name','outboundNoSuchCallsDay','`state`\x20=\x203,\x201,\x20null','outboundNoAnswerCallsDay','outboundAnswerCallsDay','outboundBusyCallsDay','outboundCongestionCallsDay','`state`\x20=\x2010\x20,\x201,\x20null','outboundDropCallsDayTimeout','`state`\x20=\x2011\x20,\x201,\x20null','`state`\x20=\x2012,\x201,\x20null','outboundUnknownCallsDay','`state`\x20=\x2013,\x201,\x20null','outboundBlacklistCallsDay','`state`\x20=\x2014,\x201,\x20null','outboundOriginateFailureCallsDay','`state`\x20=\x2018,\x201,\x20null','outboundAnswerAgiCallsDay','`state`\x20=\x2020,\x201,\x20null','outboundRejectCallsDay','`state`\x20=\x2022\x20or\x20`state`\x20=\x2023,\x201,\x20null','outboundReCallsDay','campaign','ivrTotalCallsDays','GetCampaignHopperHistory','lodash','util','moment','bluebird','../../mysqldb','../../config/logger','rpc','../../config/environment','jayson/promise','request','then','info','CmHopperHistory,\x20%s,\x20%s','request\x20sent','debug','error','code','message','result','catch','CreateCmHopperHistory','CmHopperHistory','create','body','options','raw','AvgHandleTime','findAll','where','sequelize','COUNT','col','predictiveIntervalTotalCalls','literal','`state`\x20=\x204,\x201,\x20null','predictiveIntervalAnsweredCalls','`state`\x20=\x2010,\x201,\x20null','predictiveIntervalDroppedCallsTimeout','`state`\x20=\x2011,\x201,\x20null','predictiveIntervalDroppedCallsCallersExit','AVG','`state`\x20=\x204,\x20`holdtime`,\x20null','predictiveIntervalAvgHoldtime','predictiveIntervalAvgTalktime','stringify','GetVoiceQueueHopperHistory'];(function(_0x215cca,_0x3cb18c){var _0x2c971e=function(_0x3ea5ea){while(--_0x3ea5ea){_0x215cca['push'](_0x215cca['shift']());}};_0x2c971e(++_0x3cb18c);}(_0x2c6a,0xa7));var _0xa2c6=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x2c6a[_0x3dd15e];return _0x231fd0;};'use strict';var _=require(_0xa2c6('0x0'));var util=require(_0xa2c6('0x1'));var moment=require(_0xa2c6('0x2'));var BPromise=require(_0xa2c6('0x3'));var rs=require('randomstring');var fs=require('fs');var Redis=require('ioredis');var db=require(_0xa2c6('0x4'))['db'];var utils=require('../../config/utils');var logger=require(_0xa2c6('0x5'))(_0xa2c6('0x6'));var config=require(_0xa2c6('0x7'));var jayson=require(_0xa2c6('0x8'));var client=jayson['client']['http']({'port':0x232a});function respondWithRpcPromise(_0x1a9131,_0x1fa65f,_0x3d1aa0){return new BPromise(function(_0x11aa17,_0x3c2894){return client[_0xa2c6('0x9')](_0x1a9131,_0x3d1aa0)[_0xa2c6('0xa')](function(_0x4b0bdf){logger[_0xa2c6('0xb')](_0xa2c6('0xc'),_0x1fa65f,_0xa2c6('0xd'));logger[_0xa2c6('0xe')]('CmHopperHistory,\x20%s,\x20%s,\x20%s',_0x1fa65f,_0xa2c6('0xd'),JSON['stringify'](_0x4b0bdf));if(_0x4b0bdf[_0xa2c6('0xf')]){if(_0x4b0bdf[_0xa2c6('0xf')][_0xa2c6('0x10')]===0x1f4){logger[_0xa2c6('0xf')]('CmHopperHistory,\x20%s,\x20%s',_0x1fa65f,_0x4b0bdf[_0xa2c6('0xf')][_0xa2c6('0x11')]);return _0x3c2894(_0x4b0bdf[_0xa2c6('0xf')]['message']);}logger[_0xa2c6('0xf')](_0xa2c6('0xc'),_0x1fa65f,_0x4b0bdf[_0xa2c6('0xf')][_0xa2c6('0x11')]);return _0x11aa17(_0x4b0bdf[_0xa2c6('0xf')]['message']);}else{logger[_0xa2c6('0xb')](_0xa2c6('0xc'),_0x1fa65f,_0xa2c6('0xd'));_0x11aa17(_0x4b0bdf[_0xa2c6('0x12')][_0xa2c6('0x11')]);}})[_0xa2c6('0x13')](function(_0x4fd220){logger[_0xa2c6('0xf')]('CmHopperHistory,\x20%s,\x20%s',_0x1fa65f,_0x4fd220);_0x3c2894(_0x4fd220);});});}exports[_0xa2c6('0x14')]=function(_0x114424){var _0x1cf0a9=this;return new Promise(function(_0x2479bd,_0x372ce3){return db[_0xa2c6('0x15')][_0xa2c6('0x16')](_0x114424[_0xa2c6('0x17')],{'raw':_0x114424['options']?_0x114424[_0xa2c6('0x18')][_0xa2c6('0x19')]===undefined?!![]:![]:!![]})[_0xa2c6('0xa')](function(_0x21ec92){logger[_0xa2c6('0xb')]('CreateCmHopperHistory',_0x114424);logger[_0xa2c6('0xe')](_0xa2c6('0x14'),_0x114424,JSON['stringify'](_0x21ec92));_0x2479bd(_0x21ec92);})[_0xa2c6('0x13')](function(_0x58530d){logger[_0xa2c6('0xf')](_0xa2c6('0x14'),_0x58530d['message'],_0x114424);_0x372ce3(_0x1cf0a9[_0xa2c6('0xf')](0x1f4,_0x58530d['message']));});});};exports[_0xa2c6('0x1a')]=function(_0x168de7){var _0x1bed8a=this;return new Promise(function(_0x3daebe,_0x376967){return db['CmHopperHistory'][_0xa2c6('0x1b')]({'raw':_0x168de7['options']?_0x168de7[_0xa2c6('0x18')][_0xa2c6('0x19')]===undefined?!![]:![]:!![],'where':_0x168de7['options']?_0x168de7[_0xa2c6('0x18')][_0xa2c6('0x1c')]||null:null,'attributes':[[db[_0xa2c6('0x1d')]['fn'](_0xa2c6('0x1e'),db[_0xa2c6('0x1d')][_0xa2c6('0x1f')]('id')),_0xa2c6('0x20')],[db[_0xa2c6('0x1d')]['fn'](_0xa2c6('0x1e'),db['sequelize']['fn']('IF',db[_0xa2c6('0x1d')][_0xa2c6('0x21')](_0xa2c6('0x22')))),_0xa2c6('0x23')],[db['sequelize']['fn']('COUNT',db['sequelize']['fn']('IF',db['sequelize'][_0xa2c6('0x21')](_0xa2c6('0x24')))),_0xa2c6('0x25')],[db[_0xa2c6('0x1d')]['fn']('COUNT',db[_0xa2c6('0x1d')]['fn']('IF',db[_0xa2c6('0x1d')][_0xa2c6('0x21')](_0xa2c6('0x26')))),_0xa2c6('0x27')],[db[_0xa2c6('0x1d')]['fn'](_0xa2c6('0x28'),db[_0xa2c6('0x1d')]['fn']('IF',db[_0xa2c6('0x1d')]['literal'](_0xa2c6('0x29')))),_0xa2c6('0x2a')],[db[_0xa2c6('0x1d')]['fn']('AVG',db[_0xa2c6('0x1d')]['fn']('IF',db[_0xa2c6('0x1d')]['literal']('`state`\x20=\x204,\x20`talktime`,\x20null'))),_0xa2c6('0x2b')]]})[_0xa2c6('0xa')](function(_0x37c16c){logger[_0xa2c6('0xb')]('AvgHandleTime',_0x168de7);logger[_0xa2c6('0xe')](_0xa2c6('0x1a'),_0x168de7,JSON[_0xa2c6('0x2c')](_0x37c16c));_0x3daebe(_0x37c16c);})[_0xa2c6('0x13')](function(_0x23b99e){logger[_0xa2c6('0xf')](_0xa2c6('0x1a'),_0x23b99e['message'],_0x168de7);_0x376967(_0x1bed8a[_0xa2c6('0xf')](0x1f4,_0x23b99e[_0xa2c6('0x11')]));});});};exports[_0xa2c6('0x2d')]=function(_0x18992a){var _0x41c4c7=this;return new Promise(function(_0x2c5809,_0x2f5e6e){return db['CmHopperHistory'][_0xa2c6('0x1b')]({'raw':_0x18992a[_0xa2c6('0x18')]?_0x18992a['options'][_0xa2c6('0x19')]===undefined?!![]:![]:!![],'where':_0x18992a['options']?_0x18992a[_0xa2c6('0x18')][_0xa2c6('0x1c')]||null:null,'attributes':[['campaign',_0xa2c6('0x2e')],[db[_0xa2c6('0x1d')]['fn']('COUNT',db[_0xa2c6('0x1d')]['fn']('IF',db[_0xa2c6('0x1d')][_0xa2c6('0x21')]('`state`\x20=\x200,\x201,\x20null'))),_0xa2c6('0x2f')],[db['sequelize']['fn']('COUNT',db[_0xa2c6('0x1d')]['fn']('IF',db[_0xa2c6('0x1d')][_0xa2c6('0x21')](_0xa2c6('0x30')))),_0xa2c6('0x31')],[db[_0xa2c6('0x1d')]['fn']('COUNT',db['sequelize']['fn']('IF',db[_0xa2c6('0x1d')][_0xa2c6('0x21')]('`state`\x20=\x204,\x201,\x20null'))),_0xa2c6('0x32')],[db['sequelize']['fn']('COUNT',db['sequelize']['fn']('IF',db[_0xa2c6('0x1d')][_0xa2c6('0x21')]('`state`\x20=\x205,\x201,\x20null'))),_0xa2c6('0x33')],[db[_0xa2c6('0x1d')]['fn'](_0xa2c6('0x1e'),db[_0xa2c6('0x1d')]['fn']('IF',db['sequelize'][_0xa2c6('0x21')]('`state`\x20=\x208,\x201,\x20null'))),_0xa2c6('0x34')],[db[_0xa2c6('0x1d')]['fn'](_0xa2c6('0x1e'),db['sequelize']['fn']('IF',db['sequelize'][_0xa2c6('0x21')](_0xa2c6('0x35')))),_0xa2c6('0x36')],[db[_0xa2c6('0x1d')]['fn'](_0xa2c6('0x1e'),db[_0xa2c6('0x1d')]['fn']('IF',db[_0xa2c6('0x1d')][_0xa2c6('0x21')](_0xa2c6('0x37')))),'outboundDropCallsDayCallersExit'],[db['sequelize']['fn'](_0xa2c6('0x1e'),db['sequelize']['fn']('IF',db[_0xa2c6('0x1d')]['literal'](_0xa2c6('0x38')))),_0xa2c6('0x39')],[db[_0xa2c6('0x1d')]['fn'](_0xa2c6('0x1e'),db[_0xa2c6('0x1d')]['fn']('IF',db[_0xa2c6('0x1d')]['literal'](_0xa2c6('0x3a')))),_0xa2c6('0x3b')],[db['sequelize']['fn']('COUNT',db[_0xa2c6('0x1d')]['fn']('IF',db['sequelize'][_0xa2c6('0x21')](_0xa2c6('0x3c')))),_0xa2c6('0x3d')],[db['sequelize']['fn'](_0xa2c6('0x1e'),db[_0xa2c6('0x1d')]['fn']('IF',db[_0xa2c6('0x1d')][_0xa2c6('0x21')](_0xa2c6('0x3e')))),'outboundRejectCallsDay'],[db['sequelize']['fn'](_0xa2c6('0x1e'),db[_0xa2c6('0x1d')]['fn']('IF',db['sequelize']['literal']('`state`\x20=\x2016,\x201,\x20null'))),_0xa2c6('0x3f')],[db[_0xa2c6('0x1d')]['fn']('COUNT',db[_0xa2c6('0x1d')]['fn']('IF',db['sequelize'][_0xa2c6('0x21')](_0xa2c6('0x40')))),_0xa2c6('0x41')],[db[_0xa2c6('0x1d')]['fn'](_0xa2c6('0x1e'),db[_0xa2c6('0x1d')]['fn']('IF',db[_0xa2c6('0x1d')]['literal'](_0xa2c6('0x42')))),_0xa2c6('0x43')]],'group':[_0xa2c6('0x44')]})[_0xa2c6('0xa')](function(_0x540cc7){logger[_0xa2c6('0xb')]('GetVoiceQueueHopperHistory',_0x18992a);logger[_0xa2c6('0xe')](_0xa2c6('0x2d'),_0x18992a,JSON[_0xa2c6('0x2c')](_0x540cc7));_0x2c5809(_0x540cc7);})[_0xa2c6('0x13')](function(_0x2b69d5){logger['error']('GetVoiceQueueHopperHistory',_0x2b69d5[_0xa2c6('0x11')],_0x18992a);_0x2f5e6e(_0x41c4c7[_0xa2c6('0xf')](0x1f4,_0x2b69d5[_0xa2c6('0x11')]));});});};exports['GetCampaignHopperHistory']=function(_0x448717){var _0x78e463=this;return new Promise(function(_0xd3806f,_0xb34361){return db[_0xa2c6('0x15')][_0xa2c6('0x1b')]({'raw':_0x448717['options']?_0x448717['options'][_0xa2c6('0x19')]===undefined?!![]:![]:!![],'where':_0x448717[_0xa2c6('0x18')]?_0x448717['options'][_0xa2c6('0x1c')]||null:null,'attributes':[['campaign',_0xa2c6('0x2e')],[db[_0xa2c6('0x1d')]['fn'](_0xa2c6('0x1e'),db[_0xa2c6('0x1d')][_0xa2c6('0x1f')]('id')),_0xa2c6('0x45')],[db[_0xa2c6('0x1d')]['fn']('COUNT',db[_0xa2c6('0x1d')]['fn']('IF',db[_0xa2c6('0x1d')][_0xa2c6('0x21')](_0xa2c6('0x22')))),'ivrAnswerCallsDay']],'group':[_0xa2c6('0x44')]})[_0xa2c6('0xa')](function(_0x30e1c1){logger['info'](_0xa2c6('0x46'),_0x448717);logger[_0xa2c6('0xe')](_0xa2c6('0x46'),_0x448717,JSON['stringify'](_0x30e1c1));_0xd3806f(_0x30e1c1);})['catch'](function(_0x417ba8){logger['error'](_0xa2c6('0x46'),_0x417ba8['message'],_0x448717);_0xb34361(_0x78e463[_0xa2c6('0xf')](0x1f4,_0x417ba8[_0xa2c6('0x11')]));});});};