Built motion from commit 00bf23f6.|2.6.16
[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 _0xa9e0=['util','moment','ioredis','../../config/utils','../../config/logger','rpc','../../config/environment','jayson/promise','http','info','CmHopperHistory,\x20%s,\x20%s','request\x20sent','debug','CmHopperHistory,\x20%s,\x20%s,\x20%s','code','error','message','result','catch','CmHopperHistory','create','body','options','raw','then','CreateCmHopperHistory','stringify','AvgHandleTime','findAll','where','COUNT','col','sequelize','literal','`state`\x20=\x204,\x201,\x20null','predictiveIntervalAnsweredCalls','`state`\x20=\x2010,\x201,\x20null','`state`\x20=\x2011,\x201,\x20null','predictiveIntervalDroppedCallsCallersExit','AVG','`state`\x20=\x204,\x20`holdtime`,\x20null','predictiveIntervalAvgHoldtime','`state`\x20=\x204,\x20`talktime`,\x20null','predictiveIntervalAvgTalktime','GetVoiceQueueHopperHistory','campaign','name','outboundNoSuchCallsDay','`state`\x20=\x203,\x201,\x20null','outboundAnswerCallsDay','`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','outboundUnknownCallsDay','`state`\x20=\x2013,\x201,\x20null','`state`\x20=\x2014,\x201,\x20null','outboundOriginateFailureCallsDay','`state`\x20=\x2018,\x201,\x20null','outboundRejectCallsDay','`state`\x20=\x2016,\x201,\x20null','outboundAnswerAgiCallsDay','`state`\x20=\x2022\x20or\x20`state`\x20=\x2023,\x201,\x20null','outboundReCallsDay','GetCampaignHopperHistory','ivrTotalCallsDays','ivrAnswerCallsDay','lodash'];(function(_0x28d6b3,_0x56a647){var _0x5001a5=function(_0x160b84){while(--_0x160b84){_0x28d6b3['push'](_0x28d6b3['shift']());}};_0x5001a5(++_0x56a647);}(_0xa9e0,0x123));var _0x0a9e=function(_0x501510,_0x61caa9){_0x501510=_0x501510-0x0;var _0x1e6ee5=_0xa9e0[_0x501510];return _0x1e6ee5;};'use strict';var _=require(_0x0a9e('0x0'));var util=require(_0x0a9e('0x1'));var moment=require(_0x0a9e('0x2'));var BPromise=require('bluebird');var rs=require('randomstring');var fs=require('fs');var Redis=require(_0x0a9e('0x3'));var db=require('../../mysqldb')['db'];var utils=require(_0x0a9e('0x4'));var logger=require(_0x0a9e('0x5'))(_0x0a9e('0x6'));var config=require(_0x0a9e('0x7'));var jayson=require(_0x0a9e('0x8'));var client=jayson['client'][_0x0a9e('0x9')]({'port':0x232a});function respondWithRpcPromise(_0x441e3a,_0x2cc193,_0x5f41ea){return new BPromise(function(_0x503809,_0xe42b77){return client['request'](_0x441e3a,_0x5f41ea)['then'](function(_0x39753a){logger[_0x0a9e('0xa')](_0x0a9e('0xb'),_0x2cc193,_0x0a9e('0xc'));logger[_0x0a9e('0xd')](_0x0a9e('0xe'),_0x2cc193,'request\x20sent',JSON['stringify'](_0x39753a));if(_0x39753a['error']){if(_0x39753a['error'][_0x0a9e('0xf')]===0x1f4){logger[_0x0a9e('0x10')](_0x0a9e('0xb'),_0x2cc193,_0x39753a[_0x0a9e('0x10')][_0x0a9e('0x11')]);return _0xe42b77(_0x39753a[_0x0a9e('0x10')]['message']);}logger[_0x0a9e('0x10')](_0x0a9e('0xb'),_0x2cc193,_0x39753a[_0x0a9e('0x10')][_0x0a9e('0x11')]);return _0x503809(_0x39753a[_0x0a9e('0x10')][_0x0a9e('0x11')]);}else{logger['info'](_0x0a9e('0xb'),_0x2cc193,'request\x20sent');_0x503809(_0x39753a[_0x0a9e('0x12')]['message']);}})[_0x0a9e('0x13')](function(_0x12066b){logger['error'](_0x0a9e('0xb'),_0x2cc193,_0x12066b);_0xe42b77(_0x12066b);});});}exports['CreateCmHopperHistory']=function(_0x459eb1){var _0x478723=this;return new Promise(function(_0x106033,_0x205fd6){return db[_0x0a9e('0x14')][_0x0a9e('0x15')](_0x459eb1[_0x0a9e('0x16')],{'raw':_0x459eb1[_0x0a9e('0x17')]?_0x459eb1[_0x0a9e('0x17')][_0x0a9e('0x18')]===undefined?!![]:![]:!![]})[_0x0a9e('0x19')](function(_0x105080){logger['info'](_0x0a9e('0x1a'),_0x459eb1);logger[_0x0a9e('0xd')]('CreateCmHopperHistory',_0x459eb1,JSON[_0x0a9e('0x1b')](_0x105080));_0x106033(_0x105080);})['catch'](function(_0x588269){logger[_0x0a9e('0x10')](_0x0a9e('0x1a'),_0x588269[_0x0a9e('0x11')],_0x459eb1);_0x205fd6(_0x478723[_0x0a9e('0x10')](0x1f4,_0x588269['message']));});});};exports[_0x0a9e('0x1c')]=function(_0x2fb0e4){var _0x3b45bc=this;return new Promise(function(_0x4d00e6,_0x370d86){return db[_0x0a9e('0x14')][_0x0a9e('0x1d')]({'raw':_0x2fb0e4['options']?_0x2fb0e4['options'][_0x0a9e('0x18')]===undefined?!![]:![]:!![],'where':_0x2fb0e4[_0x0a9e('0x17')]?_0x2fb0e4[_0x0a9e('0x17')][_0x0a9e('0x1e')]||null:null,'attributes':[[db['sequelize']['fn'](_0x0a9e('0x1f'),db['sequelize'][_0x0a9e('0x20')]('id')),'predictiveIntervalTotalCalls'],[db[_0x0a9e('0x21')]['fn'](_0x0a9e('0x1f'),db[_0x0a9e('0x21')]['fn']('IF',db[_0x0a9e('0x21')][_0x0a9e('0x22')](_0x0a9e('0x23')))),_0x0a9e('0x24')],[db[_0x0a9e('0x21')]['fn']('COUNT',db[_0x0a9e('0x21')]['fn']('IF',db[_0x0a9e('0x21')][_0x0a9e('0x22')](_0x0a9e('0x25')))),'predictiveIntervalDroppedCallsTimeout'],[db[_0x0a9e('0x21')]['fn'](_0x0a9e('0x1f'),db[_0x0a9e('0x21')]['fn']('IF',db[_0x0a9e('0x21')][_0x0a9e('0x22')](_0x0a9e('0x26')))),_0x0a9e('0x27')],[db[_0x0a9e('0x21')]['fn'](_0x0a9e('0x28'),db['sequelize']['fn']('IF',db[_0x0a9e('0x21')]['literal'](_0x0a9e('0x29')))),_0x0a9e('0x2a')],[db[_0x0a9e('0x21')]['fn'](_0x0a9e('0x28'),db[_0x0a9e('0x21')]['fn']('IF',db['sequelize'][_0x0a9e('0x22')](_0x0a9e('0x2b')))),_0x0a9e('0x2c')]]})[_0x0a9e('0x19')](function(_0x2b45ea){logger[_0x0a9e('0xa')](_0x0a9e('0x1c'),_0x2fb0e4);logger[_0x0a9e('0xd')]('AvgHandleTime',_0x2fb0e4,JSON[_0x0a9e('0x1b')](_0x2b45ea));_0x4d00e6(_0x2b45ea);})['catch'](function(_0x2cc7a0){logger[_0x0a9e('0x10')](_0x0a9e('0x1c'),_0x2cc7a0[_0x0a9e('0x11')],_0x2fb0e4);_0x370d86(_0x3b45bc['error'](0x1f4,_0x2cc7a0[_0x0a9e('0x11')]));});});};exports[_0x0a9e('0x2d')]=function(_0x1fa90d){var _0x15de0e=this;return new Promise(function(_0x4853b1,_0x54135e){return db[_0x0a9e('0x14')]['findAll']({'raw':_0x1fa90d[_0x0a9e('0x17')]?_0x1fa90d[_0x0a9e('0x17')][_0x0a9e('0x18')]===undefined?!![]:![]:!![],'where':_0x1fa90d[_0x0a9e('0x17')]?_0x1fa90d['options'][_0x0a9e('0x1e')]||null:null,'attributes':[[_0x0a9e('0x2e'),_0x0a9e('0x2f')],[db['sequelize']['fn'](_0x0a9e('0x1f'),db[_0x0a9e('0x21')]['fn']('IF',db[_0x0a9e('0x21')]['literal']('`state`\x20=\x200,\x201,\x20null'))),_0x0a9e('0x30')],[db[_0x0a9e('0x21')]['fn']('COUNT',db[_0x0a9e('0x21')]['fn']('IF',db[_0x0a9e('0x21')][_0x0a9e('0x22')](_0x0a9e('0x31')))),'outboundNoAnswerCallsDay'],[db['sequelize']['fn'](_0x0a9e('0x1f'),db[_0x0a9e('0x21')]['fn']('IF',db['sequelize'][_0x0a9e('0x22')](_0x0a9e('0x23')))),_0x0a9e('0x32')],[db['sequelize']['fn'](_0x0a9e('0x1f'),db[_0x0a9e('0x21')]['fn']('IF',db[_0x0a9e('0x21')][_0x0a9e('0x22')](_0x0a9e('0x33')))),_0x0a9e('0x34')],[db[_0x0a9e('0x21')]['fn'](_0x0a9e('0x1f'),db[_0x0a9e('0x21')]['fn']('IF',db[_0x0a9e('0x21')][_0x0a9e('0x22')](_0x0a9e('0x35')))),_0x0a9e('0x36')],[db[_0x0a9e('0x21')]['fn'](_0x0a9e('0x1f'),db['sequelize']['fn']('IF',db['sequelize'][_0x0a9e('0x22')](_0x0a9e('0x37')))),_0x0a9e('0x38')],[db[_0x0a9e('0x21')]['fn'](_0x0a9e('0x1f'),db[_0x0a9e('0x21')]['fn']('IF',db[_0x0a9e('0x21')][_0x0a9e('0x22')](_0x0a9e('0x39')))),_0x0a9e('0x3a')],[db[_0x0a9e('0x21')]['fn'](_0x0a9e('0x1f'),db['sequelize']['fn']('IF',db[_0x0a9e('0x21')][_0x0a9e('0x22')](_0x0a9e('0x3b')))),_0x0a9e('0x3c')],[db[_0x0a9e('0x21')]['fn'](_0x0a9e('0x1f'),db[_0x0a9e('0x21')]['fn']('IF',db[_0x0a9e('0x21')]['literal'](_0x0a9e('0x3d')))),'outboundBlacklistCallsDay'],[db[_0x0a9e('0x21')]['fn'](_0x0a9e('0x1f'),db[_0x0a9e('0x21')]['fn']('IF',db['sequelize'][_0x0a9e('0x22')](_0x0a9e('0x3e')))),_0x0a9e('0x3f')],[db[_0x0a9e('0x21')]['fn'](_0x0a9e('0x1f'),db[_0x0a9e('0x21')]['fn']('IF',db[_0x0a9e('0x21')]['literal'](_0x0a9e('0x40')))),_0x0a9e('0x41')],[db[_0x0a9e('0x21')]['fn'](_0x0a9e('0x1f'),db[_0x0a9e('0x21')]['fn']('IF',db[_0x0a9e('0x21')][_0x0a9e('0x22')](_0x0a9e('0x42')))),_0x0a9e('0x43')],[db['sequelize']['fn'](_0x0a9e('0x1f'),db[_0x0a9e('0x21')]['fn']('IF',db['sequelize']['literal']('`state`\x20=\x2020,\x201,\x20null'))),_0x0a9e('0x41')],[db[_0x0a9e('0x21')]['fn'](_0x0a9e('0x1f'),db[_0x0a9e('0x21')]['fn']('IF',db[_0x0a9e('0x21')][_0x0a9e('0x22')](_0x0a9e('0x44')))),_0x0a9e('0x45')]],'group':['campaign']})['then'](function(_0x53975a){logger[_0x0a9e('0xa')](_0x0a9e('0x2d'),_0x1fa90d);logger[_0x0a9e('0xd')]('GetVoiceQueueHopperHistory',_0x1fa90d,JSON[_0x0a9e('0x1b')](_0x53975a));_0x4853b1(_0x53975a);})[_0x0a9e('0x13')](function(_0x53d113){logger['error'](_0x0a9e('0x2d'),_0x53d113['message'],_0x1fa90d);_0x54135e(_0x15de0e[_0x0a9e('0x10')](0x1f4,_0x53d113['message']));});});};exports[_0x0a9e('0x46')]=function(_0x3c20b2){var _0x439340=this;return new Promise(function(_0x53613a,_0x2f82da){return db[_0x0a9e('0x14')]['findAll']({'raw':_0x3c20b2['options']?_0x3c20b2[_0x0a9e('0x17')][_0x0a9e('0x18')]===undefined?!![]:![]:!![],'where':_0x3c20b2['options']?_0x3c20b2[_0x0a9e('0x17')]['where']||null:null,'attributes':[[_0x0a9e('0x2e'),'name'],[db[_0x0a9e('0x21')]['fn']('COUNT',db['sequelize']['col']('id')),_0x0a9e('0x47')],[db['sequelize']['fn'](_0x0a9e('0x1f'),db[_0x0a9e('0x21')]['fn']('IF',db[_0x0a9e('0x21')][_0x0a9e('0x22')](_0x0a9e('0x23')))),_0x0a9e('0x48')]],'group':[_0x0a9e('0x2e')]})[_0x0a9e('0x19')](function(_0x4e67ab){logger[_0x0a9e('0xa')](_0x0a9e('0x46'),_0x3c20b2);logger[_0x0a9e('0xd')](_0x0a9e('0x46'),_0x3c20b2,JSON[_0x0a9e('0x1b')](_0x4e67ab));_0x53613a(_0x4e67ab);})[_0x0a9e('0x13')](function(_0x5d86e9){logger[_0x0a9e('0x10')](_0x0a9e('0x46'),_0x5d86e9['message'],_0x3c20b2);_0x2f82da(_0x439340[_0x0a9e('0x10')](0x1f4,_0x5d86e9['message']));});});};