Built motion from commit 753c950e.|2.5.42
[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 _0x2821=['rpc','../../config/environment','client','http','request','info','CmHopperHistory,\x20%s,\x20%s','request\x20sent','debug','stringify','error','code','message','result','catch','CreateCmHopperHistory','CmHopperHistory','create','then','AvgHandleTime','findAll','options','raw','where','sequelize','col','predictiveIntervalTotalCalls','COUNT','literal','`state`\x20=\x2010,\x201,\x20null','predictiveIntervalDroppedCallsTimeout','predictiveIntervalDroppedCallsCallersExit','AVG','`state`\x20=\x204,\x20`holdtime`,\x20null','predictiveIntervalAvgHoldtime','`state`\x20=\x204,\x20`talktime`,\x20null','predictiveIntervalAvgTalktime','GetVoiceQueueHopperHistory','campaign','`state`\x20=\x200,\x201,\x20null','outboundNoSuchCallsDay','`state`\x20=\x203,\x201,\x20null','`state`\x20=\x204,\x201,\x20null','outboundAnswerCallsDay','`state`\x20=\x205,\x201,\x20null','outboundBusyCallsDay','`state`\x20=\x208,\x201,\x20null','outboundCongestionCallsDay','`state`\x20=\x2010\x20,\x201,\x20null','outboundDropCallsDayTimeout','outboundDropCallsDayCallersExit','outboundUnknownCallsDay','outboundBlacklistCallsDay','`state`\x20=\x2014,\x201,\x20null','outboundOriginateFailureCallsDay','`state`\x20=\x2018,\x201,\x20null','outboundRejectCallsDay','outboundAnswerAgiCallsDay','`state`\x20=\x2022\x20or\x20`state`\x20=\x2023,\x201,\x20null','name','ivrTotalCallsDays','ivrAnswerCallsDay','GetCampaignHopperHistory','lodash','util','moment','bluebird','randomstring','ioredis','../../mysqldb','../../config/utils','../../config/logger'];(function(_0x5ddb1c,_0x5ea4df){var _0x354adc=function(_0x2dfb1f){while(--_0x2dfb1f){_0x5ddb1c['push'](_0x5ddb1c['shift']());}};_0x354adc(++_0x5ea4df);}(_0x2821,0x87));var _0x1282=function(_0x4f2058,_0x1c08f4){_0x4f2058=_0x4f2058-0x0;var _0x55237e=_0x2821[_0x4f2058];return _0x55237e;};'use strict';var _=require(_0x1282('0x0'));var util=require(_0x1282('0x1'));var moment=require(_0x1282('0x2'));var BPromise=require(_0x1282('0x3'));var rs=require(_0x1282('0x4'));var fs=require('fs');var Redis=require(_0x1282('0x5'));var db=require(_0x1282('0x6'))['db'];var utils=require(_0x1282('0x7'));var logger=require(_0x1282('0x8'))(_0x1282('0x9'));var config=require(_0x1282('0xa'));var jayson=require('jayson/promise');var client=jayson[_0x1282('0xb')][_0x1282('0xc')]({'port':0x232a});function respondWithRpcPromise(_0x293947,_0x13beb5,_0xa4eee9){return new BPromise(function(_0x1a8666,_0x18d69a){return client[_0x1282('0xd')](_0x293947,_0xa4eee9)['then'](function(_0x41c458){logger[_0x1282('0xe')](_0x1282('0xf'),_0x13beb5,_0x1282('0x10'));logger[_0x1282('0x11')]('CmHopperHistory,\x20%s,\x20%s,\x20%s',_0x13beb5,_0x1282('0x10'),JSON[_0x1282('0x12')](_0x41c458));if(_0x41c458['error']){if(_0x41c458[_0x1282('0x13')][_0x1282('0x14')]===0x1f4){logger['error'](_0x1282('0xf'),_0x13beb5,_0x41c458['error']['message']);return _0x18d69a(_0x41c458[_0x1282('0x13')][_0x1282('0x15')]);}logger[_0x1282('0x13')](_0x1282('0xf'),_0x13beb5,_0x41c458['error']['message']);return _0x1a8666(_0x41c458['error'][_0x1282('0x15')]);}else{logger[_0x1282('0xe')](_0x1282('0xf'),_0x13beb5,_0x1282('0x10'));_0x1a8666(_0x41c458[_0x1282('0x16')][_0x1282('0x15')]);}})[_0x1282('0x17')](function(_0x116ef1){logger['error'](_0x1282('0xf'),_0x13beb5,_0x116ef1);_0x18d69a(_0x116ef1);});});}exports[_0x1282('0x18')]=function(_0x518733){var _0x48c857=this;return new Promise(function(_0xebc97e,_0x4e3ec7){return db[_0x1282('0x19')][_0x1282('0x1a')](_0x518733['body'],{'raw':_0x518733['options']?_0x518733['options']['raw']===undefined?!![]:![]:!![]})[_0x1282('0x1b')](function(_0x2f4e4a){logger[_0x1282('0xe')](_0x1282('0x18'),_0x518733);logger[_0x1282('0x11')](_0x1282('0x18'),_0x518733,JSON[_0x1282('0x12')](_0x2f4e4a));_0xebc97e(_0x2f4e4a);})[_0x1282('0x17')](function(_0x153159){logger[_0x1282('0x13')]('CreateCmHopperHistory',_0x153159[_0x1282('0x15')],_0x518733);_0x4e3ec7(_0x48c857['error'](0x1f4,_0x153159[_0x1282('0x15')]));});});};exports[_0x1282('0x1c')]=function(_0x158123){var _0x3c116f=this;return new Promise(function(_0x22f8d5,_0x59486f){return db[_0x1282('0x19')][_0x1282('0x1d')]({'raw':_0x158123[_0x1282('0x1e')]?_0x158123[_0x1282('0x1e')][_0x1282('0x1f')]===undefined?!![]:![]:!![],'where':_0x158123[_0x1282('0x1e')]?_0x158123[_0x1282('0x1e')][_0x1282('0x20')]||null:null,'attributes':[[db['sequelize']['fn']('COUNT',db[_0x1282('0x21')][_0x1282('0x22')]('id')),_0x1282('0x23')],[db['sequelize']['fn'](_0x1282('0x24'),db['sequelize']['fn']('IF',db[_0x1282('0x21')]['literal']('`state`\x20=\x204,\x201,\x20null'))),'predictiveIntervalAnsweredCalls'],[db['sequelize']['fn']('COUNT',db['sequelize']['fn']('IF',db[_0x1282('0x21')][_0x1282('0x25')](_0x1282('0x26')))),_0x1282('0x27')],[db[_0x1282('0x21')]['fn'](_0x1282('0x24'),db[_0x1282('0x21')]['fn']('IF',db[_0x1282('0x21')][_0x1282('0x25')]('`state`\x20=\x2011,\x201,\x20null'))),_0x1282('0x28')],[db[_0x1282('0x21')]['fn'](_0x1282('0x29'),db[_0x1282('0x21')]['fn']('IF',db[_0x1282('0x21')]['literal'](_0x1282('0x2a')))),_0x1282('0x2b')],[db['sequelize']['fn']('AVG',db['sequelize']['fn']('IF',db[_0x1282('0x21')]['literal'](_0x1282('0x2c')))),_0x1282('0x2d')]]})['then'](function(_0x1a9c85){logger['info']('AvgHandleTime',_0x158123);logger[_0x1282('0x11')](_0x1282('0x1c'),_0x158123,JSON[_0x1282('0x12')](_0x1a9c85));_0x22f8d5(_0x1a9c85);})[_0x1282('0x17')](function(_0x55dd47){logger['error'](_0x1282('0x1c'),_0x55dd47['message'],_0x158123);_0x59486f(_0x3c116f[_0x1282('0x13')](0x1f4,_0x55dd47[_0x1282('0x15')]));});});};exports[_0x1282('0x2e')]=function(_0xa388a5){var _0x56c6b9=this;return new Promise(function(_0x40ae67,_0x5be434){return db[_0x1282('0x19')][_0x1282('0x1d')]({'raw':_0xa388a5[_0x1282('0x1e')]?_0xa388a5[_0x1282('0x1e')]['raw']===undefined?!![]:![]:!![],'where':_0xa388a5['options']?_0xa388a5[_0x1282('0x1e')][_0x1282('0x20')]||null:null,'attributes':[[_0x1282('0x2f'),'name'],[db[_0x1282('0x21')]['fn'](_0x1282('0x24'),db[_0x1282('0x21')]['fn']('IF',db[_0x1282('0x21')][_0x1282('0x25')](_0x1282('0x30')))),_0x1282('0x31')],[db[_0x1282('0x21')]['fn'](_0x1282('0x24'),db[_0x1282('0x21')]['fn']('IF',db[_0x1282('0x21')][_0x1282('0x25')](_0x1282('0x32')))),'outboundNoAnswerCallsDay'],[db[_0x1282('0x21')]['fn'](_0x1282('0x24'),db[_0x1282('0x21')]['fn']('IF',db['sequelize']['literal'](_0x1282('0x33')))),_0x1282('0x34')],[db[_0x1282('0x21')]['fn'](_0x1282('0x24'),db[_0x1282('0x21')]['fn']('IF',db['sequelize']['literal'](_0x1282('0x35')))),_0x1282('0x36')],[db[_0x1282('0x21')]['fn']('COUNT',db[_0x1282('0x21')]['fn']('IF',db[_0x1282('0x21')][_0x1282('0x25')](_0x1282('0x37')))),_0x1282('0x38')],[db[_0x1282('0x21')]['fn']('COUNT',db['sequelize']['fn']('IF',db['sequelize'][_0x1282('0x25')](_0x1282('0x39')))),_0x1282('0x3a')],[db[_0x1282('0x21')]['fn'](_0x1282('0x24'),db['sequelize']['fn']('IF',db['sequelize']['literal']('`state`\x20=\x2011\x20,\x201,\x20null'))),_0x1282('0x3b')],[db[_0x1282('0x21')]['fn'](_0x1282('0x24'),db[_0x1282('0x21')]['fn']('IF',db['sequelize']['literal']('`state`\x20=\x2012,\x201,\x20null'))),_0x1282('0x3c')],[db['sequelize']['fn']('COUNT',db['sequelize']['fn']('IF',db[_0x1282('0x21')][_0x1282('0x25')]('`state`\x20=\x2013,\x201,\x20null'))),_0x1282('0x3d')],[db[_0x1282('0x21')]['fn'](_0x1282('0x24'),db[_0x1282('0x21')]['fn']('IF',db['sequelize']['literal'](_0x1282('0x3e')))),_0x1282('0x3f')],[db[_0x1282('0x21')]['fn'](_0x1282('0x24'),db[_0x1282('0x21')]['fn']('IF',db[_0x1282('0x21')][_0x1282('0x25')](_0x1282('0x40')))),_0x1282('0x41')],[db[_0x1282('0x21')]['fn'](_0x1282('0x24'),db[_0x1282('0x21')]['fn']('IF',db[_0x1282('0x21')][_0x1282('0x25')]('`state`\x20=\x2016,\x201,\x20null'))),_0x1282('0x42')],[db['sequelize']['fn'](_0x1282('0x24'),db[_0x1282('0x21')]['fn']('IF',db['sequelize']['literal']('`state`\x20=\x2020,\x201,\x20null'))),_0x1282('0x41')],[db[_0x1282('0x21')]['fn'](_0x1282('0x24'),db[_0x1282('0x21')]['fn']('IF',db[_0x1282('0x21')][_0x1282('0x25')](_0x1282('0x43')))),'outboundReCallsDay']],'group':[_0x1282('0x2f')]})[_0x1282('0x1b')](function(_0x321edb){logger[_0x1282('0xe')]('GetVoiceQueueHopperHistory',_0xa388a5);logger[_0x1282('0x11')](_0x1282('0x2e'),_0xa388a5,JSON['stringify'](_0x321edb));_0x40ae67(_0x321edb);})[_0x1282('0x17')](function(_0x57e080){logger[_0x1282('0x13')]('GetVoiceQueueHopperHistory',_0x57e080[_0x1282('0x15')],_0xa388a5);_0x5be434(_0x56c6b9['error'](0x1f4,_0x57e080[_0x1282('0x15')]));});});};exports['GetCampaignHopperHistory']=function(_0x38ca4a){var _0xdbe58=this;return new Promise(function(_0x2bd901,_0xde14d8){return db[_0x1282('0x19')][_0x1282('0x1d')]({'raw':_0x38ca4a[_0x1282('0x1e')]?_0x38ca4a[_0x1282('0x1e')][_0x1282('0x1f')]===undefined?!![]:![]:!![],'where':_0x38ca4a[_0x1282('0x1e')]?_0x38ca4a['options'][_0x1282('0x20')]||null:null,'attributes':[[_0x1282('0x2f'),_0x1282('0x44')],[db[_0x1282('0x21')]['fn'](_0x1282('0x24'),db[_0x1282('0x21')]['col']('id')),_0x1282('0x45')],[db['sequelize']['fn'](_0x1282('0x24'),db[_0x1282('0x21')]['fn']('IF',db[_0x1282('0x21')][_0x1282('0x25')](_0x1282('0x33')))),_0x1282('0x46')]],'group':['campaign']})[_0x1282('0x1b')](function(_0x2bd29c){logger['info'](_0x1282('0x47'),_0x38ca4a);logger[_0x1282('0x11')](_0x1282('0x47'),_0x38ca4a,JSON['stringify'](_0x2bd29c));_0x2bd901(_0x2bd29c);})[_0x1282('0x17')](function(_0x515e15){logger[_0x1282('0x13')](_0x1282('0x47'),_0x515e15['message'],_0x38ca4a);_0xde14d8(_0xdbe58['error'](0x1f4,_0x515e15[_0x1282('0x15')]));});});};