Built motion from commit 44b1f254.|2.6.26
[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 _0x1237=['fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','socket.io-emitter','./voiceQueueReport.socket','sendStatus','status','end','undefined','limit','offset','count','set','json','reject','save','update','then','destroy','error','stack','name','index','map','VoiceQueueReport','rawAttributes','fieldName','type','key','model','query','keys','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','filters','pick','filter','where','merge','VIRTUAL','options','includeAll','include','rows','catch','show','params','find','create','body','describe','getVoiceQueuesReport','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox'];(function(_0x1fd0e9,_0xbd759f){var _0x5d9f31=function(_0x293131){while(--_0x293131){_0x1fd0e9['push'](_0x1fd0e9['shift']());}};_0x5d9f31(++_0xbd759f);}(_0x1237,0x19f));var _0x7123=function(_0x262967,_0x2336fb){_0x262967=_0x262967-0x0;var _0x38120b=_0x1237[_0x262967];return _0x38120b;};'use strict';var emlformat=require(_0x7123('0x0'));var rimraf=require(_0x7123('0x1'));var zipdir=require(_0x7123('0x2'));var jsonpatch=require(_0x7123('0x3'));var rp=require(_0x7123('0x4'));var moment=require('moment');var BPromise=require(_0x7123('0x5'));var Mustache=require(_0x7123('0x6'));var util=require(_0x7123('0x7'));var path=require(_0x7123('0x8'));var sox=require(_0x7123('0x9'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x7123('0xa'));var _=require(_0x7123('0xb'));var squel=require(_0x7123('0xc'));var crypto=require(_0x7123('0xd'));var jsforce=require(_0x7123('0xe'));var deskjs=require(_0x7123('0xf'));var toCsv=require('to-csv');var querystring=require(_0x7123('0x10'));var Papa=require(_0x7123('0x11'));var Redis=require(_0x7123('0x12'));var authService=require(_0x7123('0x13'));var qs=require('../../components/parsers/qs');var as=require(_0x7123('0x14'));var hardwareService=require(_0x7123('0x15'));var logger=require(_0x7123('0x16'))(_0x7123('0x17'));var utils=require(_0x7123('0x18'));var config=require(_0x7123('0x19'));var licenseUtil=require(_0x7123('0x1a'));var db=require(_0x7123('0x1b'))['db'];config[_0x7123('0x1c')]=_[_0x7123('0x1d')](config['redis'],{'host':'localhost','port':0x18eb});var socket=require(_0x7123('0x1e'))(new Redis(config[_0x7123('0x1c')]));require(_0x7123('0x1f'))['register'](socket);function respondWithStatusCode(_0x3835c6,_0x156c27){_0x156c27=_0x156c27||0xcc;return function(_0x40fafb){if(_0x40fafb){return _0x3835c6[_0x7123('0x20')](_0x156c27);}return _0x3835c6[_0x7123('0x21')](_0x156c27)[_0x7123('0x22')]();};}function respondWithResult(_0xf28f9c,_0x42f2cd){_0x42f2cd=_0x42f2cd||0xc8;return function(_0x4442b0){if(_0x4442b0){return _0xf28f9c[_0x7123('0x21')](_0x42f2cd)['json'](_0x4442b0);}};}function respondWithFilteredResult(_0x5eab53,_0x4e03ce){return function(_0x2bc49e){if(_0x2bc49e){var _0x2a245d=typeof _0x4e03ce['offset']===_0x7123('0x23')&&typeof _0x4e03ce[_0x7123('0x24')]===_0x7123('0x23');var _0x15c11e=_0x2bc49e['count'];var _0x2e70f6=_0x2a245d?0x0:_0x4e03ce[_0x7123('0x25')];var _0x55cc2f=_0x2a245d?_0x2bc49e[_0x7123('0x26')]:_0x4e03ce[_0x7123('0x25')]+_0x4e03ce[_0x7123('0x24')];var _0x4f397c;if(_0x55cc2f>=_0x15c11e){_0x55cc2f=_0x15c11e;_0x4f397c=0xc8;}else{_0x4f397c=0xce;}_0x5eab53['status'](_0x4f397c);return _0x5eab53[_0x7123('0x27')]('Content-Range',_0x2e70f6+'-'+_0x55cc2f+'/'+_0x15c11e)[_0x7123('0x28')](_0x2bc49e);}return null;};}function patchUpdates(_0x4c1083){return function(_0x4a742d){try{jsonpatch['apply'](_0x4a742d,_0x4c1083,!![]);}catch(_0x41952c){return BPromise[_0x7123('0x29')](_0x41952c);}return _0x4a742d[_0x7123('0x2a')]();};}function saveUpdates(_0x4af211,_0x2afd48){return function(_0x1b6ef0){if(_0x1b6ef0){return _0x1b6ef0[_0x7123('0x2b')](_0x4af211)[_0x7123('0x2c')](function(_0x30ff5b){return _0x30ff5b;});}return null;};}function removeEntity(_0x3fbc0a,_0x206fa8){return function(_0x3c8428){if(_0x3c8428){return _0x3c8428[_0x7123('0x2d')]()['then'](function(){_0x3fbc0a[_0x7123('0x21')](0xcc)[_0x7123('0x22')]();});}};}function handleEntityNotFound(_0x2e9d17,_0x52f41d){return function(_0x41a0ba){if(!_0x41a0ba){_0x2e9d17[_0x7123('0x20')](0x194);}return _0x41a0ba;};}function handleError(_0x5e66df,_0x44a1aa){_0x44a1aa=_0x44a1aa||0x1f4;return function(_0x337401){logger[_0x7123('0x2e')](_0x337401[_0x7123('0x2f')]);if(_0x337401[_0x7123('0x30')]){delete _0x337401[_0x7123('0x30')];}_0x5e66df[_0x7123('0x21')](_0x44a1aa)['send'](_0x337401);};}exports[_0x7123('0x31')]=function(_0xd8af7f,_0x4a9740){var _0x2f199c={},_0x393680={},_0x1c2df4={'count':0x0,'rows':[]};var _0x3e91cb=_[_0x7123('0x32')](db[_0x7123('0x33')][_0x7123('0x34')],function(_0x5b9dbc){return{'name':_0x5b9dbc[_0x7123('0x35')],'type':_0x5b9dbc[_0x7123('0x36')][_0x7123('0x37')]};});_0x393680[_0x7123('0x38')]=_[_0x7123('0x32')](_0x3e91cb,'name');_0x393680[_0x7123('0x39')]=_[_0x7123('0x3a')](_0xd8af7f[_0x7123('0x39')]);_0x393680['filters']=_[_0x7123('0x3b')](_0x393680['model'],_0x393680['query']);_0x2f199c['attributes']=_[_0x7123('0x3b')](_0x393680[_0x7123('0x38')],qs[_0x7123('0x3c')](_0xd8af7f[_0x7123('0x39')][_0x7123('0x3c')]));_0x2f199c[_0x7123('0x3d')]=_0x2f199c['attributes'][_0x7123('0x3e')]?_0x2f199c[_0x7123('0x3d')]:_0x393680[_0x7123('0x38')];if(!_0xd8af7f['query'][_0x7123('0x3f')](_0x7123('0x40'))){_0x2f199c[_0x7123('0x24')]=qs[_0x7123('0x24')](_0xd8af7f[_0x7123('0x39')][_0x7123('0x24')]);_0x2f199c[_0x7123('0x25')]=qs[_0x7123('0x25')](_0xd8af7f[_0x7123('0x39')][_0x7123('0x25')]);}_0x2f199c[_0x7123('0x41')]=qs[_0x7123('0x42')](_0xd8af7f[_0x7123('0x39')]['sort']);_0x2f199c['where']=qs[_0x7123('0x43')](_[_0x7123('0x44')](_0xd8af7f[_0x7123('0x39')],_0x393680[_0x7123('0x43')]),_0x3e91cb);if(_0xd8af7f[_0x7123('0x39')][_0x7123('0x45')]){_0x2f199c[_0x7123('0x46')]=_[_0x7123('0x47')](_0x2f199c['where'],{'$or':_[_0x7123('0x32')](_0x3e91cb,function(_0x59c3cb){if(_0x59c3cb['type']!==_0x7123('0x48')){var _0x2c09eb={};_0x2c09eb[_0x59c3cb[_0x7123('0x30')]]={'$like':'%'+_0xd8af7f[_0x7123('0x39')][_0x7123('0x45')]+'%'};return _0x2c09eb;}})});}_0x2f199c=_[_0x7123('0x47')]({},_0x2f199c,_0xd8af7f[_0x7123('0x49')]);var _0x127e4c={'where':_0x2f199c[_0x7123('0x46')]};return db[_0x7123('0x33')][_0x7123('0x26')](_0x127e4c)['then'](function(_0x4a8f65){_0x1c2df4['count']=_0x4a8f65;if(_0xd8af7f[_0x7123('0x39')][_0x7123('0x4a')]){_0x2f199c[_0x7123('0x4b')]=[{'all':!![]}];}return db[_0x7123('0x33')]['findAll'](_0x2f199c);})['then'](function(_0x553732){_0x1c2df4[_0x7123('0x4c')]=_0x553732;return _0x1c2df4;})[_0x7123('0x2c')](respondWithFilteredResult(_0x4a9740,_0x2f199c))[_0x7123('0x4d')](handleError(_0x4a9740,null));};exports[_0x7123('0x4e')]=function(_0x34c671,_0x15ab33){var _0x3fa6a7={'raw':![],'where':{'id':_0x34c671[_0x7123('0x4f')]['id']}},_0x54216d={};_0x54216d[_0x7123('0x38')]=_[_0x7123('0x3a')](db[_0x7123('0x33')]['rawAttributes']);_0x54216d['query']=_['keys'](_0x34c671['query']);_0x54216d[_0x7123('0x43')]=_[_0x7123('0x3b')](_0x54216d[_0x7123('0x38')],_0x54216d[_0x7123('0x39')]);_0x3fa6a7[_0x7123('0x3d')]=_[_0x7123('0x3b')](_0x54216d[_0x7123('0x38')],qs['fields'](_0x34c671[_0x7123('0x39')][_0x7123('0x3c')]));_0x3fa6a7[_0x7123('0x3d')]=_0x3fa6a7[_0x7123('0x3d')][_0x7123('0x3e')]?_0x3fa6a7[_0x7123('0x3d')]:_0x54216d[_0x7123('0x38')];if(_0x34c671[_0x7123('0x39')][_0x7123('0x4a')]){_0x3fa6a7[_0x7123('0x4b')]=[{'all':!![]}];}_0x3fa6a7=_[_0x7123('0x47')]({},_0x3fa6a7,_0x34c671[_0x7123('0x49')]);return db[_0x7123('0x33')][_0x7123('0x50')](_0x3fa6a7)[_0x7123('0x2c')](handleEntityNotFound(_0x15ab33,null))[_0x7123('0x2c')](respondWithResult(_0x15ab33,null))[_0x7123('0x4d')](handleError(_0x15ab33,null));};exports['create']=function(_0xbac39e,_0xe99595){return db['VoiceQueueReport'][_0x7123('0x51')](_0xbac39e[_0x7123('0x52')],{})['then'](respondWithResult(_0xe99595,0xc9))[_0x7123('0x4d')](handleError(_0xe99595,null));};exports[_0x7123('0x2b')]=function(_0x29de5f,_0x2630f6){if(_0x29de5f[_0x7123('0x52')]['id']){delete _0x29de5f[_0x7123('0x52')]['id'];}return db[_0x7123('0x33')]['find']({'where':{'id':_0x29de5f[_0x7123('0x4f')]['id']}})[_0x7123('0x2c')](handleEntityNotFound(_0x2630f6,null))['then'](saveUpdates(_0x29de5f['body'],null))['then'](respondWithResult(_0x2630f6,null))[_0x7123('0x4d')](handleError(_0x2630f6,null));};exports[_0x7123('0x2d')]=function(_0x21e0ba,_0x15fa95){return db[_0x7123('0x33')]['find']({'where':{'id':_0x21e0ba[_0x7123('0x4f')]['id']}})[_0x7123('0x2c')](handleEntityNotFound(_0x15fa95,null))['then'](removeEntity(_0x15fa95,null))[_0x7123('0x4d')](handleError(_0x15fa95,null));};exports[_0x7123('0x53')]=function(_0x367401,_0x10bc26){return db[_0x7123('0x33')][_0x7123('0x53')]()['then'](respondWithResult(_0x10bc26,null))['catch'](handleError(_0x10bc26,null));};exports[_0x7123('0x54')]=function(_0x3a467d,_0x6d670){var _0x14ebd2={},_0x559d33={},_0x1f9ab1={'count':0x0,'rows':[]};_0x559d33[_0x7123('0x38')]=_[_0x7123('0x3a')](db[_0x7123('0x33')]['rawAttributes']);_0x559d33[_0x7123('0x39')]=_['keys'](_0x3a467d['query']);_0x559d33[_0x7123('0x43')]=_['intersection'](_0x559d33['model'],_0x559d33[_0x7123('0x39')]);_0x14ebd2['attributes']=_[_0x7123('0x3b')](_0x559d33[_0x7123('0x38')],qs['fields'](_0x3a467d[_0x7123('0x39')][_0x7123('0x3c')]));_0x14ebd2[_0x7123('0x3d')]=_0x14ebd2[_0x7123('0x3d')][_0x7123('0x3e')]?_0x14ebd2[_0x7123('0x3d')]:_0x559d33[_0x7123('0x38')];if(!_0x3a467d[_0x7123('0x39')]['hasOwnProperty'](_0x7123('0x40'))){_0x14ebd2['limit']=qs['limit'](_0x3a467d[_0x7123('0x39')][_0x7123('0x24')]);_0x14ebd2[_0x7123('0x25')]=qs['offset'](_0x3a467d['query'][_0x7123('0x25')]);}_0x14ebd2[_0x7123('0x41')]=qs[_0x7123('0x42')](_0x3a467d[_0x7123('0x39')][_0x7123('0x42')]);_0x14ebd2[_0x7123('0x46')]=qs[_0x7123('0x43')](_[_0x7123('0x44')](_0x3a467d[_0x7123('0x39')],_0x559d33[_0x7123('0x43')]));if(_0x3a467d[_0x7123('0x39')]['filter']){_0x14ebd2['where']=_['merge'](_0x14ebd2['where'],{'$or':_[_0x7123('0x32')](_0x14ebd2[_0x7123('0x3d')],function(_0x2f8c31){var _0x548287={};_0x548287[_0x2f8c31]={'$like':'%'+_0x3a467d['query'][_0x7123('0x45')]+'%'};return _0x548287;})});}_0x14ebd2=_[_0x7123('0x47')]({},_0x14ebd2,_0x3a467d[_0x7123('0x49')]);var _0x2d5076={'where':_0x14ebd2[_0x7123('0x46')]};return db[_0x7123('0x33')]['count'](_0x2d5076)['then'](function(_0x5f5307){_0x1f9ab1[_0x7123('0x26')]=_0x5f5307;if(_0x3a467d['query'][_0x7123('0x4a')]){_0x14ebd2[_0x7123('0x4b')]=[{'all':!![]}];}return db[_0x7123('0x33')]['findAll'](_0x14ebd2);})[_0x7123('0x2c')](function(_0x3ee3eb){_0x1f9ab1[_0x7123('0x4c')]=_0x3ee3eb;return _0x1f9ab1;})[_0x7123('0x2c')](respondWithFilteredResult(_0x6d670,_0x14ebd2,'getVoiceQueuesReport'))[_0x7123('0x4d')](handleError(_0x6d670,null,_0x7123('0x54')));};