Built motion from commit (unavailable).|2.5.4
[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 _0xf4eb=['col','predictiveIntervalTotalCalls','literal','predictiveIntervalAnsweredCalls','COUNT','`state`\x20=\x2010,\x201,\x20null','predictiveIntervalDroppedCallsTimeout','`state`\x20=\x2011,\x201,\x20null','predictiveIntervalDroppedCallsCallersExit','AVG','predictiveIntervalAvgHoldtime','`state`\x20=\x204,\x20`talktime`,\x20null','predictiveIntervalAvgTalktime','GetVoiceQueueHopperHistory','where','campaign','`state`\x20=\x200,\x201,\x20null','`state`\x20=\x203,\x201,\x20null','outboundNoAnswerCallsDay','outboundAnswerCallsDay','`state`\x20=\x208,\x201,\x20null','outboundDropCallsDayTimeout','`state`\x20=\x2011\x20,\x201,\x20null','outboundDropCallsDayCallersExit','`state`\x20=\x2012,\x201,\x20null','outboundUnknownCallsDay','outboundBlacklistCallsDay','`state`\x20=\x2014,\x201,\x20null','outboundOriginateFailureCallsDay','`state`\x20=\x2018,\x201,\x20null','outboundRejectCallsDay','`state`\x20=\x2016,\x201,\x20null','`state`\x20=\x2022\x20or\x20`state`\x20=\x2023,\x201,\x20null','outboundReCallsDay','name','`state`\x20=\x204,\x201,\x20null','ivrAnswerCallsDay','GetCampaignHopperHistory','lodash','ioredis','../../config/logger','rpc','../../config/environment','jayson/promise','client','http','request','then','info','CmHopperHistory,\x20%s,\x20%s','request\x20sent','debug','stringify','error','code','message','catch','CreateCmHopperHistory','CmHopperHistory','create','body','raw','AvgHandleTime','findAll','options','sequelize'];(function(_0x37d0bc,_0x109b96){var _0x170e60=function(_0xae2ad){while(--_0xae2ad){_0x37d0bc['push'](_0x37d0bc['shift']());}};_0x170e60(++_0x109b96);}(_0xf4eb,0xec));var _0xbf4e=function(_0x30a95c,_0x473223){_0x30a95c=_0x30a95c-0x0;var _0x4a2df3=_0xf4eb[_0x30a95c];return _0x4a2df3;};'use strict';var _=require(_0xbf4e('0x0'));var util=require('util');var moment=require('moment');var BPromise=require('bluebird');var rs=require('randomstring');var fs=require('fs');var Redis=require(_0xbf4e('0x1'));var db=require('../../mysqldb')['db'];var utils=require('../../config/utils');var logger=require(_0xbf4e('0x2'))(_0xbf4e('0x3'));var config=require(_0xbf4e('0x4'));var jayson=require(_0xbf4e('0x5'));var client=jayson[_0xbf4e('0x6')][_0xbf4e('0x7')]({'port':0x232a});function respondWithRpcPromise(_0x15b99f,_0x540736,_0x449d55){return new BPromise(function(_0x5013c2,_0x5e23d4){return client[_0xbf4e('0x8')](_0x15b99f,_0x449d55)[_0xbf4e('0x9')](function(_0xcc4097){logger[_0xbf4e('0xa')](_0xbf4e('0xb'),_0x540736,_0xbf4e('0xc'));logger[_0xbf4e('0xd')]('CmHopperHistory,\x20%s,\x20%s,\x20%s',_0x540736,'request\x20sent',JSON[_0xbf4e('0xe')](_0xcc4097));if(_0xcc4097['error']){if(_0xcc4097[_0xbf4e('0xf')][_0xbf4e('0x10')]===0x1f4){logger['error'](_0xbf4e('0xb'),_0x540736,_0xcc4097['error']['message']);return _0x5e23d4(_0xcc4097[_0xbf4e('0xf')][_0xbf4e('0x11')]);}logger[_0xbf4e('0xf')](_0xbf4e('0xb'),_0x540736,_0xcc4097[_0xbf4e('0xf')][_0xbf4e('0x11')]);return _0x5013c2(_0xcc4097['error']['message']);}else{logger[_0xbf4e('0xa')](_0xbf4e('0xb'),_0x540736,_0xbf4e('0xc'));_0x5013c2(_0xcc4097['result'][_0xbf4e('0x11')]);}})[_0xbf4e('0x12')](function(_0x912fc0){logger[_0xbf4e('0xf')]('CmHopperHistory,\x20%s,\x20%s',_0x540736,_0x912fc0);_0x5e23d4(_0x912fc0);});});}exports[_0xbf4e('0x13')]=function(_0x577c27){var _0x5db03f=this;return new Promise(function(_0x566ec3,_0x4f8762){return db[_0xbf4e('0x14')][_0xbf4e('0x15')](_0x577c27[_0xbf4e('0x16')],{'raw':_0x577c27['options']?_0x577c27['options'][_0xbf4e('0x17')]===undefined?!![]:![]:!![]})[_0xbf4e('0x9')](function(_0x3be138){logger[_0xbf4e('0xa')](_0xbf4e('0x13'),_0x577c27);logger[_0xbf4e('0xd')](_0xbf4e('0x13'),_0x577c27,JSON[_0xbf4e('0xe')](_0x3be138));_0x566ec3(_0x3be138);})[_0xbf4e('0x12')](function(_0x376832){logger[_0xbf4e('0xf')]('CreateCmHopperHistory',_0x376832[_0xbf4e('0x11')],_0x577c27);_0x4f8762(_0x5db03f[_0xbf4e('0xf')](0x1f4,_0x376832['message']));});});};exports[_0xbf4e('0x18')]=function(_0x30994d){var _0x114412=this;return new Promise(function(_0x1bda8b,_0x3a5d72){return db['CmHopperHistory'][_0xbf4e('0x19')]({'raw':_0x30994d[_0xbf4e('0x1a')]?_0x30994d[_0xbf4e('0x1a')]['raw']===undefined?!![]:![]:!![],'where':_0x30994d[_0xbf4e('0x1a')]?_0x30994d['options']['where']||null:null,'attributes':[[db[_0xbf4e('0x1b')]['fn']('COUNT',db[_0xbf4e('0x1b')][_0xbf4e('0x1c')]('id')),_0xbf4e('0x1d')],[db[_0xbf4e('0x1b')]['fn']('COUNT',db[_0xbf4e('0x1b')]['fn']('IF',db[_0xbf4e('0x1b')][_0xbf4e('0x1e')]('`state`\x20=\x204,\x201,\x20null'))),_0xbf4e('0x1f')],[db['sequelize']['fn'](_0xbf4e('0x20'),db[_0xbf4e('0x1b')]['fn']('IF',db[_0xbf4e('0x1b')]['literal'](_0xbf4e('0x21')))),_0xbf4e('0x22')],[db[_0xbf4e('0x1b')]['fn'](_0xbf4e('0x20'),db[_0xbf4e('0x1b')]['fn']('IF',db[_0xbf4e('0x1b')]['literal'](_0xbf4e('0x23')))),_0xbf4e('0x24')],[db['sequelize']['fn'](_0xbf4e('0x25'),db[_0xbf4e('0x1b')]['fn']('IF',db['sequelize'][_0xbf4e('0x1e')]('`state`\x20=\x204,\x20`holdtime`,\x20null'))),_0xbf4e('0x26')],[db['sequelize']['fn'](_0xbf4e('0x25'),db[_0xbf4e('0x1b')]['fn']('IF',db[_0xbf4e('0x1b')]['literal'](_0xbf4e('0x27')))),_0xbf4e('0x28')]]})[_0xbf4e('0x9')](function(_0x29d6aa){logger[_0xbf4e('0xa')](_0xbf4e('0x18'),_0x30994d);logger['debug'](_0xbf4e('0x18'),_0x30994d,JSON[_0xbf4e('0xe')](_0x29d6aa));_0x1bda8b(_0x29d6aa);})[_0xbf4e('0x12')](function(_0x3bba55){logger[_0xbf4e('0xf')]('AvgHandleTime',_0x3bba55['message'],_0x30994d);_0x3a5d72(_0x114412['error'](0x1f4,_0x3bba55['message']));});});};exports[_0xbf4e('0x29')]=function(_0x17a1a1){var _0x91b52f=this;return new Promise(function(_0x2693ba,_0x22ddde){return db[_0xbf4e('0x14')][_0xbf4e('0x19')]({'raw':_0x17a1a1[_0xbf4e('0x1a')]?_0x17a1a1[_0xbf4e('0x1a')]['raw']===undefined?!![]:![]:!![],'where':_0x17a1a1['options']?_0x17a1a1[_0xbf4e('0x1a')][_0xbf4e('0x2a')]||null:null,'attributes':[[_0xbf4e('0x2b'),'name'],[db[_0xbf4e('0x1b')]['fn']('COUNT',db[_0xbf4e('0x1b')]['fn']('IF',db[_0xbf4e('0x1b')][_0xbf4e('0x1e')](_0xbf4e('0x2c')))),'outboundNoSuchCallsDay'],[db[_0xbf4e('0x1b')]['fn'](_0xbf4e('0x20'),db[_0xbf4e('0x1b')]['fn']('IF',db[_0xbf4e('0x1b')]['literal'](_0xbf4e('0x2d')))),_0xbf4e('0x2e')],[db[_0xbf4e('0x1b')]['fn'](_0xbf4e('0x20'),db[_0xbf4e('0x1b')]['fn']('IF',db[_0xbf4e('0x1b')][_0xbf4e('0x1e')]('`state`\x20=\x204,\x201,\x20null'))),_0xbf4e('0x2f')],[db[_0xbf4e('0x1b')]['fn']('COUNT',db['sequelize']['fn']('IF',db[_0xbf4e('0x1b')][_0xbf4e('0x1e')]('`state`\x20=\x205,\x201,\x20null'))),'outboundBusyCallsDay'],[db[_0xbf4e('0x1b')]['fn'](_0xbf4e('0x20'),db[_0xbf4e('0x1b')]['fn']('IF',db[_0xbf4e('0x1b')][_0xbf4e('0x1e')](_0xbf4e('0x30')))),'outboundCongestionCallsDay'],[db[_0xbf4e('0x1b')]['fn'](_0xbf4e('0x20'),db['sequelize']['fn']('IF',db['sequelize']['literal']('`state`\x20=\x2010\x20,\x201,\x20null'))),_0xbf4e('0x31')],[db['sequelize']['fn'](_0xbf4e('0x20'),db[_0xbf4e('0x1b')]['fn']('IF',db['sequelize']['literal'](_0xbf4e('0x32')))),_0xbf4e('0x33')],[db[_0xbf4e('0x1b')]['fn'](_0xbf4e('0x20'),db[_0xbf4e('0x1b')]['fn']('IF',db['sequelize'][_0xbf4e('0x1e')](_0xbf4e('0x34')))),_0xbf4e('0x35')],[db[_0xbf4e('0x1b')]['fn'](_0xbf4e('0x20'),db[_0xbf4e('0x1b')]['fn']('IF',db[_0xbf4e('0x1b')][_0xbf4e('0x1e')]('`state`\x20=\x2013,\x201,\x20null'))),_0xbf4e('0x36')],[db[_0xbf4e('0x1b')]['fn'](_0xbf4e('0x20'),db[_0xbf4e('0x1b')]['fn']('IF',db[_0xbf4e('0x1b')][_0xbf4e('0x1e')](_0xbf4e('0x37')))),_0xbf4e('0x38')],[db[_0xbf4e('0x1b')]['fn'](_0xbf4e('0x20'),db[_0xbf4e('0x1b')]['fn']('IF',db[_0xbf4e('0x1b')][_0xbf4e('0x1e')](_0xbf4e('0x39')))),_0xbf4e('0x3a')],[db[_0xbf4e('0x1b')]['fn'](_0xbf4e('0x20'),db['sequelize']['fn']('IF',db[_0xbf4e('0x1b')][_0xbf4e('0x1e')](_0xbf4e('0x3b')))),'outboundAnswerAgiCallsDay'],[db[_0xbf4e('0x1b')]['fn']('COUNT',db['sequelize']['fn']('IF',db[_0xbf4e('0x1b')][_0xbf4e('0x1e')]('`state`\x20=\x2020,\x201,\x20null'))),_0xbf4e('0x3a')],[db[_0xbf4e('0x1b')]['fn'](_0xbf4e('0x20'),db[_0xbf4e('0x1b')]['fn']('IF',db[_0xbf4e('0x1b')][_0xbf4e('0x1e')](_0xbf4e('0x3c')))),_0xbf4e('0x3d')]],'group':[_0xbf4e('0x2b')]})[_0xbf4e('0x9')](function(_0x271ad2){logger['info']('GetVoiceQueueHopperHistory',_0x17a1a1);logger[_0xbf4e('0xd')](_0xbf4e('0x29'),_0x17a1a1,JSON[_0xbf4e('0xe')](_0x271ad2));_0x2693ba(_0x271ad2);})['catch'](function(_0x339ce6){logger[_0xbf4e('0xf')]('GetVoiceQueueHopperHistory',_0x339ce6['message'],_0x17a1a1);_0x22ddde(_0x91b52f[_0xbf4e('0xf')](0x1f4,_0x339ce6['message']));});});};exports['GetCampaignHopperHistory']=function(_0x424f41){var _0x3dd51a=this;return new Promise(function(_0x73ca86,_0x43cfd7){return db[_0xbf4e('0x14')]['findAll']({'raw':_0x424f41[_0xbf4e('0x1a')]?_0x424f41['options'][_0xbf4e('0x17')]===undefined?!![]:![]:!![],'where':_0x424f41['options']?_0x424f41[_0xbf4e('0x1a')]['where']||null:null,'attributes':[[_0xbf4e('0x2b'),_0xbf4e('0x3e')],[db[_0xbf4e('0x1b')]['fn'](_0xbf4e('0x20'),db[_0xbf4e('0x1b')]['col']('id')),'ivrTotalCallsDays'],[db['sequelize']['fn']('COUNT',db[_0xbf4e('0x1b')]['fn']('IF',db[_0xbf4e('0x1b')]['literal'](_0xbf4e('0x3f')))),_0xbf4e('0x40')]],'group':[_0xbf4e('0x2b')]})[_0xbf4e('0x9')](function(_0x17c2e1){logger[_0xbf4e('0xa')](_0xbf4e('0x41'),_0x424f41);logger['debug'](_0xbf4e('0x41'),_0x424f41,JSON[_0xbf4e('0xe')](_0x17c2e1));_0x73ca86(_0x17c2e1);})[_0xbf4e('0x12')](function(_0x5e548a){logger['error'](_0xbf4e('0x41'),_0x5e548a[_0xbf4e('0x11')],_0x424f41);_0x43cfd7(_0x3dd51a[_0xbf4e('0xf')](0x1f4,_0x5e548a['message']));});});};