Built motion from commit 25580385.|2.6.2
[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 _0x67c7=['`state`\x20=\x203,\x201,\x20null','outboundNoAnswerCallsDay','outboundAnswerCallsDay','`state`\x20=\x205,\x201,\x20null','outboundBusyCallsDay','`state`\x20=\x208,\x201,\x20null','outboundCongestionCallsDay','outboundDropCallsDayTimeout','outboundDropCallsDayCallersExit','outboundUnknownCallsDay','`state`\x20=\x2013,\x201,\x20null','outboundBlacklistCallsDay','`state`\x20=\x2018,\x201,\x20null','outboundRejectCallsDay','`state`\x20=\x2016,\x201,\x20null','outboundAnswerAgiCallsDay','`state`\x20=\x2020,\x201,\x20null','outboundReCallsDay','GetVoiceQueueHopperHistory','GetCampaignHopperHistory','lodash','util','moment','bluebird','randomstring','ioredis','../../mysqldb','../../config/utils','rpc','../../config/environment','client','http','request','then','info','CmHopperHistory,\x20%s,\x20%s','request\x20sent','debug','CmHopperHistory,\x20%s,\x20%s,\x20%s','stringify','error','code','message','catch','CreateCmHopperHistory','CmHopperHistory','create','body','options','raw','AvgHandleTime','findAll','sequelize','COUNT','col','predictiveIntervalTotalCalls','literal','`state`\x20=\x204,\x201,\x20null','predictiveIntervalAnsweredCalls','predictiveIntervalDroppedCallsTimeout','`state`\x20=\x2011,\x201,\x20null','predictiveIntervalDroppedCallsCallersExit','AVG','`state`\x20=\x204,\x20`holdtime`,\x20null','`state`\x20=\x204,\x20`talktime`,\x20null','where','campaign','name','`state`\x20=\x200,\x201,\x20null','outboundNoSuchCallsDay'];(function(_0x816dc7,_0x517eda){var _0x14ba95=function(_0x204256){while(--_0x204256){_0x816dc7['push'](_0x816dc7['shift']());}};_0x14ba95(++_0x517eda);}(_0x67c7,0x172));var _0x767c=function(_0x130209,_0x2cc129){_0x130209=_0x130209-0x0;var _0x155fb7=_0x67c7[_0x130209];return _0x155fb7;};'use strict';var _=require(_0x767c('0x0'));var util=require(_0x767c('0x1'));var moment=require(_0x767c('0x2'));var BPromise=require(_0x767c('0x3'));var rs=require(_0x767c('0x4'));var fs=require('fs');var Redis=require(_0x767c('0x5'));var db=require(_0x767c('0x6'))['db'];var utils=require(_0x767c('0x7'));var logger=require('../../config/logger')(_0x767c('0x8'));var config=require(_0x767c('0x9'));var jayson=require('jayson/promise');var client=jayson[_0x767c('0xa')][_0x767c('0xb')]({'port':0x232a});function respondWithRpcPromise(_0x334608,_0x3a3b2d,_0x2a1958){return new BPromise(function(_0x438e71,_0x396b7c){return client[_0x767c('0xc')](_0x334608,_0x2a1958)[_0x767c('0xd')](function(_0x204022){logger[_0x767c('0xe')](_0x767c('0xf'),_0x3a3b2d,_0x767c('0x10'));logger[_0x767c('0x11')](_0x767c('0x12'),_0x3a3b2d,'request\x20sent',JSON[_0x767c('0x13')](_0x204022));if(_0x204022[_0x767c('0x14')]){if(_0x204022[_0x767c('0x14')][_0x767c('0x15')]===0x1f4){logger[_0x767c('0x14')](_0x767c('0xf'),_0x3a3b2d,_0x204022[_0x767c('0x14')][_0x767c('0x16')]);return _0x396b7c(_0x204022[_0x767c('0x14')]['message']);}logger[_0x767c('0x14')](_0x767c('0xf'),_0x3a3b2d,_0x204022[_0x767c('0x14')][_0x767c('0x16')]);return _0x438e71(_0x204022[_0x767c('0x14')][_0x767c('0x16')]);}else{logger[_0x767c('0xe')](_0x767c('0xf'),_0x3a3b2d,_0x767c('0x10'));_0x438e71(_0x204022['result'][_0x767c('0x16')]);}})[_0x767c('0x17')](function(_0x3e4927){logger[_0x767c('0x14')](_0x767c('0xf'),_0x3a3b2d,_0x3e4927);_0x396b7c(_0x3e4927);});});}exports[_0x767c('0x18')]=function(_0x4d612a){var _0x38a758=this;return new Promise(function(_0x5856c5,_0x8d5313){return db[_0x767c('0x19')][_0x767c('0x1a')](_0x4d612a[_0x767c('0x1b')],{'raw':_0x4d612a[_0x767c('0x1c')]?_0x4d612a[_0x767c('0x1c')][_0x767c('0x1d')]===undefined?!![]:![]:!![]})['then'](function(_0x9edb2d){logger[_0x767c('0xe')]('CreateCmHopperHistory',_0x4d612a);logger[_0x767c('0x11')](_0x767c('0x18'),_0x4d612a,JSON[_0x767c('0x13')](_0x9edb2d));_0x5856c5(_0x9edb2d);})[_0x767c('0x17')](function(_0x5d021a){logger[_0x767c('0x14')](_0x767c('0x18'),_0x5d021a[_0x767c('0x16')],_0x4d612a);_0x8d5313(_0x38a758[_0x767c('0x14')](0x1f4,_0x5d021a[_0x767c('0x16')]));});});};exports[_0x767c('0x1e')]=function(_0x3d4dba){var _0x368ef0=this;return new Promise(function(_0x2f5b57,_0x3a3de1){return db[_0x767c('0x19')][_0x767c('0x1f')]({'raw':_0x3d4dba[_0x767c('0x1c')]?_0x3d4dba[_0x767c('0x1c')][_0x767c('0x1d')]===undefined?!![]:![]:!![],'where':_0x3d4dba[_0x767c('0x1c')]?_0x3d4dba['options']['where']||null:null,'attributes':[[db[_0x767c('0x20')]['fn'](_0x767c('0x21'),db[_0x767c('0x20')][_0x767c('0x22')]('id')),_0x767c('0x23')],[db['sequelize']['fn'](_0x767c('0x21'),db[_0x767c('0x20')]['fn']('IF',db[_0x767c('0x20')][_0x767c('0x24')](_0x767c('0x25')))),_0x767c('0x26')],[db[_0x767c('0x20')]['fn'](_0x767c('0x21'),db[_0x767c('0x20')]['fn']('IF',db[_0x767c('0x20')][_0x767c('0x24')]('`state`\x20=\x2010,\x201,\x20null'))),_0x767c('0x27')],[db[_0x767c('0x20')]['fn'](_0x767c('0x21'),db[_0x767c('0x20')]['fn']('IF',db['sequelize'][_0x767c('0x24')](_0x767c('0x28')))),_0x767c('0x29')],[db[_0x767c('0x20')]['fn'](_0x767c('0x2a'),db[_0x767c('0x20')]['fn']('IF',db[_0x767c('0x20')][_0x767c('0x24')](_0x767c('0x2b')))),'predictiveIntervalAvgHoldtime'],[db[_0x767c('0x20')]['fn'](_0x767c('0x2a'),db[_0x767c('0x20')]['fn']('IF',db['sequelize'][_0x767c('0x24')](_0x767c('0x2c')))),'predictiveIntervalAvgTalktime']]})[_0x767c('0xd')](function(_0x412b0b){logger[_0x767c('0xe')](_0x767c('0x1e'),_0x3d4dba);logger[_0x767c('0x11')](_0x767c('0x1e'),_0x3d4dba,JSON[_0x767c('0x13')](_0x412b0b));_0x2f5b57(_0x412b0b);})[_0x767c('0x17')](function(_0x2f4832){logger['error'](_0x767c('0x1e'),_0x2f4832[_0x767c('0x16')],_0x3d4dba);_0x3a3de1(_0x368ef0[_0x767c('0x14')](0x1f4,_0x2f4832[_0x767c('0x16')]));});});};exports['GetVoiceQueueHopperHistory']=function(_0x14f4af){var _0x8254b3=this;return new Promise(function(_0x192178,_0x2ec4fa){return db['CmHopperHistory']['findAll']({'raw':_0x14f4af['options']?_0x14f4af['options']['raw']===undefined?!![]:![]:!![],'where':_0x14f4af['options']?_0x14f4af[_0x767c('0x1c')][_0x767c('0x2d')]||null:null,'attributes':[[_0x767c('0x2e'),_0x767c('0x2f')],[db[_0x767c('0x20')]['fn'](_0x767c('0x21'),db[_0x767c('0x20')]['fn']('IF',db[_0x767c('0x20')][_0x767c('0x24')](_0x767c('0x30')))),_0x767c('0x31')],[db['sequelize']['fn'](_0x767c('0x21'),db['sequelize']['fn']('IF',db[_0x767c('0x20')][_0x767c('0x24')](_0x767c('0x32')))),_0x767c('0x33')],[db[_0x767c('0x20')]['fn']('COUNT',db['sequelize']['fn']('IF',db[_0x767c('0x20')][_0x767c('0x24')]('`state`\x20=\x204,\x201,\x20null'))),_0x767c('0x34')],[db[_0x767c('0x20')]['fn'](_0x767c('0x21'),db[_0x767c('0x20')]['fn']('IF',db[_0x767c('0x20')][_0x767c('0x24')](_0x767c('0x35')))),_0x767c('0x36')],[db[_0x767c('0x20')]['fn'](_0x767c('0x21'),db[_0x767c('0x20')]['fn']('IF',db['sequelize']['literal'](_0x767c('0x37')))),_0x767c('0x38')],[db[_0x767c('0x20')]['fn'](_0x767c('0x21'),db['sequelize']['fn']('IF',db['sequelize']['literal']('`state`\x20=\x2010\x20,\x201,\x20null'))),_0x767c('0x39')],[db['sequelize']['fn'](_0x767c('0x21'),db[_0x767c('0x20')]['fn']('IF',db[_0x767c('0x20')][_0x767c('0x24')]('`state`\x20=\x2011\x20,\x201,\x20null'))),_0x767c('0x3a')],[db['sequelize']['fn'](_0x767c('0x21'),db[_0x767c('0x20')]['fn']('IF',db[_0x767c('0x20')][_0x767c('0x24')]('`state`\x20=\x2012,\x201,\x20null'))),_0x767c('0x3b')],[db[_0x767c('0x20')]['fn'](_0x767c('0x21'),db[_0x767c('0x20')]['fn']('IF',db[_0x767c('0x20')][_0x767c('0x24')](_0x767c('0x3c')))),_0x767c('0x3d')],[db[_0x767c('0x20')]['fn'](_0x767c('0x21'),db[_0x767c('0x20')]['fn']('IF',db[_0x767c('0x20')]['literal']('`state`\x20=\x2014,\x201,\x20null'))),'outboundOriginateFailureCallsDay'],[db[_0x767c('0x20')]['fn'](_0x767c('0x21'),db[_0x767c('0x20')]['fn']('IF',db[_0x767c('0x20')][_0x767c('0x24')](_0x767c('0x3e')))),_0x767c('0x3f')],[db[_0x767c('0x20')]['fn']('COUNT',db['sequelize']['fn']('IF',db[_0x767c('0x20')][_0x767c('0x24')](_0x767c('0x40')))),_0x767c('0x41')],[db[_0x767c('0x20')]['fn'](_0x767c('0x21'),db[_0x767c('0x20')]['fn']('IF',db[_0x767c('0x20')]['literal'](_0x767c('0x42')))),'outboundRejectCallsDay'],[db[_0x767c('0x20')]['fn'](_0x767c('0x21'),db['sequelize']['fn']('IF',db['sequelize'][_0x767c('0x24')]('`state`\x20=\x2022\x20or\x20`state`\x20=\x2023,\x201,\x20null'))),_0x767c('0x43')]],'group':['campaign']})[_0x767c('0xd')](function(_0x49ed76){logger[_0x767c('0xe')](_0x767c('0x44'),_0x14f4af);logger[_0x767c('0x11')](_0x767c('0x44'),_0x14f4af,JSON[_0x767c('0x13')](_0x49ed76));_0x192178(_0x49ed76);})[_0x767c('0x17')](function(_0x4572dd){logger['error'](_0x767c('0x44'),_0x4572dd[_0x767c('0x16')],_0x14f4af);_0x2ec4fa(_0x8254b3[_0x767c('0x14')](0x1f4,_0x4572dd['message']));});});};exports['GetCampaignHopperHistory']=function(_0x5c6cc3){var _0x1c475a=this;return new Promise(function(_0x253e16,_0x1e9463){return db[_0x767c('0x19')]['findAll']({'raw':_0x5c6cc3[_0x767c('0x1c')]?_0x5c6cc3['options'][_0x767c('0x1d')]===undefined?!![]:![]:!![],'where':_0x5c6cc3['options']?_0x5c6cc3[_0x767c('0x1c')][_0x767c('0x2d')]||null:null,'attributes':[['campaign',_0x767c('0x2f')],[db[_0x767c('0x20')]['fn']('COUNT',db[_0x767c('0x20')][_0x767c('0x22')]('id')),'ivrTotalCallsDays'],[db[_0x767c('0x20')]['fn'](_0x767c('0x21'),db['sequelize']['fn']('IF',db['sequelize']['literal'](_0x767c('0x25')))),'ivrAnswerCallsDay']],'group':[_0x767c('0x2e')]})[_0x767c('0xd')](function(_0x613bb1){logger['info'](_0x767c('0x45'),_0x5c6cc3);logger[_0x767c('0x11')](_0x767c('0x45'),_0x5c6cc3,JSON['stringify'](_0x613bb1));_0x253e16(_0x613bb1);})[_0x767c('0x17')](function(_0x2ca35a){logger[_0x767c('0x14')](_0x767c('0x45'),_0x2ca35a[_0x767c('0x16')],_0x5c6cc3);_0x1e9463(_0x1c475a[_0x767c('0x14')](0x1f4,_0x2ca35a[_0x767c('0x16')]));});});};