Built motion from commit f25620e4.|2.6.30
[motion2.git] / server / api / voiceQueueReport / voiceQueueReport.controller.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 _0xdebb=['destroy','error','stack','name','index','map','VoiceQueueReport','rawAttributes','fieldName','type','key','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','filter','where','merge','VIRTUAL','options','includeAll','findAll','rows','catch','params','model','keys','include','find','create','body','describe','getVoiceQueuesReport','eml-format','rimraf','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','crypto','jsforce','desk.js','querystring','ioredis','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./voiceQueueReport.socket','register','sendStatus','status','end','offset','undefined','limit','count','Content-Range','apply','reject','update','then'];(function(_0x599c94,_0x464f0e){var _0x34e215=function(_0x36295a){while(--_0x36295a){_0x599c94['push'](_0x599c94['shift']());}};_0x34e215(++_0x464f0e);}(_0xdebb,0x7a));var _0xbdeb=function(_0x1fb3f2,_0x1eacf4){_0x1fb3f2=_0x1fb3f2-0x0;var _0x220105=_0xdebb[_0x1fb3f2];return _0x220105;};'use strict';var emlformat=require(_0xbdeb('0x0'));var rimraf=require(_0xbdeb('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xbdeb('0x2'));var rp=require(_0xbdeb('0x3'));var moment=require('moment');var BPromise=require(_0xbdeb('0x4'));var Mustache=require(_0xbdeb('0x5'));var util=require(_0xbdeb('0x6'));var path=require(_0xbdeb('0x7'));var sox=require(_0xbdeb('0x8'));var csv=require(_0xbdeb('0x9'));var ejs=require(_0xbdeb('0xa'));var fs=require('fs');var fs_extra=require(_0xbdeb('0xb'));var _=require('lodash');var squel=require('squel');var crypto=require(_0xbdeb('0xc'));var jsforce=require(_0xbdeb('0xd'));var deskjs=require(_0xbdeb('0xe'));var toCsv=require(_0xbdeb('0x9'));var querystring=require(_0xbdeb('0xf'));var Papa=require('papaparse');var Redis=require(_0xbdeb('0x10'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xbdeb('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xbdeb('0x12'))(_0xbdeb('0x13'));var utils=require(_0xbdeb('0x14'));var config=require(_0xbdeb('0x15'));var licenseUtil=require(_0xbdeb('0x16'));var db=require(_0xbdeb('0x17'))['db'];config[_0xbdeb('0x18')]=_[_0xbdeb('0x19')](config[_0xbdeb('0x18')],{'host':_0xbdeb('0x1a'),'port':0x18eb});var socket=require(_0xbdeb('0x1b'))(new Redis(config['redis']));require(_0xbdeb('0x1c'))[_0xbdeb('0x1d')](socket);function respondWithStatusCode(_0x525496,_0x2136ea){_0x2136ea=_0x2136ea||0xcc;return function(_0x350410){if(_0x350410){return _0x525496[_0xbdeb('0x1e')](_0x2136ea);}return _0x525496[_0xbdeb('0x1f')](_0x2136ea)[_0xbdeb('0x20')]();};}function respondWithResult(_0x4de252,_0x2e084f){_0x2e084f=_0x2e084f||0xc8;return function(_0x1811e7){if(_0x1811e7){return _0x4de252[_0xbdeb('0x1f')](_0x2e084f)['json'](_0x1811e7);}};}function respondWithFilteredResult(_0x418674,_0x11edd9){return function(_0x496661){if(_0x496661){var _0x8e6c38=typeof _0x11edd9[_0xbdeb('0x21')]===_0xbdeb('0x22')&&typeof _0x11edd9[_0xbdeb('0x23')]===_0xbdeb('0x22');var _0x4a08b1=_0x496661[_0xbdeb('0x24')];var _0xb5ecbc=_0x8e6c38?0x0:_0x11edd9[_0xbdeb('0x21')];var _0x5b6b9e=_0x8e6c38?_0x496661['count']:_0x11edd9[_0xbdeb('0x21')]+_0x11edd9[_0xbdeb('0x23')];var _0x547f3b;if(_0x5b6b9e>=_0x4a08b1){_0x5b6b9e=_0x4a08b1;_0x547f3b=0xc8;}else{_0x547f3b=0xce;}_0x418674['status'](_0x547f3b);return _0x418674['set'](_0xbdeb('0x25'),_0xb5ecbc+'-'+_0x5b6b9e+'/'+_0x4a08b1)['json'](_0x496661);}return null;};}function patchUpdates(_0x19449e){return function(_0x5ca2a5){try{jsonpatch[_0xbdeb('0x26')](_0x5ca2a5,_0x19449e,!![]);}catch(_0x235451){return BPromise[_0xbdeb('0x27')](_0x235451);}return _0x5ca2a5['save']();};}function saveUpdates(_0x5d61e5,_0x2dfd39){return function(_0x5245eb){if(_0x5245eb){return _0x5245eb[_0xbdeb('0x28')](_0x5d61e5)[_0xbdeb('0x29')](function(_0x43bd23){return _0x43bd23;});}return null;};}function removeEntity(_0x5962d2,_0x54bce4){return function(_0x2d4a32){if(_0x2d4a32){return _0x2d4a32[_0xbdeb('0x2a')]()[_0xbdeb('0x29')](function(){_0x5962d2[_0xbdeb('0x1f')](0xcc)[_0xbdeb('0x20')]();});}};}function handleEntityNotFound(_0x3ce7ea,_0x2bc76a){return function(_0x1d9f39){if(!_0x1d9f39){_0x3ce7ea[_0xbdeb('0x1e')](0x194);}return _0x1d9f39;};}function handleError(_0x5d8d5f,_0x590e13){_0x590e13=_0x590e13||0x1f4;return function(_0x5e06d5){logger[_0xbdeb('0x2b')](_0x5e06d5[_0xbdeb('0x2c')]);if(_0x5e06d5['name']){delete _0x5e06d5[_0xbdeb('0x2d')];}_0x5d8d5f[_0xbdeb('0x1f')](_0x590e13)['send'](_0x5e06d5);};}exports[_0xbdeb('0x2e')]=function(_0x2db4f8,_0x99d0bc){var _0x54cb5c={},_0xe56f4b={},_0x37c046={'count':0x0,'rows':[]};var _0x48bef7=_[_0xbdeb('0x2f')](db[_0xbdeb('0x30')][_0xbdeb('0x31')],function(_0x19f384){return{'name':_0x19f384[_0xbdeb('0x32')],'type':_0x19f384[_0xbdeb('0x33')][_0xbdeb('0x34')]};});_0xe56f4b['model']=_[_0xbdeb('0x2f')](_0x48bef7,_0xbdeb('0x2d'));_0xe56f4b[_0xbdeb('0x35')]=_['keys'](_0x2db4f8[_0xbdeb('0x35')]);_0xe56f4b[_0xbdeb('0x36')]=_[_0xbdeb('0x37')](_0xe56f4b['model'],_0xe56f4b[_0xbdeb('0x35')]);_0x54cb5c[_0xbdeb('0x38')]=_['intersection'](_0xe56f4b['model'],qs['fields'](_0x2db4f8['query'][_0xbdeb('0x39')]));_0x54cb5c[_0xbdeb('0x38')]=_0x54cb5c[_0xbdeb('0x38')][_0xbdeb('0x3a')]?_0x54cb5c[_0xbdeb('0x38')]:_0xe56f4b['model'];if(!_0x2db4f8[_0xbdeb('0x35')][_0xbdeb('0x3b')](_0xbdeb('0x3c'))){_0x54cb5c[_0xbdeb('0x23')]=qs[_0xbdeb('0x23')](_0x2db4f8[_0xbdeb('0x35')][_0xbdeb('0x23')]);_0x54cb5c['offset']=qs['offset'](_0x2db4f8['query'][_0xbdeb('0x21')]);}_0x54cb5c[_0xbdeb('0x3d')]=qs[_0xbdeb('0x3e')](_0x2db4f8['query'][_0xbdeb('0x3e')]);_0x54cb5c['where']=qs[_0xbdeb('0x36')](_[_0xbdeb('0x3f')](_0x2db4f8['query'],_0xe56f4b['filters']),_0x48bef7);if(_0x2db4f8['query'][_0xbdeb('0x40')]){_0x54cb5c[_0xbdeb('0x41')]=_[_0xbdeb('0x42')](_0x54cb5c[_0xbdeb('0x41')],{'$or':_[_0xbdeb('0x2f')](_0x48bef7,function(_0x570a38){if(_0x570a38[_0xbdeb('0x33')]!==_0xbdeb('0x43')){var _0x16ffad={};_0x16ffad[_0x570a38['name']]={'$like':'%'+_0x2db4f8[_0xbdeb('0x35')][_0xbdeb('0x40')]+'%'};return _0x16ffad;}})});}_0x54cb5c=_[_0xbdeb('0x42')]({},_0x54cb5c,_0x2db4f8[_0xbdeb('0x44')]);var _0x2babca={'where':_0x54cb5c[_0xbdeb('0x41')]};return db['VoiceQueueReport'][_0xbdeb('0x24')](_0x2babca)[_0xbdeb('0x29')](function(_0x331be1){_0x37c046[_0xbdeb('0x24')]=_0x331be1;if(_0x2db4f8['query'][_0xbdeb('0x45')]){_0x54cb5c['include']=[{'all':!![]}];}return db[_0xbdeb('0x30')][_0xbdeb('0x46')](_0x54cb5c);})[_0xbdeb('0x29')](function(_0x512fa7){_0x37c046[_0xbdeb('0x47')]=_0x512fa7;return _0x37c046;})['then'](respondWithFilteredResult(_0x99d0bc,_0x54cb5c))[_0xbdeb('0x48')](handleError(_0x99d0bc,null));};exports['show']=function(_0x35750f,_0x5298a2){var _0x143f4b={'raw':![],'where':{'id':_0x35750f[_0xbdeb('0x49')]['id']}},_0x39ceb7={};_0x39ceb7[_0xbdeb('0x4a')]=_['keys'](db[_0xbdeb('0x30')]['rawAttributes']);_0x39ceb7['query']=_[_0xbdeb('0x4b')](_0x35750f[_0xbdeb('0x35')]);_0x39ceb7[_0xbdeb('0x36')]=_[_0xbdeb('0x37')](_0x39ceb7['model'],_0x39ceb7[_0xbdeb('0x35')]);_0x143f4b[_0xbdeb('0x38')]=_[_0xbdeb('0x37')](_0x39ceb7[_0xbdeb('0x4a')],qs[_0xbdeb('0x39')](_0x35750f[_0xbdeb('0x35')][_0xbdeb('0x39')]));_0x143f4b[_0xbdeb('0x38')]=_0x143f4b[_0xbdeb('0x38')][_0xbdeb('0x3a')]?_0x143f4b['attributes']:_0x39ceb7[_0xbdeb('0x4a')];if(_0x35750f[_0xbdeb('0x35')]['includeAll']){_0x143f4b[_0xbdeb('0x4c')]=[{'all':!![]}];}_0x143f4b=_['merge']({},_0x143f4b,_0x35750f[_0xbdeb('0x44')]);return db[_0xbdeb('0x30')][_0xbdeb('0x4d')](_0x143f4b)['then'](handleEntityNotFound(_0x5298a2,null))[_0xbdeb('0x29')](respondWithResult(_0x5298a2,null))['catch'](handleError(_0x5298a2,null));};exports[_0xbdeb('0x4e')]=function(_0x12a5cb,_0x19ae0c){return db[_0xbdeb('0x30')][_0xbdeb('0x4e')](_0x12a5cb['body'],{})[_0xbdeb('0x29')](respondWithResult(_0x19ae0c,0xc9))[_0xbdeb('0x48')](handleError(_0x19ae0c,null));};exports['update']=function(_0x4b1ef8,_0x2c8f21){if(_0x4b1ef8[_0xbdeb('0x4f')]['id']){delete _0x4b1ef8[_0xbdeb('0x4f')]['id'];}return db['VoiceQueueReport'][_0xbdeb('0x4d')]({'where':{'id':_0x4b1ef8[_0xbdeb('0x49')]['id']}})[_0xbdeb('0x29')](handleEntityNotFound(_0x2c8f21,null))[_0xbdeb('0x29')](saveUpdates(_0x4b1ef8[_0xbdeb('0x4f')],null))['then'](respondWithResult(_0x2c8f21,null))['catch'](handleError(_0x2c8f21,null));};exports[_0xbdeb('0x2a')]=function(_0x417ff4,_0x365c32){return db[_0xbdeb('0x30')]['find']({'where':{'id':_0x417ff4[_0xbdeb('0x49')]['id']}})['then'](handleEntityNotFound(_0x365c32,null))[_0xbdeb('0x29')](removeEntity(_0x365c32,null))[_0xbdeb('0x48')](handleError(_0x365c32,null));};exports['describe']=function(_0x4fd3b0,_0x15e2c4){return db[_0xbdeb('0x30')][_0xbdeb('0x50')]()[_0xbdeb('0x29')](respondWithResult(_0x15e2c4,null))[_0xbdeb('0x48')](handleError(_0x15e2c4,null));};exports[_0xbdeb('0x51')]=function(_0x5b78fe,_0x3ad18e){var _0xd5ec93={},_0xa6d5aa={},_0x356312={'count':0x0,'rows':[]};_0xa6d5aa[_0xbdeb('0x4a')]=_[_0xbdeb('0x4b')](db[_0xbdeb('0x30')][_0xbdeb('0x31')]);_0xa6d5aa[_0xbdeb('0x35')]=_['keys'](_0x5b78fe['query']);_0xa6d5aa[_0xbdeb('0x36')]=_[_0xbdeb('0x37')](_0xa6d5aa[_0xbdeb('0x4a')],_0xa6d5aa[_0xbdeb('0x35')]);_0xd5ec93[_0xbdeb('0x38')]=_[_0xbdeb('0x37')](_0xa6d5aa[_0xbdeb('0x4a')],qs[_0xbdeb('0x39')](_0x5b78fe[_0xbdeb('0x35')]['fields']));_0xd5ec93['attributes']=_0xd5ec93['attributes'][_0xbdeb('0x3a')]?_0xd5ec93[_0xbdeb('0x38')]:_0xa6d5aa[_0xbdeb('0x4a')];if(!_0x5b78fe['query'][_0xbdeb('0x3b')](_0xbdeb('0x3c'))){_0xd5ec93[_0xbdeb('0x23')]=qs[_0xbdeb('0x23')](_0x5b78fe[_0xbdeb('0x35')][_0xbdeb('0x23')]);_0xd5ec93[_0xbdeb('0x21')]=qs[_0xbdeb('0x21')](_0x5b78fe[_0xbdeb('0x35')]['offset']);}_0xd5ec93[_0xbdeb('0x3d')]=qs[_0xbdeb('0x3e')](_0x5b78fe['query'][_0xbdeb('0x3e')]);_0xd5ec93[_0xbdeb('0x41')]=qs[_0xbdeb('0x36')](_[_0xbdeb('0x3f')](_0x5b78fe[_0xbdeb('0x35')],_0xa6d5aa[_0xbdeb('0x36')]));if(_0x5b78fe[_0xbdeb('0x35')][_0xbdeb('0x40')]){_0xd5ec93[_0xbdeb('0x41')]=_['merge'](_0xd5ec93['where'],{'$or':_[_0xbdeb('0x2f')](_0xd5ec93[_0xbdeb('0x38')],function(_0x58871a){var _0x1ca8b4={};_0x1ca8b4[_0x58871a]={'$like':'%'+_0x5b78fe[_0xbdeb('0x35')][_0xbdeb('0x40')]+'%'};return _0x1ca8b4;})});}_0xd5ec93=_[_0xbdeb('0x42')]({},_0xd5ec93,_0x5b78fe[_0xbdeb('0x44')]);var _0x5f2b48={'where':_0xd5ec93[_0xbdeb('0x41')]};return db[_0xbdeb('0x30')][_0xbdeb('0x24')](_0x5f2b48)[_0xbdeb('0x29')](function(_0x541b38){_0x356312[_0xbdeb('0x24')]=_0x541b38;if(_0x5b78fe[_0xbdeb('0x35')]['includeAll']){_0xd5ec93[_0xbdeb('0x4c')]=[{'all':!![]}];}return db['VoiceQueueReport'][_0xbdeb('0x46')](_0xd5ec93);})[_0xbdeb('0x29')](function(_0x18adea){_0x356312['rows']=_0x18adea;return _0x356312;})['then'](respondWithFilteredResult(_0x3ad18e,_0xd5ec93,_0xbdeb('0x51')))[_0xbdeb('0x48')](handleError(_0x3ad18e,null,_0xbdeb('0x51')));};