e978f6598523ca512bdb9d3f696a5b115c10ce35
[motion2.git] / server / api / userVoiceQueueRt / userVoiceQueueRt.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 _0x14d9=['../../mysqldb','../../config/logger','rpc','client','http','redis','localhost','then','UserVoiceQueueRt,\x20%s,\x20%s','debug','UserVoiceQueueRt,\x20%s,\x20%s,\x20%s','request\x20sent','error','code','message','result','catch','GetVoiceQueueRtPauses','UserVoiceQueueRt','options','raw','where','sequelize','literal','`paused`\x20=\x201,\x201,\x20null','info','util','moment','randomstring','ioredis'];(function(_0x22f3fc,_0xaab493){var _0x487c5d=function(_0x4abcd4){while(--_0x4abcd4){_0x22f3fc['push'](_0x22f3fc['shift']());}};_0x487c5d(++_0xaab493);}(_0x14d9,0x1a0));var _0x914d=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x14d9[_0x3dd15e];return _0x231fd0;};'use strict';var _=require('lodash');var util=require(_0x914d('0x0'));var moment=require(_0x914d('0x1'));var BPromise=require('bluebird');var rs=require(_0x914d('0x2'));var fs=require('fs');var Redis=require(_0x914d('0x3'));var db=require(_0x914d('0x4'))['db'];var utils=require('../../config/utils');var logger=require(_0x914d('0x5'))(_0x914d('0x6'));var config=require('../../config/environment');var jayson=require('jayson/promise');var client=jayson[_0x914d('0x7')][_0x914d('0x8')]({'port':0x232a});config[_0x914d('0x9')]=_['defaults'](config[_0x914d('0x9')],{'host':_0x914d('0xa'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x914d('0x9')]));require('./userVoiceQueueRt.socket')['register'](socket);function respondWithRpcPromise(_0x3a75b5,_0x11103b,_0x2847a3){return new BPromise(function(_0x1ecb43,_0x2eb6ed){return client['request'](_0x3a75b5,_0x2847a3)[_0x914d('0xb')](function(_0x290cf4){logger['info'](_0x914d('0xc'),_0x11103b,'request\x20sent');logger[_0x914d('0xd')](_0x914d('0xe'),_0x11103b,_0x914d('0xf'),JSON['stringify'](_0x290cf4));if(_0x290cf4[_0x914d('0x10')]){if(_0x290cf4[_0x914d('0x10')][_0x914d('0x11')]===0x1f4){logger[_0x914d('0x10')]('UserVoiceQueueRt,\x20%s,\x20%s',_0x11103b,_0x290cf4[_0x914d('0x10')][_0x914d('0x12')]);return _0x2eb6ed(_0x290cf4[_0x914d('0x10')]['message']);}logger['error'](_0x914d('0xc'),_0x11103b,_0x290cf4[_0x914d('0x10')]['message']);return _0x1ecb43(_0x290cf4[_0x914d('0x10')]['message']);}else{logger['info'](_0x914d('0xc'),_0x11103b,_0x914d('0xf'));_0x1ecb43(_0x290cf4[_0x914d('0x13')][_0x914d('0x12')]);}})[_0x914d('0x14')](function(_0x37616e){logger['error']('UserVoiceQueueRt,\x20%s,\x20%s',_0x11103b,_0x37616e);_0x2eb6ed(_0x37616e);});});}exports[_0x914d('0x15')]=function(_0xea79b7){var _0x81cc48=this;return new Promise(function(_0x1e35ea,_0x3de948){return db[_0x914d('0x16')]['findAll']({'raw':_0xea79b7['options']?_0xea79b7[_0x914d('0x17')][_0x914d('0x18')]===undefined?!![]:![]:!![],'where':_0xea79b7[_0x914d('0x17')]?_0xea79b7[_0x914d('0x17')][_0x914d('0x19')]||null:null,'attributes':[[db['sequelize']['fn']('COUNT',db[_0x914d('0x1a')]['fn']('IF',db['sequelize'][_0x914d('0x1b')](_0x914d('0x1c')))),'outboundQueuePauses']]})['then'](function(_0x7d3292){logger[_0x914d('0x1d')](_0x914d('0x15'),_0xea79b7);logger[_0x914d('0xd')]('GetVoiceQueueRtPauses',_0xea79b7,JSON['stringify'](_0x7d3292));_0x1e35ea(_0x7d3292);})['catch'](function(_0x2442f8){logger[_0x914d('0x10')](_0x914d('0x15'),_0x2442f8[_0x914d('0x12')],_0xea79b7);_0x3de948(_0x81cc48[_0x914d('0x10')](0x1f4,_0x2442f8[_0x914d('0x12')]));});});};