a64a80f63ca0404a8ef6d24ff320e4e7b9139e61
[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 _0xb3d3=['catch','AvgHandleTime','where','sequelize','col','literal','`state`\x20=\x204,\x201,\x20null','predictiveIntervalAnsweredCalls','COUNT','predictiveIntervalDroppedCallsTimeout','`state`\x20=\x204,\x20`holdtime`,\x20null','predictiveIntervalAvgHoldtime','AVG','predictiveIntervalAvgTalktime','GetVoiceQueueHopperHistory','findAll','campaign','name','`state`\x20=\x200,\x201,\x20null','outboundNoSuchCallsDay','`state`\x20=\x203,\x201,\x20null','outboundNoAnswerCallsDay','`state`\x20=\x205,\x201,\x20null','outboundBusyCallsDay','`state`\x20=\x208,\x201,\x20null','outboundCongestionCallsDay','`state`\x20=\x2010\x20,\x201,\x20null','outboundDropCallsDayTimeout','outboundDropCallsDayCallersExit','`state`\x20=\x2013,\x201,\x20null','`state`\x20=\x2014,\x201,\x20null','outboundOriginateFailureCallsDay','`state`\x20=\x2018,\x201,\x20null','outboundRejectCallsDay','outboundAnswerAgiCallsDay','`state`\x20=\x2022\x20or\x20`state`\x20=\x2023,\x201,\x20null','outboundReCallsDay','ivrTotalCallsDays','ivrAnswerCallsDay','GetCampaignHopperHistory','lodash','bluebird','randomstring','ioredis','../../mysqldb','../../config/utils','rpc','../../config/environment','client','http','request','then','CmHopperHistory,\x20%s,\x20%s','request\x20sent','CmHopperHistory,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','CreateCmHopperHistory','CmHopperHistory','create','options','raw','info','debug'];(function(_0x5cc9e1,_0x99fb0){var _0x386cc2=function(_0x121e38){while(--_0x121e38){_0x5cc9e1['push'](_0x5cc9e1['shift']());}};_0x386cc2(++_0x99fb0);}(_0xb3d3,0x1ba));var _0x3b3d=function(_0x5a7e78,_0x400b57){_0x5a7e78=_0x5a7e78-0x0;var _0xa8d4a1=_0xb3d3[_0x5a7e78];return _0xa8d4a1;};'use strict';var _=require(_0x3b3d('0x0'));var util=require('util');var moment=require('moment');var BPromise=require(_0x3b3d('0x1'));var rs=require(_0x3b3d('0x2'));var fs=require('fs');var Redis=require(_0x3b3d('0x3'));var db=require(_0x3b3d('0x4'))['db'];var utils=require(_0x3b3d('0x5'));var logger=require('../../config/logger')(_0x3b3d('0x6'));var config=require(_0x3b3d('0x7'));var jayson=require('jayson/promise');var client=jayson[_0x3b3d('0x8')][_0x3b3d('0x9')]({'port':0x232a});function respondWithRpcPromise(_0x3630da,_0x2045fd,_0x447d36){return new BPromise(function(_0x21ba49,_0x43bc1e){return client[_0x3b3d('0xa')](_0x3630da,_0x447d36)[_0x3b3d('0xb')](function(_0x54622f){logger['info'](_0x3b3d('0xc'),_0x2045fd,_0x3b3d('0xd'));logger['debug'](_0x3b3d('0xe'),_0x2045fd,_0x3b3d('0xd'),JSON[_0x3b3d('0xf')](_0x54622f));if(_0x54622f[_0x3b3d('0x10')]){if(_0x54622f['error'][_0x3b3d('0x11')]===0x1f4){logger['error'](_0x3b3d('0xc'),_0x2045fd,_0x54622f[_0x3b3d('0x10')][_0x3b3d('0x12')]);return _0x43bc1e(_0x54622f[_0x3b3d('0x10')]['message']);}logger[_0x3b3d('0x10')](_0x3b3d('0xc'),_0x2045fd,_0x54622f[_0x3b3d('0x10')]['message']);return _0x21ba49(_0x54622f[_0x3b3d('0x10')][_0x3b3d('0x12')]);}else{logger['info']('CmHopperHistory,\x20%s,\x20%s',_0x2045fd,_0x3b3d('0xd'));_0x21ba49(_0x54622f[_0x3b3d('0x13')][_0x3b3d('0x12')]);}})['catch'](function(_0x2cda55){logger[_0x3b3d('0x10')](_0x3b3d('0xc'),_0x2045fd,_0x2cda55);_0x43bc1e(_0x2cda55);});});}exports[_0x3b3d('0x14')]=function(_0x5b7c08){var _0x304f1e=this;return new Promise(function(_0x4be438,_0x5e9b40){return db[_0x3b3d('0x15')][_0x3b3d('0x16')](_0x5b7c08['body'],{'raw':_0x5b7c08[_0x3b3d('0x17')]?_0x5b7c08[_0x3b3d('0x17')][_0x3b3d('0x18')]===undefined?!![]:![]:!![]})[_0x3b3d('0xb')](function(_0x4d19fa){logger[_0x3b3d('0x19')]('CreateCmHopperHistory',_0x5b7c08);logger[_0x3b3d('0x1a')]('CreateCmHopperHistory',_0x5b7c08,JSON[_0x3b3d('0xf')](_0x4d19fa));_0x4be438(_0x4d19fa);})[_0x3b3d('0x1b')](function(_0x511d7c){logger[_0x3b3d('0x10')]('CreateCmHopperHistory',_0x511d7c[_0x3b3d('0x12')],_0x5b7c08);_0x5e9b40(_0x304f1e[_0x3b3d('0x10')](0x1f4,_0x511d7c[_0x3b3d('0x12')]));});});};exports[_0x3b3d('0x1c')]=function(_0x1da3b4){var _0x22dd9a=this;return new Promise(function(_0x14b9b0,_0x5921ee){return db[_0x3b3d('0x15')]['findAll']({'raw':_0x1da3b4['options']?_0x1da3b4['options'][_0x3b3d('0x18')]===undefined?!![]:![]:!![],'where':_0x1da3b4[_0x3b3d('0x17')]?_0x1da3b4[_0x3b3d('0x17')][_0x3b3d('0x1d')]||null:null,'attributes':[[db[_0x3b3d('0x1e')]['fn']('COUNT',db['sequelize'][_0x3b3d('0x1f')]('id')),'predictiveIntervalTotalCalls'],[db[_0x3b3d('0x1e')]['fn']('COUNT',db[_0x3b3d('0x1e')]['fn']('IF',db['sequelize'][_0x3b3d('0x20')](_0x3b3d('0x21')))),_0x3b3d('0x22')],[db[_0x3b3d('0x1e')]['fn'](_0x3b3d('0x23'),db[_0x3b3d('0x1e')]['fn']('IF',db[_0x3b3d('0x1e')][_0x3b3d('0x20')]('`state`\x20=\x2010,\x201,\x20null'))),_0x3b3d('0x24')],[db[_0x3b3d('0x1e')]['fn'](_0x3b3d('0x23'),db[_0x3b3d('0x1e')]['fn']('IF',db[_0x3b3d('0x1e')][_0x3b3d('0x20')]('`state`\x20=\x2011,\x201,\x20null'))),'predictiveIntervalDroppedCallsCallersExit'],[db['sequelize']['fn']('AVG',db[_0x3b3d('0x1e')]['fn']('IF',db['sequelize']['literal'](_0x3b3d('0x25')))),_0x3b3d('0x26')],[db[_0x3b3d('0x1e')]['fn'](_0x3b3d('0x27'),db[_0x3b3d('0x1e')]['fn']('IF',db[_0x3b3d('0x1e')][_0x3b3d('0x20')]('`state`\x20=\x204,\x20`talktime`,\x20null'))),_0x3b3d('0x28')]]})[_0x3b3d('0xb')](function(_0x488224){logger[_0x3b3d('0x19')](_0x3b3d('0x1c'),_0x1da3b4);logger[_0x3b3d('0x1a')](_0x3b3d('0x1c'),_0x1da3b4,JSON[_0x3b3d('0xf')](_0x488224));_0x14b9b0(_0x488224);})[_0x3b3d('0x1b')](function(_0x22be39){logger[_0x3b3d('0x10')](_0x3b3d('0x1c'),_0x22be39['message'],_0x1da3b4);_0x5921ee(_0x22dd9a[_0x3b3d('0x10')](0x1f4,_0x22be39[_0x3b3d('0x12')]));});});};exports[_0x3b3d('0x29')]=function(_0x36e6d1){var _0x316d2d=this;return new Promise(function(_0xd95271,_0x4439eb){return db['CmHopperHistory'][_0x3b3d('0x2a')]({'raw':_0x36e6d1[_0x3b3d('0x17')]?_0x36e6d1[_0x3b3d('0x17')][_0x3b3d('0x18')]===undefined?!![]:![]:!![],'where':_0x36e6d1[_0x3b3d('0x17')]?_0x36e6d1[_0x3b3d('0x17')][_0x3b3d('0x1d')]||null:null,'attributes':[[_0x3b3d('0x2b'),_0x3b3d('0x2c')],[db[_0x3b3d('0x1e')]['fn'](_0x3b3d('0x23'),db[_0x3b3d('0x1e')]['fn']('IF',db['sequelize'][_0x3b3d('0x20')](_0x3b3d('0x2d')))),_0x3b3d('0x2e')],[db['sequelize']['fn']('COUNT',db['sequelize']['fn']('IF',db[_0x3b3d('0x1e')][_0x3b3d('0x20')](_0x3b3d('0x2f')))),_0x3b3d('0x30')],[db['sequelize']['fn'](_0x3b3d('0x23'),db[_0x3b3d('0x1e')]['fn']('IF',db[_0x3b3d('0x1e')][_0x3b3d('0x20')]('`state`\x20=\x204,\x201,\x20null'))),'outboundAnswerCallsDay'],[db[_0x3b3d('0x1e')]['fn'](_0x3b3d('0x23'),db[_0x3b3d('0x1e')]['fn']('IF',db['sequelize'][_0x3b3d('0x20')](_0x3b3d('0x31')))),_0x3b3d('0x32')],[db['sequelize']['fn'](_0x3b3d('0x23'),db[_0x3b3d('0x1e')]['fn']('IF',db[_0x3b3d('0x1e')][_0x3b3d('0x20')](_0x3b3d('0x33')))),_0x3b3d('0x34')],[db[_0x3b3d('0x1e')]['fn'](_0x3b3d('0x23'),db['sequelize']['fn']('IF',db['sequelize'][_0x3b3d('0x20')](_0x3b3d('0x35')))),_0x3b3d('0x36')],[db[_0x3b3d('0x1e')]['fn'](_0x3b3d('0x23'),db[_0x3b3d('0x1e')]['fn']('IF',db['sequelize']['literal']('`state`\x20=\x2011\x20,\x201,\x20null'))),_0x3b3d('0x37')],[db['sequelize']['fn'](_0x3b3d('0x23'),db['sequelize']['fn']('IF',db[_0x3b3d('0x1e')][_0x3b3d('0x20')]('`state`\x20=\x2012,\x201,\x20null'))),'outboundUnknownCallsDay'],[db[_0x3b3d('0x1e')]['fn'](_0x3b3d('0x23'),db[_0x3b3d('0x1e')]['fn']('IF',db[_0x3b3d('0x1e')]['literal'](_0x3b3d('0x38')))),'outboundBlacklistCallsDay'],[db[_0x3b3d('0x1e')]['fn'](_0x3b3d('0x23'),db['sequelize']['fn']('IF',db['sequelize'][_0x3b3d('0x20')](_0x3b3d('0x39')))),_0x3b3d('0x3a')],[db['sequelize']['fn']('COUNT',db[_0x3b3d('0x1e')]['fn']('IF',db[_0x3b3d('0x1e')]['literal'](_0x3b3d('0x3b')))),_0x3b3d('0x3c')],[db['sequelize']['fn']('COUNT',db[_0x3b3d('0x1e')]['fn']('IF',db[_0x3b3d('0x1e')][_0x3b3d('0x20')]('`state`\x20=\x2016,\x201,\x20null'))),_0x3b3d('0x3d')],[db[_0x3b3d('0x1e')]['fn'](_0x3b3d('0x23'),db[_0x3b3d('0x1e')]['fn']('IF',db[_0x3b3d('0x1e')][_0x3b3d('0x20')]('`state`\x20=\x2020,\x201,\x20null'))),_0x3b3d('0x3c')],[db[_0x3b3d('0x1e')]['fn'](_0x3b3d('0x23'),db['sequelize']['fn']('IF',db[_0x3b3d('0x1e')][_0x3b3d('0x20')](_0x3b3d('0x3e')))),_0x3b3d('0x3f')]],'group':[_0x3b3d('0x2b')]})['then'](function(_0x1cb124){logger[_0x3b3d('0x19')]('GetVoiceQueueHopperHistory',_0x36e6d1);logger[_0x3b3d('0x1a')](_0x3b3d('0x29'),_0x36e6d1,JSON[_0x3b3d('0xf')](_0x1cb124));_0xd95271(_0x1cb124);})[_0x3b3d('0x1b')](function(_0x3e0768){logger[_0x3b3d('0x10')](_0x3b3d('0x29'),_0x3e0768[_0x3b3d('0x12')],_0x36e6d1);_0x4439eb(_0x316d2d[_0x3b3d('0x10')](0x1f4,_0x3e0768[_0x3b3d('0x12')]));});});};exports['GetCampaignHopperHistory']=function(_0x5b33f9){var _0x4a60b2=this;return new Promise(function(_0x1f8183,_0x586bd5){return db[_0x3b3d('0x15')]['findAll']({'raw':_0x5b33f9[_0x3b3d('0x17')]?_0x5b33f9[_0x3b3d('0x17')][_0x3b3d('0x18')]===undefined?!![]:![]:!![],'where':_0x5b33f9[_0x3b3d('0x17')]?_0x5b33f9[_0x3b3d('0x17')]['where']||null:null,'attributes':[[_0x3b3d('0x2b'),'name'],[db[_0x3b3d('0x1e')]['fn']('COUNT',db['sequelize']['col']('id')),_0x3b3d('0x40')],[db[_0x3b3d('0x1e')]['fn'](_0x3b3d('0x23'),db[_0x3b3d('0x1e')]['fn']('IF',db[_0x3b3d('0x1e')]['literal']('`state`\x20=\x204,\x201,\x20null'))),_0x3b3d('0x41')]],'group':[_0x3b3d('0x2b')]})['then'](function(_0x2c8ca2){logger[_0x3b3d('0x19')](_0x3b3d('0x42'),_0x5b33f9);logger[_0x3b3d('0x1a')]('GetCampaignHopperHistory',_0x5b33f9,JSON[_0x3b3d('0xf')](_0x2c8ca2));_0x1f8183(_0x2c8ca2);})['catch'](function(_0x44a767){logger[_0x3b3d('0x10')](_0x3b3d('0x42'),_0x44a767[_0x3b3d('0x12')],_0x5b33f9);_0x586bd5(_0x4a60b2[_0x3b3d('0x10')](0x1f4,_0x44a767[_0x3b3d('0x12')]));});});};