Built motion from commit 43538d75.|2.5.35
[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 _0xcc3c=['lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./voiceQueueReport.socket','end','status','offset','undefined','limit','set','Content-Range','apply','reject','save','update','then','sendStatus','error','stack','name','send','map','VoiceQueueReport','type','key','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','sort','filter','where','merge','VIRTUAL','count','includeAll','include','findAll','catch','show','rawAttributes','options','create','body','find','params','destroy','describe','nolimit','order','pick','getVoiceQueuesReport','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','ejs'];(function(_0x25be02,_0x10cf35){var _0x14c4d1=function(_0x1006b8){while(--_0x1006b8){_0x25be02['push'](_0x25be02['shift']());}};_0x14c4d1(++_0x10cf35);}(_0xcc3c,0x9d));var _0xccc3=function(_0x4d5b3e,_0x49beed){_0x4d5b3e=_0x4d5b3e-0x0;var _0x4b67c6=_0xcc3c[_0x4d5b3e];return _0x4b67c6;};'use strict';var emlformat=require(_0xccc3('0x0'));var rimraf=require(_0xccc3('0x1'));var zipdir=require(_0xccc3('0x2'));var jsonpatch=require(_0xccc3('0x3'));var rp=require(_0xccc3('0x4'));var moment=require(_0xccc3('0x5'));var BPromise=require(_0xccc3('0x6'));var Mustache=require(_0xccc3('0x7'));var util=require('util');var path=require(_0xccc3('0x8'));var sox=require(_0xccc3('0x9'));var csv=require('to-csv');var ejs=require(_0xccc3('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xccc3('0xb'));var squel=require(_0xccc3('0xc'));var crypto=require(_0xccc3('0xd'));var jsforce=require(_0xccc3('0xe'));var deskjs=require(_0xccc3('0xf'));var toCsv=require('to-csv');var querystring=require(_0xccc3('0x10'));var Papa=require(_0xccc3('0x11'));var Redis=require(_0xccc3('0x12'));var authService=require(_0xccc3('0x13'));var qs=require(_0xccc3('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xccc3('0x15'));var logger=require('../../config/logger')(_0xccc3('0x16'));var utils=require(_0xccc3('0x17'));var config=require('../../config/environment');var licenseUtil=require(_0xccc3('0x18'));var db=require(_0xccc3('0x19'))['db'];config[_0xccc3('0x1a')]=_[_0xccc3('0x1b')](config[_0xccc3('0x1a')],{'host':_0xccc3('0x1c'),'port':0x18eb});var socket=require(_0xccc3('0x1d'))(new Redis(config[_0xccc3('0x1a')]));require(_0xccc3('0x1e'))['register'](socket);function respondWithStatusCode(_0x5abbbb,_0xf01a1d){_0xf01a1d=_0xf01a1d||0xcc;return function(_0x82c3cc){if(_0x82c3cc){return _0x5abbbb['sendStatus'](_0xf01a1d);}return _0x5abbbb['status'](_0xf01a1d)[_0xccc3('0x1f')]();};}function respondWithResult(_0x56f230,_0x3bc9b8){_0x3bc9b8=_0x3bc9b8||0xc8;return function(_0x1e8822){if(_0x1e8822){return _0x56f230[_0xccc3('0x20')](_0x3bc9b8)['json'](_0x1e8822);}};}function respondWithFilteredResult(_0x11d6c8,_0x546ed7){return function(_0x403ca0){if(_0x403ca0){var _0x18e152=typeof _0x546ed7[_0xccc3('0x21')]===_0xccc3('0x22')&&typeof _0x546ed7[_0xccc3('0x23')]===_0xccc3('0x22');var _0x21d639=_0x403ca0['count'];var _0x183be7=_0x18e152?0x0:_0x546ed7[_0xccc3('0x21')];var _0x28f8f8=_0x18e152?_0x403ca0['count']:_0x546ed7['offset']+_0x546ed7[_0xccc3('0x23')];var _0x390769;if(_0x28f8f8>=_0x21d639){_0x28f8f8=_0x21d639;_0x390769=0xc8;}else{_0x390769=0xce;}_0x11d6c8[_0xccc3('0x20')](_0x390769);return _0x11d6c8[_0xccc3('0x24')](_0xccc3('0x25'),_0x183be7+'-'+_0x28f8f8+'/'+_0x21d639)['json'](_0x403ca0);}return null;};}function patchUpdates(_0x575dc9){return function(_0x505509){try{jsonpatch[_0xccc3('0x26')](_0x505509,_0x575dc9,!![]);}catch(_0x40330b){return BPromise[_0xccc3('0x27')](_0x40330b);}return _0x505509[_0xccc3('0x28')]();};}function saveUpdates(_0x3e360a,_0x491d7c){return function(_0x3ae47b){if(_0x3ae47b){return _0x3ae47b[_0xccc3('0x29')](_0x3e360a)[_0xccc3('0x2a')](function(_0x5e121f){return _0x5e121f;});}return null;};}function removeEntity(_0x35787d,_0x5a8394){return function(_0x1c8de5){if(_0x1c8de5){return _0x1c8de5['destroy']()[_0xccc3('0x2a')](function(){_0x35787d['status'](0xcc)[_0xccc3('0x1f')]();});}};}function handleEntityNotFound(_0x1b74cb,_0x2b57b3){return function(_0x18e62e){if(!_0x18e62e){_0x1b74cb[_0xccc3('0x2b')](0x194);}return _0x18e62e;};}function handleError(_0x10f376,_0x3173e0){_0x3173e0=_0x3173e0||0x1f4;return function(_0x28a9b7){logger[_0xccc3('0x2c')](_0x28a9b7[_0xccc3('0x2d')]);if(_0x28a9b7[_0xccc3('0x2e')]){delete _0x28a9b7[_0xccc3('0x2e')];}_0x10f376[_0xccc3('0x20')](_0x3173e0)[_0xccc3('0x2f')](_0x28a9b7);};}exports['index']=function(_0x739985,_0x2d56e1){var _0x4fe971={},_0x187e0f={},_0x59ab8e={'count':0x0,'rows':[]};var _0x258a7b=_[_0xccc3('0x30')](db[_0xccc3('0x31')]['rawAttributes'],function(_0x2a14ba){return{'name':_0x2a14ba['fieldName'],'type':_0x2a14ba[_0xccc3('0x32')][_0xccc3('0x33')]};});_0x187e0f['model']=_[_0xccc3('0x30')](_0x258a7b,_0xccc3('0x2e'));_0x187e0f[_0xccc3('0x34')]=_[_0xccc3('0x35')](_0x739985[_0xccc3('0x34')]);_0x187e0f[_0xccc3('0x36')]=_[_0xccc3('0x37')](_0x187e0f[_0xccc3('0x38')],_0x187e0f[_0xccc3('0x34')]);_0x4fe971[_0xccc3('0x39')]=_[_0xccc3('0x37')](_0x187e0f[_0xccc3('0x38')],qs[_0xccc3('0x3a')](_0x739985[_0xccc3('0x34')][_0xccc3('0x3a')]));_0x4fe971['attributes']=_0x4fe971['attributes'][_0xccc3('0x3b')]?_0x4fe971[_0xccc3('0x39')]:_0x187e0f[_0xccc3('0x38')];if(!_0x739985['query'][_0xccc3('0x3c')]('nolimit')){_0x4fe971[_0xccc3('0x23')]=qs[_0xccc3('0x23')](_0x739985[_0xccc3('0x34')]['limit']);_0x4fe971['offset']=qs[_0xccc3('0x21')](_0x739985['query'][_0xccc3('0x21')]);}_0x4fe971['order']=qs[_0xccc3('0x3d')](_0x739985[_0xccc3('0x34')]['sort']);_0x4fe971['where']=qs['filters'](_['pick'](_0x739985['query'],_0x187e0f[_0xccc3('0x36')]),_0x258a7b);if(_0x739985[_0xccc3('0x34')][_0xccc3('0x3e')]){_0x4fe971[_0xccc3('0x3f')]=_[_0xccc3('0x40')](_0x4fe971[_0xccc3('0x3f')],{'$or':_['map'](_0x258a7b,function(_0x24d08c){if(_0x24d08c[_0xccc3('0x32')]!==_0xccc3('0x41')){var _0x376d4c={};_0x376d4c[_0x24d08c[_0xccc3('0x2e')]]={'$like':'%'+_0x739985[_0xccc3('0x34')][_0xccc3('0x3e')]+'%'};return _0x376d4c;}})});}_0x4fe971=_[_0xccc3('0x40')]({},_0x4fe971,_0x739985['options']);var _0x133870={'where':_0x4fe971[_0xccc3('0x3f')]};return db[_0xccc3('0x31')][_0xccc3('0x42')](_0x133870)[_0xccc3('0x2a')](function(_0x591e78){_0x59ab8e[_0xccc3('0x42')]=_0x591e78;if(_0x739985[_0xccc3('0x34')][_0xccc3('0x43')]){_0x4fe971[_0xccc3('0x44')]=[{'all':!![]}];}return db[_0xccc3('0x31')][_0xccc3('0x45')](_0x4fe971);})['then'](function(_0x30a52d){_0x59ab8e['rows']=_0x30a52d;return _0x59ab8e;})['then'](respondWithFilteredResult(_0x2d56e1,_0x4fe971))[_0xccc3('0x46')](handleError(_0x2d56e1,null));};exports[_0xccc3('0x47')]=function(_0x5cb06,_0x8bfc1d){var _0x68d5a4={'raw':![],'where':{'id':_0x5cb06['params']['id']}},_0x46b3a9={};_0x46b3a9[_0xccc3('0x38')]=_[_0xccc3('0x35')](db['VoiceQueueReport'][_0xccc3('0x48')]);_0x46b3a9[_0xccc3('0x34')]=_[_0xccc3('0x35')](_0x5cb06[_0xccc3('0x34')]);_0x46b3a9[_0xccc3('0x36')]=_['intersection'](_0x46b3a9[_0xccc3('0x38')],_0x46b3a9[_0xccc3('0x34')]);_0x68d5a4['attributes']=_['intersection'](_0x46b3a9['model'],qs['fields'](_0x5cb06[_0xccc3('0x34')]['fields']));_0x68d5a4['attributes']=_0x68d5a4['attributes']['length']?_0x68d5a4['attributes']:_0x46b3a9['model'];if(_0x5cb06[_0xccc3('0x34')][_0xccc3('0x43')]){_0x68d5a4[_0xccc3('0x44')]=[{'all':!![]}];}_0x68d5a4=_[_0xccc3('0x40')]({},_0x68d5a4,_0x5cb06[_0xccc3('0x49')]);return db[_0xccc3('0x31')]['find'](_0x68d5a4)[_0xccc3('0x2a')](handleEntityNotFound(_0x8bfc1d,null))[_0xccc3('0x2a')](respondWithResult(_0x8bfc1d,null))['catch'](handleError(_0x8bfc1d,null));};exports[_0xccc3('0x4a')]=function(_0x581b4e,_0x546b52){return db[_0xccc3('0x31')][_0xccc3('0x4a')](_0x581b4e[_0xccc3('0x4b')],{})[_0xccc3('0x2a')](respondWithResult(_0x546b52,0xc9))[_0xccc3('0x46')](handleError(_0x546b52,null));};exports[_0xccc3('0x29')]=function(_0x23b389,_0x1dc221){if(_0x23b389[_0xccc3('0x4b')]['id']){delete _0x23b389[_0xccc3('0x4b')]['id'];}return db[_0xccc3('0x31')][_0xccc3('0x4c')]({'where':{'id':_0x23b389[_0xccc3('0x4d')]['id']}})[_0xccc3('0x2a')](handleEntityNotFound(_0x1dc221,null))['then'](saveUpdates(_0x23b389[_0xccc3('0x4b')],null))[_0xccc3('0x2a')](respondWithResult(_0x1dc221,null))[_0xccc3('0x46')](handleError(_0x1dc221,null));};exports[_0xccc3('0x4e')]=function(_0x11a40f,_0x4a584c){return db[_0xccc3('0x31')][_0xccc3('0x4c')]({'where':{'id':_0x11a40f['params']['id']}})[_0xccc3('0x2a')](handleEntityNotFound(_0x4a584c,null))[_0xccc3('0x2a')](removeEntity(_0x4a584c,null))['catch'](handleError(_0x4a584c,null));};exports[_0xccc3('0x4f')]=function(_0x4c98e1,_0x5128b1){return db[_0xccc3('0x31')][_0xccc3('0x4f')]()[_0xccc3('0x2a')](respondWithResult(_0x5128b1,null))['catch'](handleError(_0x5128b1,null));};exports['getVoiceQueuesReport']=function(_0x1f8386,_0x236426){var _0x153a5a={},_0x656c73={},_0x364786={'count':0x0,'rows':[]};_0x656c73[_0xccc3('0x38')]=_['keys'](db[_0xccc3('0x31')][_0xccc3('0x48')]);_0x656c73['query']=_[_0xccc3('0x35')](_0x1f8386['query']);_0x656c73['filters']=_[_0xccc3('0x37')](_0x656c73[_0xccc3('0x38')],_0x656c73[_0xccc3('0x34')]);_0x153a5a['attributes']=_[_0xccc3('0x37')](_0x656c73[_0xccc3('0x38')],qs['fields'](_0x1f8386['query'][_0xccc3('0x3a')]));_0x153a5a[_0xccc3('0x39')]=_0x153a5a['attributes'][_0xccc3('0x3b')]?_0x153a5a[_0xccc3('0x39')]:_0x656c73['model'];if(!_0x1f8386[_0xccc3('0x34')][_0xccc3('0x3c')](_0xccc3('0x50'))){_0x153a5a[_0xccc3('0x23')]=qs[_0xccc3('0x23')](_0x1f8386[_0xccc3('0x34')]['limit']);_0x153a5a[_0xccc3('0x21')]=qs[_0xccc3('0x21')](_0x1f8386['query'][_0xccc3('0x21')]);}_0x153a5a[_0xccc3('0x51')]=qs[_0xccc3('0x3d')](_0x1f8386[_0xccc3('0x34')]['sort']);_0x153a5a['where']=qs[_0xccc3('0x36')](_[_0xccc3('0x52')](_0x1f8386[_0xccc3('0x34')],_0x656c73['filters']));if(_0x1f8386[_0xccc3('0x34')]['filter']){_0x153a5a[_0xccc3('0x3f')]=_['merge'](_0x153a5a['where'],{'$or':_[_0xccc3('0x30')](_0x153a5a[_0xccc3('0x39')],function(_0x396639){var _0x1a0f37={};_0x1a0f37[_0x396639]={'$like':'%'+_0x1f8386[_0xccc3('0x34')]['filter']+'%'};return _0x1a0f37;})});}_0x153a5a=_['merge']({},_0x153a5a,_0x1f8386['options']);var _0x577f60={'where':_0x153a5a[_0xccc3('0x3f')]};return db[_0xccc3('0x31')][_0xccc3('0x42')](_0x577f60)[_0xccc3('0x2a')](function(_0x1a53b8){_0x364786[_0xccc3('0x42')]=_0x1a53b8;if(_0x1f8386[_0xccc3('0x34')]['includeAll']){_0x153a5a['include']=[{'all':!![]}];}return db['VoiceQueueReport'][_0xccc3('0x45')](_0x153a5a);})['then'](function(_0x4b3fec){_0x364786['rows']=_0x4b3fec;return _0x364786;})[_0xccc3('0x2a')](respondWithFilteredResult(_0x236426,_0x153a5a,_0xccc3('0x53')))[_0xccc3('0x46')](handleError(_0x236426,null,_0xccc3('0x53')));};