Built motion from commit fe909640.|2.6.8
[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 _0x3715=['`state`\x20=\x2020,\x201,\x20null','`state`\x20=\x2022\x20or\x20`state`\x20=\x2023,\x201,\x20null','outboundReCallsDay','col','ivrTotalCallsDays','GetCampaignHopperHistory','lodash','util','moment','bluebird','randomstring','ioredis','../../mysqldb','../../config/utils','../../config/logger','rpc','../../config/environment','jayson/promise','http','then','CmHopperHistory,\x20%s,\x20%s','request\x20sent','debug','stringify','error','code','message','info','result','catch','CreateCmHopperHistory','CmHopperHistory','body','options','raw','AvgHandleTime','where','sequelize','COUNT','predictiveIntervalTotalCalls','`state`\x20=\x204,\x201,\x20null','predictiveIntervalAnsweredCalls','literal','`state`\x20=\x2010,\x201,\x20null','predictiveIntervalDroppedCallsTimeout','AVG','`state`\x20=\x204,\x20`holdtime`,\x20null','`state`\x20=\x204,\x20`talktime`,\x20null','predictiveIntervalAvgTalktime','GetVoiceQueueHopperHistory','findAll','campaign','name','`state`\x20=\x200,\x201,\x20null','`state`\x20=\x203,\x201,\x20null','`state`\x20=\x205,\x201,\x20null','`state`\x20=\x2010\x20,\x201,\x20null','`state`\x20=\x2012,\x201,\x20null','`state`\x20=\x2013,\x201,\x20null','outboundBlacklistCallsDay','`state`\x20=\x2018,\x201,\x20null','outboundRejectCallsDay','outboundAnswerAgiCallsDay'];(function(_0x59ee6f,_0x450239){var _0x4c0979=function(_0x565e92){while(--_0x565e92){_0x59ee6f['push'](_0x59ee6f['shift']());}};_0x4c0979(++_0x450239);}(_0x3715,0xc3));var _0x5371=function(_0x43bb62,_0x450375){_0x43bb62=_0x43bb62-0x0;var _0x2cb63b=_0x3715[_0x43bb62];return _0x2cb63b;};'use strict';var _=require(_0x5371('0x0'));var util=require(_0x5371('0x1'));var moment=require(_0x5371('0x2'));var BPromise=require(_0x5371('0x3'));var rs=require(_0x5371('0x4'));var fs=require('fs');var Redis=require(_0x5371('0x5'));var db=require(_0x5371('0x6'))['db'];var utils=require(_0x5371('0x7'));var logger=require(_0x5371('0x8'))(_0x5371('0x9'));var config=require(_0x5371('0xa'));var jayson=require(_0x5371('0xb'));var client=jayson['client'][_0x5371('0xc')]({'port':0x232a});function respondWithRpcPromise(_0x340e44,_0x5edddc,_0x426a2a){return new BPromise(function(_0x16c64a,_0x41d142){return client['request'](_0x340e44,_0x426a2a)[_0x5371('0xd')](function(_0x48b76c){logger['info'](_0x5371('0xe'),_0x5edddc,_0x5371('0xf'));logger[_0x5371('0x10')]('CmHopperHistory,\x20%s,\x20%s,\x20%s',_0x5edddc,_0x5371('0xf'),JSON[_0x5371('0x11')](_0x48b76c));if(_0x48b76c[_0x5371('0x12')]){if(_0x48b76c['error'][_0x5371('0x13')]===0x1f4){logger[_0x5371('0x12')](_0x5371('0xe'),_0x5edddc,_0x48b76c[_0x5371('0x12')]['message']);return _0x41d142(_0x48b76c[_0x5371('0x12')]['message']);}logger[_0x5371('0x12')](_0x5371('0xe'),_0x5edddc,_0x48b76c['error'][_0x5371('0x14')]);return _0x16c64a(_0x48b76c[_0x5371('0x12')][_0x5371('0x14')]);}else{logger[_0x5371('0x15')](_0x5371('0xe'),_0x5edddc,_0x5371('0xf'));_0x16c64a(_0x48b76c[_0x5371('0x16')]['message']);}})[_0x5371('0x17')](function(_0x3e7169){logger[_0x5371('0x12')](_0x5371('0xe'),_0x5edddc,_0x3e7169);_0x41d142(_0x3e7169);});});}exports[_0x5371('0x18')]=function(_0x32f469){var _0x21af6c=this;return new Promise(function(_0x4855b3,_0x4db4e7){return db[_0x5371('0x19')]['create'](_0x32f469[_0x5371('0x1a')],{'raw':_0x32f469['options']?_0x32f469[_0x5371('0x1b')][_0x5371('0x1c')]===undefined?!![]:![]:!![]})['then'](function(_0x470cd2){logger[_0x5371('0x15')]('CreateCmHopperHistory',_0x32f469);logger[_0x5371('0x10')](_0x5371('0x18'),_0x32f469,JSON[_0x5371('0x11')](_0x470cd2));_0x4855b3(_0x470cd2);})['catch'](function(_0x4add7e){logger['error'](_0x5371('0x18'),_0x4add7e[_0x5371('0x14')],_0x32f469);_0x4db4e7(_0x21af6c[_0x5371('0x12')](0x1f4,_0x4add7e[_0x5371('0x14')]));});});};exports[_0x5371('0x1d')]=function(_0xabe2a6){var _0x5d0298=this;return new Promise(function(_0x3230ab,_0x4992e4){return db[_0x5371('0x19')]['findAll']({'raw':_0xabe2a6[_0x5371('0x1b')]?_0xabe2a6[_0x5371('0x1b')]['raw']===undefined?!![]:![]:!![],'where':_0xabe2a6[_0x5371('0x1b')]?_0xabe2a6[_0x5371('0x1b')][_0x5371('0x1e')]||null:null,'attributes':[[db[_0x5371('0x1f')]['fn'](_0x5371('0x20'),db['sequelize']['col']('id')),_0x5371('0x21')],[db['sequelize']['fn']('COUNT',db[_0x5371('0x1f')]['fn']('IF',db[_0x5371('0x1f')]['literal'](_0x5371('0x22')))),_0x5371('0x23')],[db[_0x5371('0x1f')]['fn'](_0x5371('0x20'),db[_0x5371('0x1f')]['fn']('IF',db[_0x5371('0x1f')][_0x5371('0x24')](_0x5371('0x25')))),_0x5371('0x26')],[db[_0x5371('0x1f')]['fn']('COUNT',db[_0x5371('0x1f')]['fn']('IF',db['sequelize'][_0x5371('0x24')]('`state`\x20=\x2011,\x201,\x20null'))),'predictiveIntervalDroppedCallsCallersExit'],[db[_0x5371('0x1f')]['fn'](_0x5371('0x27'),db[_0x5371('0x1f')]['fn']('IF',db[_0x5371('0x1f')][_0x5371('0x24')](_0x5371('0x28')))),'predictiveIntervalAvgHoldtime'],[db[_0x5371('0x1f')]['fn']('AVG',db[_0x5371('0x1f')]['fn']('IF',db[_0x5371('0x1f')][_0x5371('0x24')](_0x5371('0x29')))),_0x5371('0x2a')]]})[_0x5371('0xd')](function(_0x120ee1){logger['info'](_0x5371('0x1d'),_0xabe2a6);logger[_0x5371('0x10')](_0x5371('0x1d'),_0xabe2a6,JSON[_0x5371('0x11')](_0x120ee1));_0x3230ab(_0x120ee1);})[_0x5371('0x17')](function(_0x357e58){logger[_0x5371('0x12')]('AvgHandleTime',_0x357e58[_0x5371('0x14')],_0xabe2a6);_0x4992e4(_0x5d0298[_0x5371('0x12')](0x1f4,_0x357e58['message']));});});};exports[_0x5371('0x2b')]=function(_0x321051){var _0x2b35d6=this;return new Promise(function(_0x46718d,_0x51dfad){return db[_0x5371('0x19')][_0x5371('0x2c')]({'raw':_0x321051['options']?_0x321051[_0x5371('0x1b')][_0x5371('0x1c')]===undefined?!![]:![]:!![],'where':_0x321051[_0x5371('0x1b')]?_0x321051[_0x5371('0x1b')][_0x5371('0x1e')]||null:null,'attributes':[[_0x5371('0x2d'),_0x5371('0x2e')],[db[_0x5371('0x1f')]['fn']('COUNT',db[_0x5371('0x1f')]['fn']('IF',db[_0x5371('0x1f')][_0x5371('0x24')](_0x5371('0x2f')))),'outboundNoSuchCallsDay'],[db[_0x5371('0x1f')]['fn'](_0x5371('0x20'),db[_0x5371('0x1f')]['fn']('IF',db[_0x5371('0x1f')][_0x5371('0x24')](_0x5371('0x30')))),'outboundNoAnswerCallsDay'],[db[_0x5371('0x1f')]['fn'](_0x5371('0x20'),db[_0x5371('0x1f')]['fn']('IF',db[_0x5371('0x1f')][_0x5371('0x24')](_0x5371('0x22')))),'outboundAnswerCallsDay'],[db[_0x5371('0x1f')]['fn'](_0x5371('0x20'),db[_0x5371('0x1f')]['fn']('IF',db[_0x5371('0x1f')][_0x5371('0x24')](_0x5371('0x31')))),'outboundBusyCallsDay'],[db[_0x5371('0x1f')]['fn']('COUNT',db['sequelize']['fn']('IF',db[_0x5371('0x1f')]['literal']('`state`\x20=\x208,\x201,\x20null'))),'outboundCongestionCallsDay'],[db[_0x5371('0x1f')]['fn'](_0x5371('0x20'),db[_0x5371('0x1f')]['fn']('IF',db['sequelize'][_0x5371('0x24')](_0x5371('0x32')))),'outboundDropCallsDayTimeout'],[db['sequelize']['fn'](_0x5371('0x20'),db[_0x5371('0x1f')]['fn']('IF',db[_0x5371('0x1f')][_0x5371('0x24')]('`state`\x20=\x2011\x20,\x201,\x20null'))),'outboundDropCallsDayCallersExit'],[db['sequelize']['fn']('COUNT',db['sequelize']['fn']('IF',db[_0x5371('0x1f')]['literal'](_0x5371('0x33')))),'outboundUnknownCallsDay'],[db[_0x5371('0x1f')]['fn'](_0x5371('0x20'),db[_0x5371('0x1f')]['fn']('IF',db[_0x5371('0x1f')]['literal'](_0x5371('0x34')))),_0x5371('0x35')],[db['sequelize']['fn'](_0x5371('0x20'),db[_0x5371('0x1f')]['fn']('IF',db['sequelize'][_0x5371('0x24')]('`state`\x20=\x2014,\x201,\x20null'))),'outboundOriginateFailureCallsDay'],[db[_0x5371('0x1f')]['fn'](_0x5371('0x20'),db[_0x5371('0x1f')]['fn']('IF',db[_0x5371('0x1f')][_0x5371('0x24')](_0x5371('0x36')))),_0x5371('0x37')],[db['sequelize']['fn'](_0x5371('0x20'),db[_0x5371('0x1f')]['fn']('IF',db[_0x5371('0x1f')]['literal']('`state`\x20=\x2016,\x201,\x20null'))),_0x5371('0x38')],[db[_0x5371('0x1f')]['fn']('COUNT',db[_0x5371('0x1f')]['fn']('IF',db['sequelize'][_0x5371('0x24')](_0x5371('0x39')))),_0x5371('0x37')],[db[_0x5371('0x1f')]['fn']('COUNT',db[_0x5371('0x1f')]['fn']('IF',db['sequelize']['literal'](_0x5371('0x3a')))),_0x5371('0x3b')]],'group':[_0x5371('0x2d')]})['then'](function(_0x1a2512){logger['info'](_0x5371('0x2b'),_0x321051);logger[_0x5371('0x10')]('GetVoiceQueueHopperHistory',_0x321051,JSON[_0x5371('0x11')](_0x1a2512));_0x46718d(_0x1a2512);})[_0x5371('0x17')](function(_0x5c07b5){logger['error'](_0x5371('0x2b'),_0x5c07b5[_0x5371('0x14')],_0x321051);_0x51dfad(_0x2b35d6[_0x5371('0x12')](0x1f4,_0x5c07b5['message']));});});};exports['GetCampaignHopperHistory']=function(_0x4f6d8f){var _0x15e7e1=this;return new Promise(function(_0x30f7e4,_0x28f5ba){return db[_0x5371('0x19')][_0x5371('0x2c')]({'raw':_0x4f6d8f[_0x5371('0x1b')]?_0x4f6d8f['options'][_0x5371('0x1c')]===undefined?!![]:![]:!![],'where':_0x4f6d8f['options']?_0x4f6d8f['options']['where']||null:null,'attributes':[[_0x5371('0x2d'),'name'],[db[_0x5371('0x1f')]['fn'](_0x5371('0x20'),db[_0x5371('0x1f')][_0x5371('0x3c')]('id')),_0x5371('0x3d')],[db[_0x5371('0x1f')]['fn']('COUNT',db[_0x5371('0x1f')]['fn']('IF',db[_0x5371('0x1f')]['literal']('`state`\x20=\x204,\x201,\x20null'))),'ivrAnswerCallsDay']],'group':[_0x5371('0x2d')]})[_0x5371('0xd')](function(_0x58396a){logger['info'](_0x5371('0x3e'),_0x4f6d8f);logger['debug'](_0x5371('0x3e'),_0x4f6d8f,JSON['stringify'](_0x58396a));_0x30f7e4(_0x58396a);})[_0x5371('0x17')](function(_0x25292b){logger[_0x5371('0x12')](_0x5371('0x3e'),_0x25292b[_0x5371('0x14')],_0x4f6d8f);_0x28f5ba(_0x15e7e1[_0x5371('0x12')](0x1f4,_0x25292b[_0x5371('0x14')]));});});};