Built motion from commit (unavailable).|2.5.29
[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 _0x3fb7=['info','CmHopperHistory,\x20%s,\x20%s','request\x20sent','debug','CmHopperHistory,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','CreateCmHopperHistory','CmHopperHistory','create','body','options','AvgHandleTime','findAll','raw','where','sequelize','col','predictiveIntervalTotalCalls','COUNT','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','`state`\x20=\x200,\x201,\x20null','`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=\x2012,\x201,\x20null','outboundUnknownCallsDay','`state`\x20=\x2014,\x201,\x20null','`state`\x20=\x2018,\x201,\x20null','outboundRejectCallsDay','`state`\x20=\x2016,\x201,\x20null','outboundAnswerAgiCallsDay','`state`\x20=\x2020,\x201,\x20null','`state`\x20=\x2022\x20or\x20`state`\x20=\x2023,\x201,\x20null','outboundReCallsDay','ivrTotalCallsDays','ivrAnswerCallsDay','GetCampaignHopperHistory','util','moment','bluebird','ioredis','rpc','jayson/promise','request','then'];(function(_0x56d049,_0x31caff){var _0x39a317=function(_0x5d2ac1){while(--_0x5d2ac1){_0x56d049['push'](_0x56d049['shift']());}};_0x39a317(++_0x31caff);}(_0x3fb7,0x108));var _0x73fb=function(_0x99c439,_0x2ed15d){_0x99c439=_0x99c439-0x0;var _0x122ac3=_0x3fb7[_0x99c439];return _0x122ac3;};'use strict';var _=require('lodash');var util=require(_0x73fb('0x0'));var moment=require(_0x73fb('0x1'));var BPromise=require(_0x73fb('0x2'));var rs=require('randomstring');var fs=require('fs');var Redis=require(_0x73fb('0x3'));var db=require('../../mysqldb')['db'];var utils=require('../../config/utils');var logger=require('../../config/logger')(_0x73fb('0x4'));var config=require('../../config/environment');var jayson=require(_0x73fb('0x5'));var client=jayson['client']['http']({'port':0x232a});function respondWithRpcPromise(_0x1c186e,_0x2fa9fe,_0x30748e){return new BPromise(function(_0x5920e7,_0x245bbb){return client[_0x73fb('0x6')](_0x1c186e,_0x30748e)[_0x73fb('0x7')](function(_0x48faf8){logger[_0x73fb('0x8')](_0x73fb('0x9'),_0x2fa9fe,_0x73fb('0xa'));logger[_0x73fb('0xb')](_0x73fb('0xc'),_0x2fa9fe,'request\x20sent',JSON[_0x73fb('0xd')](_0x48faf8));if(_0x48faf8[_0x73fb('0xe')]){if(_0x48faf8[_0x73fb('0xe')][_0x73fb('0xf')]===0x1f4){logger[_0x73fb('0xe')](_0x73fb('0x9'),_0x2fa9fe,_0x48faf8[_0x73fb('0xe')][_0x73fb('0x10')]);return _0x245bbb(_0x48faf8[_0x73fb('0xe')][_0x73fb('0x10')]);}logger[_0x73fb('0xe')](_0x73fb('0x9'),_0x2fa9fe,_0x48faf8[_0x73fb('0xe')][_0x73fb('0x10')]);return _0x5920e7(_0x48faf8['error']['message']);}else{logger[_0x73fb('0x8')](_0x73fb('0x9'),_0x2fa9fe,_0x73fb('0xa'));_0x5920e7(_0x48faf8[_0x73fb('0x11')][_0x73fb('0x10')]);}})[_0x73fb('0x12')](function(_0x199dcb){logger[_0x73fb('0xe')]('CmHopperHistory,\x20%s,\x20%s',_0x2fa9fe,_0x199dcb);_0x245bbb(_0x199dcb);});});}exports[_0x73fb('0x13')]=function(_0x2a534e){var _0x548bb1=this;return new Promise(function(_0x325699,_0x436ba7){return db[_0x73fb('0x14')][_0x73fb('0x15')](_0x2a534e[_0x73fb('0x16')],{'raw':_0x2a534e[_0x73fb('0x17')]?_0x2a534e['options']['raw']===undefined?!![]:![]:!![]})[_0x73fb('0x7')](function(_0x4b41e8){logger[_0x73fb('0x8')]('CreateCmHopperHistory',_0x2a534e);logger['debug'](_0x73fb('0x13'),_0x2a534e,JSON[_0x73fb('0xd')](_0x4b41e8));_0x325699(_0x4b41e8);})['catch'](function(_0xb36946){logger[_0x73fb('0xe')]('CreateCmHopperHistory',_0xb36946[_0x73fb('0x10')],_0x2a534e);_0x436ba7(_0x548bb1['error'](0x1f4,_0xb36946['message']));});});};exports[_0x73fb('0x18')]=function(_0x4c69ab){var _0x2bc269=this;return new Promise(function(_0x3b4d77,_0x259b27){return db[_0x73fb('0x14')][_0x73fb('0x19')]({'raw':_0x4c69ab[_0x73fb('0x17')]?_0x4c69ab[_0x73fb('0x17')][_0x73fb('0x1a')]===undefined?!![]:![]:!![],'where':_0x4c69ab[_0x73fb('0x17')]?_0x4c69ab[_0x73fb('0x17')][_0x73fb('0x1b')]||null:null,'attributes':[[db[_0x73fb('0x1c')]['fn']('COUNT',db[_0x73fb('0x1c')][_0x73fb('0x1d')]('id')),_0x73fb('0x1e')],[db[_0x73fb('0x1c')]['fn'](_0x73fb('0x1f'),db['sequelize']['fn']('IF',db[_0x73fb('0x1c')][_0x73fb('0x20')](_0x73fb('0x21')))),_0x73fb('0x22')],[db[_0x73fb('0x1c')]['fn'](_0x73fb('0x1f'),db[_0x73fb('0x1c')]['fn']('IF',db[_0x73fb('0x1c')][_0x73fb('0x20')](_0x73fb('0x23')))),'predictiveIntervalDroppedCallsTimeout'],[db[_0x73fb('0x1c')]['fn'](_0x73fb('0x1f'),db['sequelize']['fn']('IF',db[_0x73fb('0x1c')][_0x73fb('0x20')](_0x73fb('0x24')))),_0x73fb('0x25')],[db[_0x73fb('0x1c')]['fn'](_0x73fb('0x26'),db[_0x73fb('0x1c')]['fn']('IF',db[_0x73fb('0x1c')][_0x73fb('0x20')](_0x73fb('0x27')))),_0x73fb('0x28')],[db[_0x73fb('0x1c')]['fn'](_0x73fb('0x26'),db[_0x73fb('0x1c')]['fn']('IF',db[_0x73fb('0x1c')][_0x73fb('0x20')](_0x73fb('0x29')))),_0x73fb('0x2a')]]})[_0x73fb('0x7')](function(_0x3bad14){logger[_0x73fb('0x8')]('AvgHandleTime',_0x4c69ab);logger[_0x73fb('0xb')](_0x73fb('0x18'),_0x4c69ab,JSON[_0x73fb('0xd')](_0x3bad14));_0x3b4d77(_0x3bad14);})[_0x73fb('0x12')](function(_0x398403){logger[_0x73fb('0xe')](_0x73fb('0x18'),_0x398403['message'],_0x4c69ab);_0x259b27(_0x2bc269['error'](0x1f4,_0x398403[_0x73fb('0x10')]));});});};exports[_0x73fb('0x2b')]=function(_0x408da8){var _0x131be0=this;return new Promise(function(_0x1f49f5,_0x19a5f2){return db[_0x73fb('0x14')][_0x73fb('0x19')]({'raw':_0x408da8[_0x73fb('0x17')]?_0x408da8[_0x73fb('0x17')]['raw']===undefined?!![]:![]:!![],'where':_0x408da8[_0x73fb('0x17')]?_0x408da8['options'][_0x73fb('0x1b')]||null:null,'attributes':[[_0x73fb('0x2c'),_0x73fb('0x2d')],[db['sequelize']['fn']('COUNT',db[_0x73fb('0x1c')]['fn']('IF',db[_0x73fb('0x1c')][_0x73fb('0x20')](_0x73fb('0x2e')))),'outboundNoSuchCallsDay'],[db[_0x73fb('0x1c')]['fn'](_0x73fb('0x1f'),db['sequelize']['fn']('IF',db[_0x73fb('0x1c')][_0x73fb('0x20')](_0x73fb('0x2f')))),'outboundNoAnswerCallsDay'],[db[_0x73fb('0x1c')]['fn']('COUNT',db[_0x73fb('0x1c')]['fn']('IF',db[_0x73fb('0x1c')]['literal'](_0x73fb('0x21')))),_0x73fb('0x30')],[db[_0x73fb('0x1c')]['fn'](_0x73fb('0x1f'),db[_0x73fb('0x1c')]['fn']('IF',db[_0x73fb('0x1c')][_0x73fb('0x20')](_0x73fb('0x31')))),_0x73fb('0x32')],[db['sequelize']['fn']('COUNT',db[_0x73fb('0x1c')]['fn']('IF',db[_0x73fb('0x1c')][_0x73fb('0x20')](_0x73fb('0x33')))),_0x73fb('0x34')],[db[_0x73fb('0x1c')]['fn'](_0x73fb('0x1f'),db[_0x73fb('0x1c')]['fn']('IF',db[_0x73fb('0x1c')]['literal'](_0x73fb('0x35')))),_0x73fb('0x36')],[db['sequelize']['fn'](_0x73fb('0x1f'),db[_0x73fb('0x1c')]['fn']('IF',db['sequelize'][_0x73fb('0x20')]('`state`\x20=\x2011\x20,\x201,\x20null'))),'outboundDropCallsDayCallersExit'],[db[_0x73fb('0x1c')]['fn'](_0x73fb('0x1f'),db[_0x73fb('0x1c')]['fn']('IF',db[_0x73fb('0x1c')][_0x73fb('0x20')](_0x73fb('0x37')))),_0x73fb('0x38')],[db[_0x73fb('0x1c')]['fn'](_0x73fb('0x1f'),db[_0x73fb('0x1c')]['fn']('IF',db[_0x73fb('0x1c')][_0x73fb('0x20')]('`state`\x20=\x2013,\x201,\x20null'))),'outboundBlacklistCallsDay'],[db[_0x73fb('0x1c')]['fn'](_0x73fb('0x1f'),db[_0x73fb('0x1c')]['fn']('IF',db[_0x73fb('0x1c')][_0x73fb('0x20')](_0x73fb('0x39')))),'outboundOriginateFailureCallsDay'],[db[_0x73fb('0x1c')]['fn'](_0x73fb('0x1f'),db[_0x73fb('0x1c')]['fn']('IF',db[_0x73fb('0x1c')][_0x73fb('0x20')](_0x73fb('0x3a')))),_0x73fb('0x3b')],[db[_0x73fb('0x1c')]['fn'](_0x73fb('0x1f'),db[_0x73fb('0x1c')]['fn']('IF',db[_0x73fb('0x1c')][_0x73fb('0x20')](_0x73fb('0x3c')))),_0x73fb('0x3d')],[db[_0x73fb('0x1c')]['fn'](_0x73fb('0x1f'),db[_0x73fb('0x1c')]['fn']('IF',db['sequelize']['literal'](_0x73fb('0x3e')))),'outboundRejectCallsDay'],[db['sequelize']['fn']('COUNT',db['sequelize']['fn']('IF',db['sequelize'][_0x73fb('0x20')](_0x73fb('0x3f')))),_0x73fb('0x40')]],'group':[_0x73fb('0x2c')]})[_0x73fb('0x7')](function(_0x45463a){logger[_0x73fb('0x8')](_0x73fb('0x2b'),_0x408da8);logger[_0x73fb('0xb')](_0x73fb('0x2b'),_0x408da8,JSON['stringify'](_0x45463a));_0x1f49f5(_0x45463a);})[_0x73fb('0x12')](function(_0x1fdb81){logger[_0x73fb('0xe')](_0x73fb('0x2b'),_0x1fdb81[_0x73fb('0x10')],_0x408da8);_0x19a5f2(_0x131be0['error'](0x1f4,_0x1fdb81['message']));});});};exports['GetCampaignHopperHistory']=function(_0x8594e8){var _0x5b5ac8=this;return new Promise(function(_0x1c748d,_0x146c22){return db[_0x73fb('0x14')][_0x73fb('0x19')]({'raw':_0x8594e8['options']?_0x8594e8['options'][_0x73fb('0x1a')]===undefined?!![]:![]:!![],'where':_0x8594e8['options']?_0x8594e8[_0x73fb('0x17')][_0x73fb('0x1b')]||null:null,'attributes':[[_0x73fb('0x2c'),'name'],[db[_0x73fb('0x1c')]['fn'](_0x73fb('0x1f'),db['sequelize'][_0x73fb('0x1d')]('id')),_0x73fb('0x41')],[db[_0x73fb('0x1c')]['fn'](_0x73fb('0x1f'),db[_0x73fb('0x1c')]['fn']('IF',db[_0x73fb('0x1c')][_0x73fb('0x20')](_0x73fb('0x21')))),_0x73fb('0x42')]],'group':[_0x73fb('0x2c')]})[_0x73fb('0x7')](function(_0x34e9a2){logger[_0x73fb('0x8')](_0x73fb('0x43'),_0x8594e8);logger[_0x73fb('0xb')](_0x73fb('0x43'),_0x8594e8,JSON['stringify'](_0x34e9a2));_0x1c748d(_0x34e9a2);})[_0x73fb('0x12')](function(_0x4e6ff9){logger[_0x73fb('0xe')](_0x73fb('0x43'),_0x4e6ff9[_0x73fb('0x10')],_0x8594e8);_0x146c22(_0x5b5ac8['error'](0x1f4,_0x4e6ff9[_0x73fb('0x10')]));});});};