Built motion from commit e1760111.|2.6.18
[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 _0xaf1d=['predictiveIntervalAvgHoldtime','GetVoiceQueueHopperHistory','findAll','campaign','name','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','`state`\x20=\x2011\x20,\x201,\x20null','outboundDropCallsDayCallersExit','`state`\x20=\x2012,\x201,\x20null','outboundUnknownCallsDay','outboundBlacklistCallsDay','outboundOriginateFailureCallsDay','`state`\x20=\x2018,\x201,\x20null','outboundRejectCallsDay','`state`\x20=\x2016,\x201,\x20null','outboundAnswerAgiCallsDay','`state`\x20=\x2022\x20or\x20`state`\x20=\x2023,\x201,\x20null','GetCampaignHopperHistory','col','lodash','util','moment','bluebird','ioredis','../../mysqldb','../../config/logger','rpc','../../config/environment','jayson/promise','client','http','then','info','CmHopperHistory,\x20%s,\x20%s','debug','CmHopperHistory,\x20%s,\x20%s,\x20%s','request\x20sent','stringify','error','code','message','CmHopperHistory','create','body','raw','CreateCmHopperHistory','catch','AvgHandleTime','options','where','COUNT','sequelize','predictiveIntervalTotalCalls','literal','predictiveIntervalAnsweredCalls','`state`\x20=\x2010,\x201,\x20null','predictiveIntervalDroppedCallsCallersExit','AVG'];(function(_0x18719a,_0x57c45a){var _0x126eda=function(_0x2d0790){while(--_0x2d0790){_0x18719a['push'](_0x18719a['shift']());}};_0x126eda(++_0x57c45a);}(_0xaf1d,0x9f));var _0xdaf1=function(_0x104086,_0x15ad1a){_0x104086=_0x104086-0x0;var _0x1a7ef4=_0xaf1d[_0x104086];return _0x1a7ef4;};'use strict';var _=require(_0xdaf1('0x0'));var util=require(_0xdaf1('0x1'));var moment=require(_0xdaf1('0x2'));var BPromise=require(_0xdaf1('0x3'));var rs=require('randomstring');var fs=require('fs');var Redis=require(_0xdaf1('0x4'));var db=require(_0xdaf1('0x5'))['db'];var utils=require('../../config/utils');var logger=require(_0xdaf1('0x6'))(_0xdaf1('0x7'));var config=require(_0xdaf1('0x8'));var jayson=require(_0xdaf1('0x9'));var client=jayson[_0xdaf1('0xa')][_0xdaf1('0xb')]({'port':0x232a});function respondWithRpcPromise(_0x4d6c50,_0x54dc7a,_0x5ed9cd){return new BPromise(function(_0xfb18fc,_0x51a7e9){return client['request'](_0x4d6c50,_0x5ed9cd)[_0xdaf1('0xc')](function(_0x3219da){logger[_0xdaf1('0xd')](_0xdaf1('0xe'),_0x54dc7a,'request\x20sent');logger[_0xdaf1('0xf')](_0xdaf1('0x10'),_0x54dc7a,_0xdaf1('0x11'),JSON[_0xdaf1('0x12')](_0x3219da));if(_0x3219da[_0xdaf1('0x13')]){if(_0x3219da['error'][_0xdaf1('0x14')]===0x1f4){logger[_0xdaf1('0x13')](_0xdaf1('0xe'),_0x54dc7a,_0x3219da[_0xdaf1('0x13')][_0xdaf1('0x15')]);return _0x51a7e9(_0x3219da[_0xdaf1('0x13')][_0xdaf1('0x15')]);}logger[_0xdaf1('0x13')](_0xdaf1('0xe'),_0x54dc7a,_0x3219da[_0xdaf1('0x13')][_0xdaf1('0x15')]);return _0xfb18fc(_0x3219da[_0xdaf1('0x13')][_0xdaf1('0x15')]);}else{logger['info'](_0xdaf1('0xe'),_0x54dc7a,_0xdaf1('0x11'));_0xfb18fc(_0x3219da['result'][_0xdaf1('0x15')]);}})['catch'](function(_0x39d34b){logger[_0xdaf1('0x13')](_0xdaf1('0xe'),_0x54dc7a,_0x39d34b);_0x51a7e9(_0x39d34b);});});}exports['CreateCmHopperHistory']=function(_0x1dd985){var _0x5a9101=this;return new Promise(function(_0x4896c1,_0x921cd7){return db[_0xdaf1('0x16')][_0xdaf1('0x17')](_0x1dd985[_0xdaf1('0x18')],{'raw':_0x1dd985['options']?_0x1dd985['options'][_0xdaf1('0x19')]===undefined?!![]:![]:!![]})[_0xdaf1('0xc')](function(_0x37b377){logger['info'](_0xdaf1('0x1a'),_0x1dd985);logger[_0xdaf1('0xf')](_0xdaf1('0x1a'),_0x1dd985,JSON[_0xdaf1('0x12')](_0x37b377));_0x4896c1(_0x37b377);})[_0xdaf1('0x1b')](function(_0x110e33){logger[_0xdaf1('0x13')](_0xdaf1('0x1a'),_0x110e33[_0xdaf1('0x15')],_0x1dd985);_0x921cd7(_0x5a9101[_0xdaf1('0x13')](0x1f4,_0x110e33['message']));});});};exports[_0xdaf1('0x1c')]=function(_0x41b020){var _0x1ecad2=this;return new Promise(function(_0x4db62c,_0x4b12a9){return db['CmHopperHistory']['findAll']({'raw':_0x41b020[_0xdaf1('0x1d')]?_0x41b020[_0xdaf1('0x1d')]['raw']===undefined?!![]:![]:!![],'where':_0x41b020[_0xdaf1('0x1d')]?_0x41b020[_0xdaf1('0x1d')][_0xdaf1('0x1e')]||null:null,'attributes':[[db['sequelize']['fn'](_0xdaf1('0x1f'),db[_0xdaf1('0x20')]['col']('id')),_0xdaf1('0x21')],[db[_0xdaf1('0x20')]['fn'](_0xdaf1('0x1f'),db[_0xdaf1('0x20')]['fn']('IF',db[_0xdaf1('0x20')][_0xdaf1('0x22')]('`state`\x20=\x204,\x201,\x20null'))),_0xdaf1('0x23')],[db[_0xdaf1('0x20')]['fn']('COUNT',db['sequelize']['fn']('IF',db[_0xdaf1('0x20')][_0xdaf1('0x22')](_0xdaf1('0x24')))),'predictiveIntervalDroppedCallsTimeout'],[db[_0xdaf1('0x20')]['fn'](_0xdaf1('0x1f'),db[_0xdaf1('0x20')]['fn']('IF',db[_0xdaf1('0x20')][_0xdaf1('0x22')]('`state`\x20=\x2011,\x201,\x20null'))),_0xdaf1('0x25')],[db[_0xdaf1('0x20')]['fn'](_0xdaf1('0x26'),db['sequelize']['fn']('IF',db['sequelize'][_0xdaf1('0x22')]('`state`\x20=\x204,\x20`holdtime`,\x20null'))),_0xdaf1('0x27')],[db[_0xdaf1('0x20')]['fn'](_0xdaf1('0x26'),db['sequelize']['fn']('IF',db[_0xdaf1('0x20')][_0xdaf1('0x22')]('`state`\x20=\x204,\x20`talktime`,\x20null'))),'predictiveIntervalAvgTalktime']]})[_0xdaf1('0xc')](function(_0x19f095){logger['info'](_0xdaf1('0x1c'),_0x41b020);logger[_0xdaf1('0xf')](_0xdaf1('0x1c'),_0x41b020,JSON['stringify'](_0x19f095));_0x4db62c(_0x19f095);})[_0xdaf1('0x1b')](function(_0x10138c){logger[_0xdaf1('0x13')](_0xdaf1('0x1c'),_0x10138c['message'],_0x41b020);_0x4b12a9(_0x1ecad2[_0xdaf1('0x13')](0x1f4,_0x10138c[_0xdaf1('0x15')]));});});};exports[_0xdaf1('0x28')]=function(_0x7d6d33){var _0x45463f=this;return new Promise(function(_0x58429d,_0x219551){return db[_0xdaf1('0x16')][_0xdaf1('0x29')]({'raw':_0x7d6d33['options']?_0x7d6d33[_0xdaf1('0x1d')]['raw']===undefined?!![]:![]:!![],'where':_0x7d6d33[_0xdaf1('0x1d')]?_0x7d6d33[_0xdaf1('0x1d')]['where']||null:null,'attributes':[[_0xdaf1('0x2a'),_0xdaf1('0x2b')],[db[_0xdaf1('0x20')]['fn'](_0xdaf1('0x1f'),db[_0xdaf1('0x20')]['fn']('IF',db['sequelize'][_0xdaf1('0x22')]('`state`\x20=\x200,\x201,\x20null'))),_0xdaf1('0x2c')],[db['sequelize']['fn'](_0xdaf1('0x1f'),db[_0xdaf1('0x20')]['fn']('IF',db[_0xdaf1('0x20')]['literal'](_0xdaf1('0x2d')))),_0xdaf1('0x2e')],[db[_0xdaf1('0x20')]['fn'](_0xdaf1('0x1f'),db[_0xdaf1('0x20')]['fn']('IF',db[_0xdaf1('0x20')][_0xdaf1('0x22')](_0xdaf1('0x2f')))),_0xdaf1('0x30')],[db[_0xdaf1('0x20')]['fn'](_0xdaf1('0x1f'),db['sequelize']['fn']('IF',db['sequelize']['literal'](_0xdaf1('0x31')))),'outboundBusyCallsDay'],[db['sequelize']['fn'](_0xdaf1('0x1f'),db[_0xdaf1('0x20')]['fn']('IF',db[_0xdaf1('0x20')]['literal']('`state`\x20=\x208,\x201,\x20null'))),_0xdaf1('0x32')],[db[_0xdaf1('0x20')]['fn'](_0xdaf1('0x1f'),db['sequelize']['fn']('IF',db[_0xdaf1('0x20')]['literal'](_0xdaf1('0x33')))),_0xdaf1('0x34')],[db[_0xdaf1('0x20')]['fn'](_0xdaf1('0x1f'),db[_0xdaf1('0x20')]['fn']('IF',db[_0xdaf1('0x20')][_0xdaf1('0x22')](_0xdaf1('0x35')))),_0xdaf1('0x36')],[db[_0xdaf1('0x20')]['fn'](_0xdaf1('0x1f'),db[_0xdaf1('0x20')]['fn']('IF',db[_0xdaf1('0x20')]['literal'](_0xdaf1('0x37')))),_0xdaf1('0x38')],[db[_0xdaf1('0x20')]['fn'](_0xdaf1('0x1f'),db[_0xdaf1('0x20')]['fn']('IF',db[_0xdaf1('0x20')][_0xdaf1('0x22')]('`state`\x20=\x2013,\x201,\x20null'))),_0xdaf1('0x39')],[db[_0xdaf1('0x20')]['fn'](_0xdaf1('0x1f'),db['sequelize']['fn']('IF',db[_0xdaf1('0x20')][_0xdaf1('0x22')]('`state`\x20=\x2014,\x201,\x20null'))),_0xdaf1('0x3a')],[db['sequelize']['fn'](_0xdaf1('0x1f'),db['sequelize']['fn']('IF',db[_0xdaf1('0x20')]['literal'](_0xdaf1('0x3b')))),_0xdaf1('0x3c')],[db[_0xdaf1('0x20')]['fn'](_0xdaf1('0x1f'),db[_0xdaf1('0x20')]['fn']('IF',db[_0xdaf1('0x20')]['literal'](_0xdaf1('0x3d')))),_0xdaf1('0x3e')],[db[_0xdaf1('0x20')]['fn'](_0xdaf1('0x1f'),db[_0xdaf1('0x20')]['fn']('IF',db[_0xdaf1('0x20')][_0xdaf1('0x22')]('`state`\x20=\x2020,\x201,\x20null'))),_0xdaf1('0x3c')],[db['sequelize']['fn']('COUNT',db[_0xdaf1('0x20')]['fn']('IF',db['sequelize']['literal'](_0xdaf1('0x3f')))),'outboundReCallsDay']],'group':[_0xdaf1('0x2a')]})[_0xdaf1('0xc')](function(_0x2698c1){logger[_0xdaf1('0xd')](_0xdaf1('0x28'),_0x7d6d33);logger[_0xdaf1('0xf')]('GetVoiceQueueHopperHistory',_0x7d6d33,JSON[_0xdaf1('0x12')](_0x2698c1));_0x58429d(_0x2698c1);})[_0xdaf1('0x1b')](function(_0x4ceb92){logger[_0xdaf1('0x13')](_0xdaf1('0x28'),_0x4ceb92['message'],_0x7d6d33);_0x219551(_0x45463f[_0xdaf1('0x13')](0x1f4,_0x4ceb92['message']));});});};exports[_0xdaf1('0x40')]=function(_0x2436b9){var _0x3fb74e=this;return new Promise(function(_0x539614,_0x2b25b7){return db['CmHopperHistory'][_0xdaf1('0x29')]({'raw':_0x2436b9[_0xdaf1('0x1d')]?_0x2436b9[_0xdaf1('0x1d')]['raw']===undefined?!![]:![]:!![],'where':_0x2436b9[_0xdaf1('0x1d')]?_0x2436b9['options'][_0xdaf1('0x1e')]||null:null,'attributes':[[_0xdaf1('0x2a'),'name'],[db[_0xdaf1('0x20')]['fn']('COUNT',db[_0xdaf1('0x20')][_0xdaf1('0x41')]('id')),'ivrTotalCallsDays'],[db[_0xdaf1('0x20')]['fn'](_0xdaf1('0x1f'),db[_0xdaf1('0x20')]['fn']('IF',db['sequelize'][_0xdaf1('0x22')](_0xdaf1('0x2f')))),'ivrAnswerCallsDay']],'group':[_0xdaf1('0x2a')]})['then'](function(_0x4209ab){logger[_0xdaf1('0xd')](_0xdaf1('0x40'),_0x2436b9);logger[_0xdaf1('0xf')](_0xdaf1('0x40'),_0x2436b9,JSON[_0xdaf1('0x12')](_0x4209ab));_0x539614(_0x4209ab);})[_0xdaf1('0x1b')](function(_0x49fab9){logger['error'](_0xdaf1('0x40'),_0x49fab9[_0xdaf1('0x15')],_0x2436b9);_0x2b25b7(_0x3fb74e[_0xdaf1('0x13')](0x1f4,_0x49fab9[_0xdaf1('0x15')]));});});};