Built motion from commit c738b9ac.|2.6.25
[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 _0x2043=['moment','ioredis','../../mysqldb','../../config/utils','../../config/logger','rpc','../../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','CmHopperHistory','create','body','options','AvgHandleTime','raw','where','sequelize','col','predictiveIntervalTotalCalls','literal','`state`\x20=\x204,\x201,\x20null','predictiveIntervalAnsweredCalls','`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','GetVoiceQueueHopperHistory','findAll','campaign','name','COUNT','`state`\x20=\x200,\x201,\x20null','`state`\x20=\x203,\x201,\x20null','outboundAnswerCallsDay','outboundBusyCallsDay','`state`\x20=\x208,\x201,\x20null','outboundCongestionCallsDay','`state`\x20=\x2010\x20,\x201,\x20null','`state`\x20=\x2011\x20,\x201,\x20null','outboundDropCallsDayCallersExit','`state`\x20=\x2012,\x201,\x20null','outboundUnknownCallsDay','outboundBlacklistCallsDay','outboundOriginateFailureCallsDay','`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','GetCampaignHopperHistory','lodash','util'];(function(_0x1e1e2b,_0x38a5a5){var _0x56e45e=function(_0x34ec20){while(--_0x34ec20){_0x1e1e2b['push'](_0x1e1e2b['shift']());}};_0x56e45e(++_0x38a5a5);}(_0x2043,0x122));var _0x3204=function(_0x2d1f04,_0x3ffc67){_0x2d1f04=_0x2d1f04-0x0;var _0x3b91da=_0x2043[_0x2d1f04];return _0x3b91da;};'use strict';var _=require(_0x3204('0x0'));var util=require(_0x3204('0x1'));var moment=require(_0x3204('0x2'));var BPromise=require('bluebird');var rs=require('randomstring');var fs=require('fs');var Redis=require(_0x3204('0x3'));var db=require(_0x3204('0x4'))['db'];var utils=require(_0x3204('0x5'));var logger=require(_0x3204('0x6'))(_0x3204('0x7'));var config=require(_0x3204('0x8'));var jayson=require(_0x3204('0x9'));var client=jayson[_0x3204('0xa')][_0x3204('0xb')]({'port':0x232a});function respondWithRpcPromise(_0x162705,_0x20028b,_0x58e3f3){return new BPromise(function(_0x6a4ec5,_0x498944){return client[_0x3204('0xc')](_0x162705,_0x58e3f3)[_0x3204('0xd')](function(_0x3c9cbd){logger[_0x3204('0xe')](_0x3204('0xf'),_0x20028b,_0x3204('0x10'));logger[_0x3204('0x11')](_0x3204('0x12'),_0x20028b,_0x3204('0x10'),JSON[_0x3204('0x13')](_0x3c9cbd));if(_0x3c9cbd[_0x3204('0x14')]){if(_0x3c9cbd['error'][_0x3204('0x15')]===0x1f4){logger[_0x3204('0x14')](_0x3204('0xf'),_0x20028b,_0x3c9cbd['error'][_0x3204('0x16')]);return _0x498944(_0x3c9cbd[_0x3204('0x14')][_0x3204('0x16')]);}logger[_0x3204('0x14')](_0x3204('0xf'),_0x20028b,_0x3c9cbd['error'][_0x3204('0x16')]);return _0x6a4ec5(_0x3c9cbd[_0x3204('0x14')]['message']);}else{logger['info'](_0x3204('0xf'),_0x20028b,_0x3204('0x10'));_0x6a4ec5(_0x3c9cbd[_0x3204('0x17')]['message']);}})[_0x3204('0x18')](function(_0x1a038e){logger[_0x3204('0x14')]('CmHopperHistory,\x20%s,\x20%s',_0x20028b,_0x1a038e);_0x498944(_0x1a038e);});});}exports[_0x3204('0x19')]=function(_0x35edce){var _0x218c9b=this;return new Promise(function(_0x1fbf21,_0x517c58){return db[_0x3204('0x1a')][_0x3204('0x1b')](_0x35edce[_0x3204('0x1c')],{'raw':_0x35edce[_0x3204('0x1d')]?_0x35edce[_0x3204('0x1d')]['raw']===undefined?!![]:![]:!![]})[_0x3204('0xd')](function(_0x513209){logger[_0x3204('0xe')](_0x3204('0x19'),_0x35edce);logger[_0x3204('0x11')](_0x3204('0x19'),_0x35edce,JSON[_0x3204('0x13')](_0x513209));_0x1fbf21(_0x513209);})[_0x3204('0x18')](function(_0x4240f0){logger[_0x3204('0x14')](_0x3204('0x19'),_0x4240f0[_0x3204('0x16')],_0x35edce);_0x517c58(_0x218c9b[_0x3204('0x14')](0x1f4,_0x4240f0['message']));});});};exports[_0x3204('0x1e')]=function(_0xf0a787){var _0x33c388=this;return new Promise(function(_0x88d20b,_0x923384){return db[_0x3204('0x1a')]['findAll']({'raw':_0xf0a787['options']?_0xf0a787['options'][_0x3204('0x1f')]===undefined?!![]:![]:!![],'where':_0xf0a787[_0x3204('0x1d')]?_0xf0a787[_0x3204('0x1d')][_0x3204('0x20')]||null:null,'attributes':[[db[_0x3204('0x21')]['fn']('COUNT',db[_0x3204('0x21')][_0x3204('0x22')]('id')),_0x3204('0x23')],[db[_0x3204('0x21')]['fn']('COUNT',db[_0x3204('0x21')]['fn']('IF',db[_0x3204('0x21')][_0x3204('0x24')](_0x3204('0x25')))),_0x3204('0x26')],[db[_0x3204('0x21')]['fn']('COUNT',db[_0x3204('0x21')]['fn']('IF',db[_0x3204('0x21')][_0x3204('0x24')](_0x3204('0x27')))),_0x3204('0x28')],[db[_0x3204('0x21')]['fn']('COUNT',db[_0x3204('0x21')]['fn']('IF',db[_0x3204('0x21')][_0x3204('0x24')](_0x3204('0x29')))),_0x3204('0x2a')],[db['sequelize']['fn'](_0x3204('0x2b'),db[_0x3204('0x21')]['fn']('IF',db[_0x3204('0x21')]['literal'](_0x3204('0x2c')))),_0x3204('0x2d')],[db[_0x3204('0x21')]['fn'](_0x3204('0x2b'),db['sequelize']['fn']('IF',db['sequelize']['literal'](_0x3204('0x2e')))),_0x3204('0x2f')]]})[_0x3204('0xd')](function(_0x2138d9){logger['info']('AvgHandleTime',_0xf0a787);logger['debug'](_0x3204('0x1e'),_0xf0a787,JSON['stringify'](_0x2138d9));_0x88d20b(_0x2138d9);})[_0x3204('0x18')](function(_0x31e888){logger['error']('AvgHandleTime',_0x31e888[_0x3204('0x16')],_0xf0a787);_0x923384(_0x33c388['error'](0x1f4,_0x31e888[_0x3204('0x16')]));});});};exports[_0x3204('0x30')]=function(_0xe1eb17){var _0x3990c1=this;return new Promise(function(_0x155ac3,_0x3e9bf5){return db[_0x3204('0x1a')][_0x3204('0x31')]({'raw':_0xe1eb17[_0x3204('0x1d')]?_0xe1eb17[_0x3204('0x1d')][_0x3204('0x1f')]===undefined?!![]:![]:!![],'where':_0xe1eb17[_0x3204('0x1d')]?_0xe1eb17[_0x3204('0x1d')][_0x3204('0x20')]||null:null,'attributes':[[_0x3204('0x32'),_0x3204('0x33')],[db[_0x3204('0x21')]['fn'](_0x3204('0x34'),db[_0x3204('0x21')]['fn']('IF',db[_0x3204('0x21')][_0x3204('0x24')](_0x3204('0x35')))),'outboundNoSuchCallsDay'],[db[_0x3204('0x21')]['fn'](_0x3204('0x34'),db['sequelize']['fn']('IF',db['sequelize'][_0x3204('0x24')](_0x3204('0x36')))),'outboundNoAnswerCallsDay'],[db[_0x3204('0x21')]['fn'](_0x3204('0x34'),db[_0x3204('0x21')]['fn']('IF',db[_0x3204('0x21')][_0x3204('0x24')](_0x3204('0x25')))),_0x3204('0x37')],[db['sequelize']['fn'](_0x3204('0x34'),db[_0x3204('0x21')]['fn']('IF',db[_0x3204('0x21')][_0x3204('0x24')]('`state`\x20=\x205,\x201,\x20null'))),_0x3204('0x38')],[db[_0x3204('0x21')]['fn'](_0x3204('0x34'),db[_0x3204('0x21')]['fn']('IF',db[_0x3204('0x21')]['literal'](_0x3204('0x39')))),_0x3204('0x3a')],[db[_0x3204('0x21')]['fn']('COUNT',db[_0x3204('0x21')]['fn']('IF',db[_0x3204('0x21')][_0x3204('0x24')](_0x3204('0x3b')))),'outboundDropCallsDayTimeout'],[db[_0x3204('0x21')]['fn']('COUNT',db[_0x3204('0x21')]['fn']('IF',db[_0x3204('0x21')]['literal'](_0x3204('0x3c')))),_0x3204('0x3d')],[db[_0x3204('0x21')]['fn'](_0x3204('0x34'),db[_0x3204('0x21')]['fn']('IF',db[_0x3204('0x21')]['literal'](_0x3204('0x3e')))),_0x3204('0x3f')],[db[_0x3204('0x21')]['fn'](_0x3204('0x34'),db[_0x3204('0x21')]['fn']('IF',db['sequelize']['literal']('`state`\x20=\x2013,\x201,\x20null'))),_0x3204('0x40')],[db[_0x3204('0x21')]['fn']('COUNT',db[_0x3204('0x21')]['fn']('IF',db[_0x3204('0x21')][_0x3204('0x24')]('`state`\x20=\x2014,\x201,\x20null'))),_0x3204('0x41')],[db['sequelize']['fn']('COUNT',db[_0x3204('0x21')]['fn']('IF',db['sequelize'][_0x3204('0x24')](_0x3204('0x42')))),'outboundRejectCallsDay'],[db[_0x3204('0x21')]['fn'](_0x3204('0x34'),db[_0x3204('0x21')]['fn']('IF',db['sequelize'][_0x3204('0x24')](_0x3204('0x43')))),_0x3204('0x44')],[db['sequelize']['fn'](_0x3204('0x34'),db[_0x3204('0x21')]['fn']('IF',db[_0x3204('0x21')][_0x3204('0x24')](_0x3204('0x45')))),_0x3204('0x46')],[db[_0x3204('0x21')]['fn'](_0x3204('0x34'),db[_0x3204('0x21')]['fn']('IF',db['sequelize'][_0x3204('0x24')](_0x3204('0x47')))),'outboundReCallsDay']],'group':[_0x3204('0x32')]})[_0x3204('0xd')](function(_0x4676ef){logger['info'](_0x3204('0x30'),_0xe1eb17);logger[_0x3204('0x11')](_0x3204('0x30'),_0xe1eb17,JSON[_0x3204('0x13')](_0x4676ef));_0x155ac3(_0x4676ef);})['catch'](function(_0x1b0fd6){logger['error'](_0x3204('0x30'),_0x1b0fd6[_0x3204('0x16')],_0xe1eb17);_0x3e9bf5(_0x3990c1[_0x3204('0x14')](0x1f4,_0x1b0fd6[_0x3204('0x16')]));});});};exports['GetCampaignHopperHistory']=function(_0x28c7ab){var _0x376a8e=this;return new Promise(function(_0x50b0b8,_0xd8c460){return db[_0x3204('0x1a')][_0x3204('0x31')]({'raw':_0x28c7ab[_0x3204('0x1d')]?_0x28c7ab[_0x3204('0x1d')][_0x3204('0x1f')]===undefined?!![]:![]:!![],'where':_0x28c7ab[_0x3204('0x1d')]?_0x28c7ab[_0x3204('0x1d')][_0x3204('0x20')]||null:null,'attributes':[[_0x3204('0x32'),_0x3204('0x33')],[db['sequelize']['fn'](_0x3204('0x34'),db[_0x3204('0x21')][_0x3204('0x22')]('id')),'ivrTotalCallsDays'],[db[_0x3204('0x21')]['fn'](_0x3204('0x34'),db[_0x3204('0x21')]['fn']('IF',db[_0x3204('0x21')]['literal'](_0x3204('0x25')))),'ivrAnswerCallsDay']],'group':['campaign']})[_0x3204('0xd')](function(_0x1a6e7e){logger[_0x3204('0xe')](_0x3204('0x48'),_0x28c7ab);logger[_0x3204('0x11')](_0x3204('0x48'),_0x28c7ab,JSON[_0x3204('0x13')](_0x1a6e7e));_0x50b0b8(_0x1a6e7e);})[_0x3204('0x18')](function(_0x3996ed){logger[_0x3204('0x14')](_0x3204('0x48'),_0x3996ed[_0x3204('0x16')],_0x28c7ab);_0xd8c460(_0x376a8e[_0x3204('0x14')](0x1f4,_0x3996ed[_0x3204('0x16')]));});});};