Built motion from commit 1fa89557.|2.6.10
[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 _0xb48a=['send','index','map','VoiceQueueReport','rawAttributes','type','model','query','keys','filters','intersection','attributes','fields','length','nolimit','order','sort','pick','filter','where','merge','options','includeAll','include','rows','catch','show','params','find','create','body','getVoiceQueuesReport','hasOwnProperty','findAll','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','util','sox','to-csv','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/utils','../../mysqldb','defaults','localhost','redis','./voiceQueueReport.socket','register','status','offset','limit','undefined','count','set','Content-Range','json','reject','save','update','destroy','then','end','sendStatus','name'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0xb48a,0xba));var _0xab48=function(_0x43b50d,_0x286039){_0x43b50d=_0x43b50d-0x0;var _0x255716=_0xb48a[_0x43b50d];return _0x255716;};'use strict';var emlformat=require(_0xab48('0x0'));var rimraf=require(_0xab48('0x1'));var zipdir=require(_0xab48('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xab48('0x3'));var moment=require(_0xab48('0x4'));var BPromise=require(_0xab48('0x5'));var Mustache=require('mustache');var util=require(_0xab48('0x6'));var path=require('path');var sox=require(_0xab48('0x7'));var csv=require(_0xab48('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xab48('0x9'));var squel=require(_0xab48('0xa'));var crypto=require(_0xab48('0xb'));var jsforce=require(_0xab48('0xc'));var deskjs=require('desk.js');var toCsv=require(_0xab48('0x8'));var querystring=require(_0xab48('0xd'));var Papa=require(_0xab48('0xe'));var Redis=require(_0xab48('0xf'));var authService=require(_0xab48('0x10'));var qs=require(_0xab48('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xab48('0x12'));var logger=require('../../config/logger')('api');var utils=require(_0xab48('0x13'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0xab48('0x14'))['db'];config['redis']=_[_0xab48('0x15')](config['redis'],{'host':_0xab48('0x16'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xab48('0x17')]));require(_0xab48('0x18'))[_0xab48('0x19')](socket);function respondWithStatusCode(_0x4b2fd3,_0x216e19){_0x216e19=_0x216e19||0xcc;return function(_0x37508c){if(_0x37508c){return _0x4b2fd3['sendStatus'](_0x216e19);}return _0x4b2fd3[_0xab48('0x1a')](_0x216e19)['end']();};}function respondWithResult(_0x586fea,_0x1719f8){_0x1719f8=_0x1719f8||0xc8;return function(_0x23ef9a){if(_0x23ef9a){return _0x586fea[_0xab48('0x1a')](_0x1719f8)['json'](_0x23ef9a);}};}function respondWithFilteredResult(_0x3139cc,_0xb33bd7){return function(_0x236bc3){if(_0x236bc3){var _0x7024ec=typeof _0xb33bd7[_0xab48('0x1b')]==='undefined'&&typeof _0xb33bd7[_0xab48('0x1c')]===_0xab48('0x1d');var _0xa9a963=_0x236bc3[_0xab48('0x1e')];var _0x2c4600=_0x7024ec?0x0:_0xb33bd7['offset'];var _0x4f8045=_0x7024ec?_0x236bc3[_0xab48('0x1e')]:_0xb33bd7[_0xab48('0x1b')]+_0xb33bd7[_0xab48('0x1c')];var _0x1d583d;if(_0x4f8045>=_0xa9a963){_0x4f8045=_0xa9a963;_0x1d583d=0xc8;}else{_0x1d583d=0xce;}_0x3139cc[_0xab48('0x1a')](_0x1d583d);return _0x3139cc[_0xab48('0x1f')](_0xab48('0x20'),_0x2c4600+'-'+_0x4f8045+'/'+_0xa9a963)[_0xab48('0x21')](_0x236bc3);}return null;};}function patchUpdates(_0x171844){return function(_0x57bace){try{jsonpatch['apply'](_0x57bace,_0x171844,!![]);}catch(_0x232fd6){return BPromise[_0xab48('0x22')](_0x232fd6);}return _0x57bace[_0xab48('0x23')]();};}function saveUpdates(_0x57da52,_0x474110){return function(_0x1886d1){if(_0x1886d1){return _0x1886d1[_0xab48('0x24')](_0x57da52)['then'](function(_0x2eab88){return _0x2eab88;});}return null;};}function removeEntity(_0x5e23f5,_0x321f6f){return function(_0x36e556){if(_0x36e556){return _0x36e556[_0xab48('0x25')]()[_0xab48('0x26')](function(){_0x5e23f5['status'](0xcc)[_0xab48('0x27')]();});}};}function handleEntityNotFound(_0x6bc38e,_0x3355d2){return function(_0x4f8f59){if(!_0x4f8f59){_0x6bc38e[_0xab48('0x28')](0x194);}return _0x4f8f59;};}function handleError(_0x5e27b5,_0xf3664b){_0xf3664b=_0xf3664b||0x1f4;return function(_0x125c89){logger['error'](_0x125c89['stack']);if(_0x125c89[_0xab48('0x29')]){delete _0x125c89[_0xab48('0x29')];}_0x5e27b5[_0xab48('0x1a')](_0xf3664b)[_0xab48('0x2a')](_0x125c89);};}exports[_0xab48('0x2b')]=function(_0x4ab351,_0x4892e6){var _0x3c9909={},_0x303a9f={},_0x3b114c={'count':0x0,'rows':[]};var _0x13abbf=_[_0xab48('0x2c')](db[_0xab48('0x2d')][_0xab48('0x2e')],function(_0x2e1e67){return{'name':_0x2e1e67['fieldName'],'type':_0x2e1e67[_0xab48('0x2f')]['key']};});_0x303a9f[_0xab48('0x30')]=_[_0xab48('0x2c')](_0x13abbf,_0xab48('0x29'));_0x303a9f[_0xab48('0x31')]=_[_0xab48('0x32')](_0x4ab351[_0xab48('0x31')]);_0x303a9f[_0xab48('0x33')]=_[_0xab48('0x34')](_0x303a9f[_0xab48('0x30')],_0x303a9f[_0xab48('0x31')]);_0x3c9909[_0xab48('0x35')]=_[_0xab48('0x34')](_0x303a9f[_0xab48('0x30')],qs['fields'](_0x4ab351[_0xab48('0x31')][_0xab48('0x36')]));_0x3c9909[_0xab48('0x35')]=_0x3c9909[_0xab48('0x35')][_0xab48('0x37')]?_0x3c9909[_0xab48('0x35')]:_0x303a9f[_0xab48('0x30')];if(!_0x4ab351[_0xab48('0x31')]['hasOwnProperty'](_0xab48('0x38'))){_0x3c9909[_0xab48('0x1c')]=qs[_0xab48('0x1c')](_0x4ab351['query'][_0xab48('0x1c')]);_0x3c9909['offset']=qs[_0xab48('0x1b')](_0x4ab351['query'][_0xab48('0x1b')]);}_0x3c9909[_0xab48('0x39')]=qs[_0xab48('0x3a')](_0x4ab351['query'][_0xab48('0x3a')]);_0x3c9909['where']=qs[_0xab48('0x33')](_[_0xab48('0x3b')](_0x4ab351[_0xab48('0x31')],_0x303a9f['filters']),_0x13abbf);if(_0x4ab351[_0xab48('0x31')][_0xab48('0x3c')]){_0x3c9909[_0xab48('0x3d')]=_[_0xab48('0x3e')](_0x3c9909[_0xab48('0x3d')],{'$or':_[_0xab48('0x2c')](_0x13abbf,function(_0x59f609){if(_0x59f609[_0xab48('0x2f')]!=='VIRTUAL'){var _0x2a020b={};_0x2a020b[_0x59f609[_0xab48('0x29')]]={'$like':'%'+_0x4ab351[_0xab48('0x31')][_0xab48('0x3c')]+'%'};return _0x2a020b;}})});}_0x3c9909=_[_0xab48('0x3e')]({},_0x3c9909,_0x4ab351[_0xab48('0x3f')]);var _0x53754d={'where':_0x3c9909[_0xab48('0x3d')]};return db[_0xab48('0x2d')][_0xab48('0x1e')](_0x53754d)[_0xab48('0x26')](function(_0x1e1f82){_0x3b114c[_0xab48('0x1e')]=_0x1e1f82;if(_0x4ab351[_0xab48('0x31')][_0xab48('0x40')]){_0x3c9909[_0xab48('0x41')]=[{'all':!![]}];}return db[_0xab48('0x2d')]['findAll'](_0x3c9909);})[_0xab48('0x26')](function(_0x2ba0ab){_0x3b114c[_0xab48('0x42')]=_0x2ba0ab;return _0x3b114c;})[_0xab48('0x26')](respondWithFilteredResult(_0x4892e6,_0x3c9909))[_0xab48('0x43')](handleError(_0x4892e6,null));};exports[_0xab48('0x44')]=function(_0x56c85d,_0x14a35a){var _0x4214fe={'raw':![],'where':{'id':_0x56c85d[_0xab48('0x45')]['id']}},_0xc0a22f={};_0xc0a22f[_0xab48('0x30')]=_['keys'](db[_0xab48('0x2d')]['rawAttributes']);_0xc0a22f[_0xab48('0x31')]=_[_0xab48('0x32')](_0x56c85d[_0xab48('0x31')]);_0xc0a22f[_0xab48('0x33')]=_['intersection'](_0xc0a22f['model'],_0xc0a22f[_0xab48('0x31')]);_0x4214fe[_0xab48('0x35')]=_[_0xab48('0x34')](_0xc0a22f[_0xab48('0x30')],qs[_0xab48('0x36')](_0x56c85d[_0xab48('0x31')][_0xab48('0x36')]));_0x4214fe[_0xab48('0x35')]=_0x4214fe[_0xab48('0x35')][_0xab48('0x37')]?_0x4214fe[_0xab48('0x35')]:_0xc0a22f['model'];if(_0x56c85d[_0xab48('0x31')][_0xab48('0x40')]){_0x4214fe[_0xab48('0x41')]=[{'all':!![]}];}_0x4214fe=_['merge']({},_0x4214fe,_0x56c85d['options']);return db['VoiceQueueReport'][_0xab48('0x46')](_0x4214fe)[_0xab48('0x26')](handleEntityNotFound(_0x14a35a,null))[_0xab48('0x26')](respondWithResult(_0x14a35a,null))['catch'](handleError(_0x14a35a,null));};exports[_0xab48('0x47')]=function(_0x5ceb2a,_0x3826cd){return db[_0xab48('0x2d')][_0xab48('0x47')](_0x5ceb2a[_0xab48('0x48')],{})['then'](respondWithResult(_0x3826cd,0xc9))[_0xab48('0x43')](handleError(_0x3826cd,null));};exports[_0xab48('0x24')]=function(_0x146aea,_0x171d5e){if(_0x146aea[_0xab48('0x48')]['id']){delete _0x146aea[_0xab48('0x48')]['id'];}return db[_0xab48('0x2d')]['find']({'where':{'id':_0x146aea[_0xab48('0x45')]['id']}})[_0xab48('0x26')](handleEntityNotFound(_0x171d5e,null))['then'](saveUpdates(_0x146aea['body'],null))['then'](respondWithResult(_0x171d5e,null))[_0xab48('0x43')](handleError(_0x171d5e,null));};exports[_0xab48('0x25')]=function(_0x2bc9d4,_0xe1d488){return db[_0xab48('0x2d')][_0xab48('0x46')]({'where':{'id':_0x2bc9d4[_0xab48('0x45')]['id']}})[_0xab48('0x26')](handleEntityNotFound(_0xe1d488,null))['then'](removeEntity(_0xe1d488,null))[_0xab48('0x43')](handleError(_0xe1d488,null));};exports['describe']=function(_0x2cb1c1,_0x2f3bd2){return db[_0xab48('0x2d')]['describe']()['then'](respondWithResult(_0x2f3bd2,null))[_0xab48('0x43')](handleError(_0x2f3bd2,null));};exports[_0xab48('0x49')]=function(_0x3dc0a0,_0x20fd26){var _0x5494a2={},_0x5a145d={},_0x1ad054={'count':0x0,'rows':[]};_0x5a145d[_0xab48('0x30')]=_['keys'](db['VoiceQueueReport']['rawAttributes']);_0x5a145d['query']=_[_0xab48('0x32')](_0x3dc0a0[_0xab48('0x31')]);_0x5a145d[_0xab48('0x33')]=_['intersection'](_0x5a145d[_0xab48('0x30')],_0x5a145d['query']);_0x5494a2['attributes']=_[_0xab48('0x34')](_0x5a145d[_0xab48('0x30')],qs[_0xab48('0x36')](_0x3dc0a0[_0xab48('0x31')]['fields']));_0x5494a2['attributes']=_0x5494a2[_0xab48('0x35')]['length']?_0x5494a2[_0xab48('0x35')]:_0x5a145d[_0xab48('0x30')];if(!_0x3dc0a0[_0xab48('0x31')][_0xab48('0x4a')]('nolimit')){_0x5494a2[_0xab48('0x1c')]=qs[_0xab48('0x1c')](_0x3dc0a0['query'][_0xab48('0x1c')]);_0x5494a2[_0xab48('0x1b')]=qs[_0xab48('0x1b')](_0x3dc0a0[_0xab48('0x31')][_0xab48('0x1b')]);}_0x5494a2['order']=qs[_0xab48('0x3a')](_0x3dc0a0['query'][_0xab48('0x3a')]);_0x5494a2[_0xab48('0x3d')]=qs[_0xab48('0x33')](_['pick'](_0x3dc0a0['query'],_0x5a145d[_0xab48('0x33')]));if(_0x3dc0a0['query'][_0xab48('0x3c')]){_0x5494a2['where']=_[_0xab48('0x3e')](_0x5494a2[_0xab48('0x3d')],{'$or':_[_0xab48('0x2c')](_0x5494a2[_0xab48('0x35')],function(_0x416e77){var _0x33c051={};_0x33c051[_0x416e77]={'$like':'%'+_0x3dc0a0['query'][_0xab48('0x3c')]+'%'};return _0x33c051;})});}_0x5494a2=_[_0xab48('0x3e')]({},_0x5494a2,_0x3dc0a0['options']);var _0x46de19={'where':_0x5494a2[_0xab48('0x3d')]};return db['VoiceQueueReport']['count'](_0x46de19)[_0xab48('0x26')](function(_0xa32fdb){_0x1ad054['count']=_0xa32fdb;if(_0x3dc0a0['query'][_0xab48('0x40')]){_0x5494a2[_0xab48('0x41')]=[{'all':!![]}];}return db[_0xab48('0x2d')][_0xab48('0x4b')](_0x5494a2);})[_0xab48('0x26')](function(_0x52fea5){_0x1ad054[_0xab48('0x42')]=_0x52fea5;return _0x1ad054;})[_0xab48('0x26')](respondWithFilteredResult(_0x20fd26,_0x5494a2,_0xab48('0x49')))[_0xab48('0x43')](handleError(_0x20fd26,null,_0xab48('0x49')));};