bcb6ef3e956a4d942a8380842b0590ced45bfd75
[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 _0xc015=['AvgHandleTime','CmHopperHistory','findAll','where','sequelize','col','predictiveIntervalTotalCalls','COUNT','predictiveIntervalAnsweredCalls','literal','`state`\x20=\x2010,\x201,\x20null','predictiveIntervalDroppedCallsTimeout','`state`\x20=\x2011,\x201,\x20null','predictiveIntervalDroppedCallsCallersExit','AVG','`state`\x20=\x204,\x20`holdtime`,\x20null','predictiveIntervalAvgHoldtime','`state`\x20=\x204,\x20`talktime`,\x20null','predictiveIntervalAvgTalktime','campaign','name','`state`\x20=\x200,\x201,\x20null','outboundNoSuchCallsDay','`state`\x20=\x203,\x201,\x20null','outboundNoAnswerCallsDay','`state`\x20=\x204,\x201,\x20null','`state`\x20=\x205,\x201,\x20null','outboundBusyCallsDay','`state`\x20=\x208,\x201,\x20null','outboundCongestionCallsDay','`state`\x20=\x2010\x20,\x201,\x20null','outboundDropCallsDayTimeout','`state`\x20=\x2011\x20,\x201,\x20null','outboundDropCallsDayCallersExit','`state`\x20=\x2012,\x201,\x20null','`state`\x20=\x2013,\x201,\x20null','outboundBlacklistCallsDay','`state`\x20=\x2014,\x201,\x20null','`state`\x20=\x2018,\x201,\x20null','`state`\x20=\x2016,\x201,\x20null','outboundAnswerAgiCallsDay','`state`\x20=\x2020,\x201,\x20null','outboundRejectCallsDay','`state`\x20=\x2022\x20or\x20`state`\x20=\x2023,\x201,\x20null','outboundReCallsDay','GetVoiceQueueHopperHistory','ivrTotalCallsDays','ivrAnswerCallsDay','GetCampaignHopperHistory','lodash','util','moment','bluebird','randomstring','ioredis','../../mysqldb','../../config/utils','../../config/logger','../../config/environment','jayson/promise','client','http','request','then','info','CmHopperHistory,\x20%s,\x20%s','request\x20sent','debug','CmHopperHistory,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','CreateCmHopperHistory','create','body','options','raw'];(function(_0x36ed48,_0x1ee0d4){var _0x51c63a=function(_0x2d0a40){while(--_0x2d0a40){_0x36ed48['push'](_0x36ed48['shift']());}};_0x51c63a(++_0x1ee0d4);}(_0xc015,0x81));var _0x5c01=function(_0x533110,_0x20937f){_0x533110=_0x533110-0x0;var _0xc3c866=_0xc015[_0x533110];return _0xc3c866;};'use strict';var _=require(_0x5c01('0x0'));var util=require(_0x5c01('0x1'));var moment=require(_0x5c01('0x2'));var BPromise=require(_0x5c01('0x3'));var rs=require(_0x5c01('0x4'));var fs=require('fs');var Redis=require(_0x5c01('0x5'));var db=require(_0x5c01('0x6'))['db'];var utils=require(_0x5c01('0x7'));var logger=require(_0x5c01('0x8'))('rpc');var config=require(_0x5c01('0x9'));var jayson=require(_0x5c01('0xa'));var client=jayson[_0x5c01('0xb')][_0x5c01('0xc')]({'port':0x232a});function respondWithRpcPromise(_0x48d477,_0x480176,_0x2a4100){return new BPromise(function(_0x549869,_0x8ad4cb){return client[_0x5c01('0xd')](_0x48d477,_0x2a4100)[_0x5c01('0xe')](function(_0x5aa79f){logger[_0x5c01('0xf')](_0x5c01('0x10'),_0x480176,_0x5c01('0x11'));logger[_0x5c01('0x12')](_0x5c01('0x13'),_0x480176,_0x5c01('0x11'),JSON[_0x5c01('0x14')](_0x5aa79f));if(_0x5aa79f[_0x5c01('0x15')]){if(_0x5aa79f[_0x5c01('0x15')][_0x5c01('0x16')]===0x1f4){logger['error'](_0x5c01('0x10'),_0x480176,_0x5aa79f[_0x5c01('0x15')][_0x5c01('0x17')]);return _0x8ad4cb(_0x5aa79f[_0x5c01('0x15')][_0x5c01('0x17')]);}logger[_0x5c01('0x15')](_0x5c01('0x10'),_0x480176,_0x5aa79f['error'][_0x5c01('0x17')]);return _0x549869(_0x5aa79f[_0x5c01('0x15')][_0x5c01('0x17')]);}else{logger[_0x5c01('0xf')](_0x5c01('0x10'),_0x480176,'request\x20sent');_0x549869(_0x5aa79f[_0x5c01('0x18')][_0x5c01('0x17')]);}})[_0x5c01('0x19')](function(_0x57573f){logger['error'](_0x5c01('0x10'),_0x480176,_0x57573f);_0x8ad4cb(_0x57573f);});});}exports[_0x5c01('0x1a')]=function(_0x295af7){var _0x38b590=this;return new Promise(function(_0x337d12,_0x94f2){return db['CmHopperHistory'][_0x5c01('0x1b')](_0x295af7[_0x5c01('0x1c')],{'raw':_0x295af7[_0x5c01('0x1d')]?_0x295af7[_0x5c01('0x1d')][_0x5c01('0x1e')]===undefined?!![]:![]:!![]})[_0x5c01('0xe')](function(_0xc0b7bd){logger[_0x5c01('0xf')](_0x5c01('0x1a'),_0x295af7);logger[_0x5c01('0x12')](_0x5c01('0x1a'),_0x295af7,JSON[_0x5c01('0x14')](_0xc0b7bd));_0x337d12(_0xc0b7bd);})['catch'](function(_0x7677f3){logger['error'](_0x5c01('0x1a'),_0x7677f3[_0x5c01('0x17')],_0x295af7);_0x94f2(_0x38b590['error'](0x1f4,_0x7677f3['message']));});});};exports[_0x5c01('0x1f')]=function(_0x155917){var _0x33526b=this;return new Promise(function(_0xf5881,_0x7735a1){return db[_0x5c01('0x20')][_0x5c01('0x21')]({'raw':_0x155917[_0x5c01('0x1d')]?_0x155917[_0x5c01('0x1d')][_0x5c01('0x1e')]===undefined?!![]:![]:!![],'where':_0x155917['options']?_0x155917[_0x5c01('0x1d')][_0x5c01('0x22')]||null:null,'attributes':[[db[_0x5c01('0x23')]['fn']('COUNT',db['sequelize'][_0x5c01('0x24')]('id')),_0x5c01('0x25')],[db[_0x5c01('0x23')]['fn'](_0x5c01('0x26'),db['sequelize']['fn']('IF',db['sequelize']['literal']('`state`\x20=\x204,\x201,\x20null'))),_0x5c01('0x27')],[db[_0x5c01('0x23')]['fn']('COUNT',db[_0x5c01('0x23')]['fn']('IF',db[_0x5c01('0x23')][_0x5c01('0x28')](_0x5c01('0x29')))),_0x5c01('0x2a')],[db[_0x5c01('0x23')]['fn'](_0x5c01('0x26'),db[_0x5c01('0x23')]['fn']('IF',db['sequelize'][_0x5c01('0x28')](_0x5c01('0x2b')))),_0x5c01('0x2c')],[db[_0x5c01('0x23')]['fn'](_0x5c01('0x2d'),db['sequelize']['fn']('IF',db[_0x5c01('0x23')][_0x5c01('0x28')](_0x5c01('0x2e')))),_0x5c01('0x2f')],[db[_0x5c01('0x23')]['fn'](_0x5c01('0x2d'),db[_0x5c01('0x23')]['fn']('IF',db['sequelize'][_0x5c01('0x28')](_0x5c01('0x30')))),_0x5c01('0x31')]]})['then'](function(_0x22bb6a){logger[_0x5c01('0xf')]('AvgHandleTime',_0x155917);logger[_0x5c01('0x12')]('AvgHandleTime',_0x155917,JSON[_0x5c01('0x14')](_0x22bb6a));_0xf5881(_0x22bb6a);})[_0x5c01('0x19')](function(_0x42c84d){logger[_0x5c01('0x15')](_0x5c01('0x1f'),_0x42c84d['message'],_0x155917);_0x7735a1(_0x33526b[_0x5c01('0x15')](0x1f4,_0x42c84d[_0x5c01('0x17')]));});});};exports['GetVoiceQueueHopperHistory']=function(_0x3467b3){var _0x5b7991=this;return new Promise(function(_0x3fd463,_0x3407d0){return db['CmHopperHistory'][_0x5c01('0x21')]({'raw':_0x3467b3['options']?_0x3467b3[_0x5c01('0x1d')][_0x5c01('0x1e')]===undefined?!![]:![]:!![],'where':_0x3467b3['options']?_0x3467b3['options']['where']||null:null,'attributes':[[_0x5c01('0x32'),_0x5c01('0x33')],[db['sequelize']['fn'](_0x5c01('0x26'),db['sequelize']['fn']('IF',db[_0x5c01('0x23')]['literal'](_0x5c01('0x34')))),_0x5c01('0x35')],[db['sequelize']['fn'](_0x5c01('0x26'),db[_0x5c01('0x23')]['fn']('IF',db['sequelize']['literal'](_0x5c01('0x36')))),_0x5c01('0x37')],[db[_0x5c01('0x23')]['fn']('COUNT',db['sequelize']['fn']('IF',db[_0x5c01('0x23')][_0x5c01('0x28')](_0x5c01('0x38')))),'outboundAnswerCallsDay'],[db['sequelize']['fn'](_0x5c01('0x26'),db['sequelize']['fn']('IF',db[_0x5c01('0x23')][_0x5c01('0x28')](_0x5c01('0x39')))),_0x5c01('0x3a')],[db['sequelize']['fn'](_0x5c01('0x26'),db[_0x5c01('0x23')]['fn']('IF',db['sequelize'][_0x5c01('0x28')](_0x5c01('0x3b')))),_0x5c01('0x3c')],[db['sequelize']['fn'](_0x5c01('0x26'),db[_0x5c01('0x23')]['fn']('IF',db[_0x5c01('0x23')][_0x5c01('0x28')](_0x5c01('0x3d')))),_0x5c01('0x3e')],[db['sequelize']['fn'](_0x5c01('0x26'),db[_0x5c01('0x23')]['fn']('IF',db[_0x5c01('0x23')][_0x5c01('0x28')](_0x5c01('0x3f')))),_0x5c01('0x40')],[db[_0x5c01('0x23')]['fn'](_0x5c01('0x26'),db[_0x5c01('0x23')]['fn']('IF',db[_0x5c01('0x23')][_0x5c01('0x28')](_0x5c01('0x41')))),'outboundUnknownCallsDay'],[db[_0x5c01('0x23')]['fn'](_0x5c01('0x26'),db['sequelize']['fn']('IF',db['sequelize'][_0x5c01('0x28')](_0x5c01('0x42')))),_0x5c01('0x43')],[db['sequelize']['fn'](_0x5c01('0x26'),db['sequelize']['fn']('IF',db[_0x5c01('0x23')]['literal'](_0x5c01('0x44')))),'outboundOriginateFailureCallsDay'],[db['sequelize']['fn'](_0x5c01('0x26'),db[_0x5c01('0x23')]['fn']('IF',db[_0x5c01('0x23')][_0x5c01('0x28')](_0x5c01('0x45')))),'outboundRejectCallsDay'],[db[_0x5c01('0x23')]['fn'](_0x5c01('0x26'),db[_0x5c01('0x23')]['fn']('IF',db[_0x5c01('0x23')][_0x5c01('0x28')](_0x5c01('0x46')))),_0x5c01('0x47')],[db[_0x5c01('0x23')]['fn'](_0x5c01('0x26'),db[_0x5c01('0x23')]['fn']('IF',db[_0x5c01('0x23')][_0x5c01('0x28')](_0x5c01('0x48')))),_0x5c01('0x49')],[db['sequelize']['fn']('COUNT',db['sequelize']['fn']('IF',db['sequelize'][_0x5c01('0x28')](_0x5c01('0x4a')))),_0x5c01('0x4b')]],'group':[_0x5c01('0x32')]})[_0x5c01('0xe')](function(_0x1f02c5){logger['info']('GetVoiceQueueHopperHistory',_0x3467b3);logger[_0x5c01('0x12')](_0x5c01('0x4c'),_0x3467b3,JSON[_0x5c01('0x14')](_0x1f02c5));_0x3fd463(_0x1f02c5);})[_0x5c01('0x19')](function(_0x5476b6){logger['error'](_0x5c01('0x4c'),_0x5476b6[_0x5c01('0x17')],_0x3467b3);_0x3407d0(_0x5b7991[_0x5c01('0x15')](0x1f4,_0x5476b6[_0x5c01('0x17')]));});});};exports['GetCampaignHopperHistory']=function(_0x14d510){var _0x23c3b3=this;return new Promise(function(_0x55289e,_0x46ba5b){return db['CmHopperHistory'][_0x5c01('0x21')]({'raw':_0x14d510['options']?_0x14d510[_0x5c01('0x1d')][_0x5c01('0x1e')]===undefined?!![]:![]:!![],'where':_0x14d510['options']?_0x14d510[_0x5c01('0x1d')][_0x5c01('0x22')]||null:null,'attributes':[[_0x5c01('0x32'),_0x5c01('0x33')],[db['sequelize']['fn']('COUNT',db[_0x5c01('0x23')]['col']('id')),_0x5c01('0x4d')],[db[_0x5c01('0x23')]['fn'](_0x5c01('0x26'),db[_0x5c01('0x23')]['fn']('IF',db[_0x5c01('0x23')][_0x5c01('0x28')](_0x5c01('0x38')))),_0x5c01('0x4e')]],'group':['campaign']})[_0x5c01('0xe')](function(_0x2fd004){logger['info'](_0x5c01('0x4f'),_0x14d510);logger[_0x5c01('0x12')](_0x5c01('0x4f'),_0x14d510,JSON[_0x5c01('0x14')](_0x2fd004));_0x55289e(_0x2fd004);})['catch'](function(_0x37fc1f){logger[_0x5c01('0x15')](_0x5c01('0x4f'),_0x37fc1f['message'],_0x14d510);_0x46ba5b(_0x23c3b3[_0x5c01('0x15')](0x1f4,_0x37fc1f[_0x5c01('0x17')]));});});};