afe95b91c84d69ffb35bdc289bcd78f0ee8e6269
[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 _0x38a5=['predictiveIntervalTotalCalls','sequelize','COUNT','predictiveIntervalAnsweredCalls','`state`\x20=\x2010,\x201,\x20null','predictiveIntervalDroppedCallsTimeout','`state`\x20=\x2011,\x201,\x20null','AVG','literal','`state`\x20=\x204,\x20`holdtime`,\x20null','`state`\x20=\x204,\x20`talktime`,\x20null','predictiveIntervalAvgTalktime','findAll','name','`state`\x20=\x200,\x201,\x20null','`state`\x20=\x203,\x201,\x20null','outboundNoAnswerCallsDay','`state`\x20=\x204,\x201,\x20null','`state`\x20=\x208,\x201,\x20null','outboundCongestionCallsDay','outboundDropCallsDayTimeout','`state`\x20=\x2011\x20,\x201,\x20null','outboundDropCallsDayCallersExit','`state`\x20=\x2013,\x201,\x20null','outboundBlacklistCallsDay','outboundOriginateFailureCallsDay','outboundRejectCallsDay','`state`\x20=\x2016,\x201,\x20null','outboundAnswerAgiCallsDay','`state`\x20=\x2020,\x201,\x20null','`state`\x20=\x2022\x20or\x20`state`\x20=\x2023,\x201,\x20null','outboundReCallsDay','campaign','GetVoiceQueueHopperHistory','ivrTotalCallsDays','GetCampaignHopperHistory','lodash','util','moment','bluebird','ioredis','../../mysqldb','../../config/utils','../../config/logger','rpc','../../config/environment','jayson/promise','client','http','then','info','request\x20sent','debug','CmHopperHistory,\x20%s,\x20%s,\x20%s','stringify','error','code','message','CmHopperHistory,\x20%s,\x20%s','result','catch','CmHopperHistory','create','options','raw','CreateCmHopperHistory','AvgHandleTime','where','col'];(function(_0x584dbc,_0x4b102c){var _0x554b9a=function(_0x17b669){while(--_0x17b669){_0x584dbc['push'](_0x584dbc['shift']());}};_0x554b9a(++_0x4b102c);}(_0x38a5,0x69));var _0x538a=function(_0x16e8b7,_0x2f5bc6){_0x16e8b7=_0x16e8b7-0x0;var _0x4b5dfb=_0x38a5[_0x16e8b7];return _0x4b5dfb;};'use strict';var _=require(_0x538a('0x0'));var util=require(_0x538a('0x1'));var moment=require(_0x538a('0x2'));var BPromise=require(_0x538a('0x3'));var rs=require('randomstring');var fs=require('fs');var Redis=require(_0x538a('0x4'));var db=require(_0x538a('0x5'))['db'];var utils=require(_0x538a('0x6'));var logger=require(_0x538a('0x7'))(_0x538a('0x8'));var config=require(_0x538a('0x9'));var jayson=require(_0x538a('0xa'));var client=jayson[_0x538a('0xb')][_0x538a('0xc')]({'port':0x232a});function respondWithRpcPromise(_0x3fcf5b,_0x11fbcf,_0x3d4e22){return new BPromise(function(_0x6eed8e,_0x5a750d){return client['request'](_0x3fcf5b,_0x3d4e22)[_0x538a('0xd')](function(_0x74ecbf){logger[_0x538a('0xe')]('CmHopperHistory,\x20%s,\x20%s',_0x11fbcf,_0x538a('0xf'));logger[_0x538a('0x10')](_0x538a('0x11'),_0x11fbcf,_0x538a('0xf'),JSON[_0x538a('0x12')](_0x74ecbf));if(_0x74ecbf[_0x538a('0x13')]){if(_0x74ecbf[_0x538a('0x13')][_0x538a('0x14')]===0x1f4){logger['error']('CmHopperHistory,\x20%s,\x20%s',_0x11fbcf,_0x74ecbf[_0x538a('0x13')][_0x538a('0x15')]);return _0x5a750d(_0x74ecbf['error']['message']);}logger[_0x538a('0x13')](_0x538a('0x16'),_0x11fbcf,_0x74ecbf[_0x538a('0x13')][_0x538a('0x15')]);return _0x6eed8e(_0x74ecbf[_0x538a('0x13')][_0x538a('0x15')]);}else{logger[_0x538a('0xe')](_0x538a('0x16'),_0x11fbcf,'request\x20sent');_0x6eed8e(_0x74ecbf[_0x538a('0x17')][_0x538a('0x15')]);}})[_0x538a('0x18')](function(_0x547adf){logger['error']('CmHopperHistory,\x20%s,\x20%s',_0x11fbcf,_0x547adf);_0x5a750d(_0x547adf);});});}exports['CreateCmHopperHistory']=function(_0xc94f01){var _0x344b64=this;return new Promise(function(_0x3d7a30,_0x5108fb){return db[_0x538a('0x19')][_0x538a('0x1a')](_0xc94f01['body'],{'raw':_0xc94f01[_0x538a('0x1b')]?_0xc94f01[_0x538a('0x1b')][_0x538a('0x1c')]===undefined?!![]:![]:!![]})[_0x538a('0xd')](function(_0x264f39){logger['info'](_0x538a('0x1d'),_0xc94f01);logger[_0x538a('0x10')]('CreateCmHopperHistory',_0xc94f01,JSON[_0x538a('0x12')](_0x264f39));_0x3d7a30(_0x264f39);})[_0x538a('0x18')](function(_0x3124c0){logger['error'](_0x538a('0x1d'),_0x3124c0['message'],_0xc94f01);_0x5108fb(_0x344b64[_0x538a('0x13')](0x1f4,_0x3124c0['message']));});});};exports[_0x538a('0x1e')]=function(_0x27d5c9){var _0x51766c=this;return new Promise(function(_0x173454,_0x881a04){return db[_0x538a('0x19')]['findAll']({'raw':_0x27d5c9[_0x538a('0x1b')]?_0x27d5c9[_0x538a('0x1b')][_0x538a('0x1c')]===undefined?!![]:![]:!![],'where':_0x27d5c9['options']?_0x27d5c9['options'][_0x538a('0x1f')]||null:null,'attributes':[[db['sequelize']['fn']('COUNT',db['sequelize'][_0x538a('0x20')]('id')),_0x538a('0x21')],[db[_0x538a('0x22')]['fn'](_0x538a('0x23'),db[_0x538a('0x22')]['fn']('IF',db[_0x538a('0x22')]['literal']('`state`\x20=\x204,\x201,\x20null'))),_0x538a('0x24')],[db[_0x538a('0x22')]['fn'](_0x538a('0x23'),db[_0x538a('0x22')]['fn']('IF',db[_0x538a('0x22')]['literal'](_0x538a('0x25')))),_0x538a('0x26')],[db[_0x538a('0x22')]['fn'](_0x538a('0x23'),db[_0x538a('0x22')]['fn']('IF',db[_0x538a('0x22')]['literal'](_0x538a('0x27')))),'predictiveIntervalDroppedCallsCallersExit'],[db[_0x538a('0x22')]['fn'](_0x538a('0x28'),db[_0x538a('0x22')]['fn']('IF',db[_0x538a('0x22')][_0x538a('0x29')](_0x538a('0x2a')))),'predictiveIntervalAvgHoldtime'],[db['sequelize']['fn']('AVG',db[_0x538a('0x22')]['fn']('IF',db[_0x538a('0x22')][_0x538a('0x29')](_0x538a('0x2b')))),_0x538a('0x2c')]]})[_0x538a('0xd')](function(_0x240f85){logger[_0x538a('0xe')](_0x538a('0x1e'),_0x27d5c9);logger[_0x538a('0x10')](_0x538a('0x1e'),_0x27d5c9,JSON[_0x538a('0x12')](_0x240f85));_0x173454(_0x240f85);})[_0x538a('0x18')](function(_0x15eff3){logger[_0x538a('0x13')](_0x538a('0x1e'),_0x15eff3[_0x538a('0x15')],_0x27d5c9);_0x881a04(_0x51766c['error'](0x1f4,_0x15eff3[_0x538a('0x15')]));});});};exports['GetVoiceQueueHopperHistory']=function(_0x53205d){var _0x462518=this;return new Promise(function(_0x246ab9,_0x25a3c4){return db['CmHopperHistory'][_0x538a('0x2d')]({'raw':_0x53205d[_0x538a('0x1b')]?_0x53205d[_0x538a('0x1b')][_0x538a('0x1c')]===undefined?!![]:![]:!![],'where':_0x53205d[_0x538a('0x1b')]?_0x53205d[_0x538a('0x1b')][_0x538a('0x1f')]||null:null,'attributes':[['campaign',_0x538a('0x2e')],[db[_0x538a('0x22')]['fn'](_0x538a('0x23'),db[_0x538a('0x22')]['fn']('IF',db['sequelize'][_0x538a('0x29')](_0x538a('0x2f')))),'outboundNoSuchCallsDay'],[db['sequelize']['fn'](_0x538a('0x23'),db[_0x538a('0x22')]['fn']('IF',db['sequelize'][_0x538a('0x29')](_0x538a('0x30')))),_0x538a('0x31')],[db['sequelize']['fn']('COUNT',db[_0x538a('0x22')]['fn']('IF',db[_0x538a('0x22')]['literal'](_0x538a('0x32')))),'outboundAnswerCallsDay'],[db[_0x538a('0x22')]['fn'](_0x538a('0x23'),db['sequelize']['fn']('IF',db[_0x538a('0x22')]['literal']('`state`\x20=\x205,\x201,\x20null'))),'outboundBusyCallsDay'],[db[_0x538a('0x22')]['fn'](_0x538a('0x23'),db[_0x538a('0x22')]['fn']('IF',db[_0x538a('0x22')]['literal'](_0x538a('0x33')))),_0x538a('0x34')],[db[_0x538a('0x22')]['fn']('COUNT',db['sequelize']['fn']('IF',db['sequelize'][_0x538a('0x29')]('`state`\x20=\x2010\x20,\x201,\x20null'))),_0x538a('0x35')],[db['sequelize']['fn'](_0x538a('0x23'),db[_0x538a('0x22')]['fn']('IF',db[_0x538a('0x22')][_0x538a('0x29')](_0x538a('0x36')))),_0x538a('0x37')],[db[_0x538a('0x22')]['fn'](_0x538a('0x23'),db['sequelize']['fn']('IF',db[_0x538a('0x22')][_0x538a('0x29')]('`state`\x20=\x2012,\x201,\x20null'))),'outboundUnknownCallsDay'],[db[_0x538a('0x22')]['fn'](_0x538a('0x23'),db['sequelize']['fn']('IF',db[_0x538a('0x22')][_0x538a('0x29')](_0x538a('0x38')))),_0x538a('0x39')],[db[_0x538a('0x22')]['fn']('COUNT',db['sequelize']['fn']('IF',db[_0x538a('0x22')][_0x538a('0x29')]('`state`\x20=\x2014,\x201,\x20null'))),_0x538a('0x3a')],[db[_0x538a('0x22')]['fn'](_0x538a('0x23'),db[_0x538a('0x22')]['fn']('IF',db[_0x538a('0x22')][_0x538a('0x29')]('`state`\x20=\x2018,\x201,\x20null'))),_0x538a('0x3b')],[db[_0x538a('0x22')]['fn'](_0x538a('0x23'),db[_0x538a('0x22')]['fn']('IF',db['sequelize']['literal'](_0x538a('0x3c')))),_0x538a('0x3d')],[db[_0x538a('0x22')]['fn'](_0x538a('0x23'),db['sequelize']['fn']('IF',db[_0x538a('0x22')][_0x538a('0x29')](_0x538a('0x3e')))),_0x538a('0x3b')],[db[_0x538a('0x22')]['fn']('COUNT',db[_0x538a('0x22')]['fn']('IF',db[_0x538a('0x22')][_0x538a('0x29')](_0x538a('0x3f')))),_0x538a('0x40')]],'group':[_0x538a('0x41')]})['then'](function(_0x30797c){logger[_0x538a('0xe')]('GetVoiceQueueHopperHistory',_0x53205d);logger['debug'](_0x538a('0x42'),_0x53205d,JSON[_0x538a('0x12')](_0x30797c));_0x246ab9(_0x30797c);})['catch'](function(_0x3566f0){logger[_0x538a('0x13')](_0x538a('0x42'),_0x3566f0['message'],_0x53205d);_0x25a3c4(_0x462518[_0x538a('0x13')](0x1f4,_0x3566f0[_0x538a('0x15')]));});});};exports['GetCampaignHopperHistory']=function(_0x4d5a10){var _0x2b3393=this;return new Promise(function(_0x1a84b2,_0x1db57a){return db[_0x538a('0x19')][_0x538a('0x2d')]({'raw':_0x4d5a10['options']?_0x4d5a10[_0x538a('0x1b')][_0x538a('0x1c')]===undefined?!![]:![]:!![],'where':_0x4d5a10['options']?_0x4d5a10['options']['where']||null:null,'attributes':[['campaign',_0x538a('0x2e')],[db[_0x538a('0x22')]['fn'](_0x538a('0x23'),db[_0x538a('0x22')][_0x538a('0x20')]('id')),_0x538a('0x43')],[db[_0x538a('0x22')]['fn'](_0x538a('0x23'),db[_0x538a('0x22')]['fn']('IF',db[_0x538a('0x22')][_0x538a('0x29')]('`state`\x20=\x204,\x201,\x20null'))),'ivrAnswerCallsDay']],'group':['campaign']})[_0x538a('0xd')](function(_0x32111e){logger[_0x538a('0xe')](_0x538a('0x44'),_0x4d5a10);logger[_0x538a('0x10')](_0x538a('0x44'),_0x4d5a10,JSON['stringify'](_0x32111e));_0x1a84b2(_0x32111e);})['catch'](function(_0x4bab20){logger[_0x538a('0x13')](_0x538a('0x44'),_0x4bab20[_0x538a('0x15')],_0x4d5a10);_0x1db57a(_0x2b3393[_0x538a('0x13')](0x1f4,_0x4bab20[_0x538a('0x15')]));});});};