Built motion from commit c116dc8b.|2.6.30
[motion2.git] / server / api / analyticExtractedReport / analyticExtractedReport.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 _0x60af=['Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','download','basename','existsSync','join','server/files/reports','savename','Sequelize','ValidationError','Report\x20not\x20found\x20or\x20empty','exists','root','format','%s.%s','eml-format','rimraf','zip-dir','request-promise','mustache','util','path','ejs','fs-extra','squel','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','sendStatus','status','end','json','undefined','limit','count','offset','set','reject','then','destroy','get','ExtractedReports','UserProfileResource','error','stack','name','send','index','map','AnalyticExtractedReport','fieldName','type','key','model','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','options','includeAll','include','findAll','rows','catch','show','params','keys','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','autoAssociation'];(function(_0x350503,_0x25a59a){var _0x42a505=function(_0x18ac61){while(--_0x18ac61){_0x350503['push'](_0x350503['shift']());}};_0x42a505(++_0x25a59a);}(_0x60af,0x1db));var _0xf60a=function(_0x2ae2bc,_0x177514){_0x2ae2bc=_0x2ae2bc-0x0;var _0x53c290=_0x60af[_0x2ae2bc];return _0x53c290;};'use strict';var emlformat=require(_0xf60a('0x0'));var rimraf=require(_0xf60a('0x1'));var zipdir=require(_0xf60a('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xf60a('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xf60a('0x4'));var util=require(_0xf60a('0x5'));var path=require(_0xf60a('0x6'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xf60a('0x7'));var fs=require('fs');var fs_extra=require(_0xf60a('0x8'));var _=require('lodash');var squel=require(_0xf60a('0x9'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xf60a('0xa'));var querystring=require(_0xf60a('0xb'));var Papa=require(_0xf60a('0xc'));var Redis=require(_0xf60a('0xd'));var authService=require(_0xf60a('0xe'));var qs=require(_0xf60a('0xf'));var as=require(_0xf60a('0x10'));var hardwareService=require(_0xf60a('0x11'));var logger=require(_0xf60a('0x12'))(_0xf60a('0x13'));var utils=require('../../config/utils');var config=require(_0xf60a('0x14'));var licenseUtil=require('../../config/license/util');var db=require(_0xf60a('0x15'))['db'];function respondWithStatusCode(_0x434f93,_0x2f671b){_0x2f671b=_0x2f671b||0xcc;return function(_0x3b2b5e){if(_0x3b2b5e){return _0x434f93[_0xf60a('0x16')](_0x2f671b);}return _0x434f93[_0xf60a('0x17')](_0x2f671b)[_0xf60a('0x18')]();};}function respondWithResult(_0xb98b6f,_0x203321){_0x203321=_0x203321||0xc8;return function(_0x401fd1){if(_0x401fd1){return _0xb98b6f[_0xf60a('0x17')](_0x203321)[_0xf60a('0x19')](_0x401fd1);}};}function respondWithFilteredResult(_0xbc3378,_0xe5cefe){return function(_0x1cfeed){if(_0x1cfeed){var _0x5f3cfc=typeof _0xe5cefe['offset']===_0xf60a('0x1a')&&typeof _0xe5cefe[_0xf60a('0x1b')]===_0xf60a('0x1a');var _0x2fda7c=_0x1cfeed[_0xf60a('0x1c')];var _0x2dbd13=_0x5f3cfc?0x0:_0xe5cefe[_0xf60a('0x1d')];var _0x9fc4b7=_0x5f3cfc?_0x1cfeed['count']:_0xe5cefe[_0xf60a('0x1d')]+_0xe5cefe[_0xf60a('0x1b')];var _0x1bbc0a;if(_0x9fc4b7>=_0x2fda7c){_0x9fc4b7=_0x2fda7c;_0x1bbc0a=0xc8;}else{_0x1bbc0a=0xce;}_0xbc3378[_0xf60a('0x17')](_0x1bbc0a);return _0xbc3378[_0xf60a('0x1e')]('Content-Range',_0x2dbd13+'-'+_0x9fc4b7+'/'+_0x2fda7c)[_0xf60a('0x19')](_0x1cfeed);}return null;};}function patchUpdates(_0x31a3fa){return function(_0x153364){try{jsonpatch['apply'](_0x153364,_0x31a3fa,!![]);}catch(_0x135ed1){return BPromise[_0xf60a('0x1f')](_0x135ed1);}return _0x153364['save']();};}function saveUpdates(_0x36a1b4,_0x2bf2c1){return function(_0xf9c7ef){if(_0xf9c7ef){return _0xf9c7ef['update'](_0x36a1b4)[_0xf60a('0x20')](function(_0x28f309){return _0x28f309;});}return null;};}function removeEntity(_0x3f3f29,_0x444128){return function(_0x15c050){if(_0x15c050){return _0x15c050[_0xf60a('0x21')]()[_0xf60a('0x20')](function(){var _0x5e026e=_0x15c050[_0xf60a('0x22')]({'plain':!![]});var _0x3b76ee=_0xf60a('0x23');return db[_0xf60a('0x24')][_0xf60a('0x21')]({'where':{'type':_0x3b76ee,'resourceId':_0x5e026e['id']}})[_0xf60a('0x20')](function(){return _0x15c050;});})[_0xf60a('0x20')](function(){_0x3f3f29[_0xf60a('0x17')](0xcc)[_0xf60a('0x18')]();});}};}function handleEntityNotFound(_0x3622cb,_0xdecf1){return function(_0x3b255b){if(!_0x3b255b){_0x3622cb[_0xf60a('0x16')](0x194);}return _0x3b255b;};}function handleError(_0x1bc436,_0x6973ab){_0x6973ab=_0x6973ab||0x1f4;return function(_0x120032){logger[_0xf60a('0x25')](_0x120032[_0xf60a('0x26')]);if(_0x120032[_0xf60a('0x27')]){delete _0x120032[_0xf60a('0x27')];}_0x1bc436[_0xf60a('0x17')](_0x6973ab)[_0xf60a('0x28')](_0x120032);};}exports[_0xf60a('0x29')]=function(_0x3b67eb,_0x30e587){var _0x55efab={},_0x54f439={},_0x3876ce={'count':0x0,'rows':[]};var _0x39cd71=_[_0xf60a('0x2a')](db[_0xf60a('0x2b')]['rawAttributes'],function(_0x345c61){return{'name':_0x345c61[_0xf60a('0x2c')],'type':_0x345c61[_0xf60a('0x2d')][_0xf60a('0x2e')]};});_0x54f439[_0xf60a('0x2f')]=_[_0xf60a('0x2a')](_0x39cd71,_0xf60a('0x27'));_0x54f439[_0xf60a('0x30')]=_['keys'](_0x3b67eb[_0xf60a('0x30')]);_0x54f439[_0xf60a('0x31')]=_[_0xf60a('0x32')](_0x54f439[_0xf60a('0x2f')],_0x54f439[_0xf60a('0x30')]);_0x55efab['attributes']=_[_0xf60a('0x32')](_0x54f439['model'],qs[_0xf60a('0x33')](_0x3b67eb[_0xf60a('0x30')][_0xf60a('0x33')]));_0x55efab['attributes']=_0x55efab[_0xf60a('0x34')][_0xf60a('0x35')]?_0x55efab['attributes']:_0x54f439['model'];if(!_0x3b67eb['query'][_0xf60a('0x36')](_0xf60a('0x37'))){_0x55efab[_0xf60a('0x1b')]=qs[_0xf60a('0x1b')](_0x3b67eb['query'][_0xf60a('0x1b')]);_0x55efab[_0xf60a('0x1d')]=qs[_0xf60a('0x1d')](_0x3b67eb[_0xf60a('0x30')][_0xf60a('0x1d')]);}_0x55efab[_0xf60a('0x38')]=qs[_0xf60a('0x39')](_0x3b67eb['query'][_0xf60a('0x39')]);_0x55efab[_0xf60a('0x3a')]=qs['filters'](_[_0xf60a('0x3b')](_0x3b67eb[_0xf60a('0x30')],_0x54f439['filters']),_0x39cd71);if(_0x3b67eb['query'][_0xf60a('0x3c')]){_0x55efab['where']=_[_0xf60a('0x3d')](_0x55efab['where'],{'$or':_[_0xf60a('0x2a')](_0x39cd71,function(_0x5da5c9){if(_0x5da5c9[_0xf60a('0x2d')]!=='VIRTUAL'){var _0x1fe6f7={};_0x1fe6f7[_0x5da5c9[_0xf60a('0x27')]]={'$like':'%'+_0x3b67eb[_0xf60a('0x30')]['filter']+'%'};return _0x1fe6f7;}})});}_0x55efab=_[_0xf60a('0x3d')]({},_0x55efab,_0x3b67eb[_0xf60a('0x3e')]);var _0x12af9b={'where':_0x55efab[_0xf60a('0x3a')]};return db[_0xf60a('0x2b')]['count'](_0x12af9b)[_0xf60a('0x20')](function(_0x4811a4){_0x3876ce[_0xf60a('0x1c')]=_0x4811a4;if(_0x3b67eb[_0xf60a('0x30')][_0xf60a('0x3f')]){_0x55efab[_0xf60a('0x40')]=[{'all':!![]}];}return db['AnalyticExtractedReport'][_0xf60a('0x41')](_0x55efab);})[_0xf60a('0x20')](function(_0x5a5454){_0x3876ce[_0xf60a('0x42')]=_0x5a5454;return _0x3876ce;})[_0xf60a('0x20')](respondWithFilteredResult(_0x30e587,_0x55efab))[_0xf60a('0x43')](handleError(_0x30e587,null));};exports[_0xf60a('0x44')]=function(_0x4c1158,_0x8974bb){var _0x592086={'raw':!![],'where':{'id':_0x4c1158[_0xf60a('0x45')]['id']}},_0x5b1083={};_0x5b1083[_0xf60a('0x2f')]=_[_0xf60a('0x46')](db[_0xf60a('0x2b')]['rawAttributes']);_0x5b1083['query']=_['keys'](_0x4c1158[_0xf60a('0x30')]);_0x5b1083[_0xf60a('0x31')]=_[_0xf60a('0x32')](_0x5b1083[_0xf60a('0x2f')],_0x5b1083[_0xf60a('0x30')]);_0x592086[_0xf60a('0x34')]=_[_0xf60a('0x32')](_0x5b1083[_0xf60a('0x2f')],qs[_0xf60a('0x33')](_0x4c1158[_0xf60a('0x30')][_0xf60a('0x33')]));_0x592086[_0xf60a('0x34')]=_0x592086[_0xf60a('0x34')]['length']?_0x592086['attributes']:_0x5b1083[_0xf60a('0x2f')];if(_0x4c1158[_0xf60a('0x30')]['includeAll']){_0x592086[_0xf60a('0x40')]=[{'all':!![]}];}_0x592086=_['merge']({},_0x592086,_0x4c1158[_0xf60a('0x3e')]);return db[_0xf60a('0x2b')][_0xf60a('0x47')](_0x592086)[_0xf60a('0x20')](handleEntityNotFound(_0x8974bb,null))['then'](respondWithResult(_0x8974bb,null))[_0xf60a('0x43')](handleError(_0x8974bb,null));};exports[_0xf60a('0x48')]=function(_0x4d92fa,_0xdc0fae){return db[_0xf60a('0x2b')][_0xf60a('0x48')](_0x4d92fa[_0xf60a('0x49')],{})[_0xf60a('0x20')](function(_0x566fd6){var _0x4d47cb=_0x4d92fa[_0xf60a('0x4a')][_0xf60a('0x22')]({'plain':!![]});if(!_0x4d47cb)throw new Error(_0xf60a('0x4b'));if(_0x4d47cb['role']===_0xf60a('0x4a')){var _0x51412d=_0x566fd6[_0xf60a('0x22')]({'plain':!![]});var _0x3e7987=_0xf60a('0x23');return db['UserProfileSection'][_0xf60a('0x47')]({'where':{'name':_0x3e7987,'userProfileId':_0x4d47cb['userProfileId']},'raw':!![]})[_0xf60a('0x20')](function(_0x1e83bd){if(_0x1e83bd&&_0x1e83bd[_0xf60a('0x4c')]===0x0){return db[_0xf60a('0x24')][_0xf60a('0x48')]({'name':_0x51412d[_0xf60a('0x27')],'resourceId':_0x51412d['id'],'type':_0x1e83bd[_0xf60a('0x27')],'sectionId':_0x1e83bd['id']},{})['then'](function(){return _0x566fd6;});}else{return _0x566fd6;}})['catch'](function(_0x3e8517){logger[_0xf60a('0x25')](_0xf60a('0x4d'),_0x3e8517);throw _0x3e8517;});}return _0x566fd6;})[_0xf60a('0x20')](respondWithResult(_0xdc0fae,0xc9))['catch'](handleError(_0xdc0fae,null));};exports[_0xf60a('0x4e')]=function(_0x560e3e,_0x1ffc16){if(_0x560e3e[_0xf60a('0x49')]['id']){delete _0x560e3e[_0xf60a('0x49')]['id'];}return db[_0xf60a('0x2b')]['find']({'where':{'id':_0x560e3e[_0xf60a('0x45')]['id']}})['then'](handleEntityNotFound(_0x1ffc16,null))[_0xf60a('0x20')](saveUpdates(_0x560e3e[_0xf60a('0x49')],null))[_0xf60a('0x20')](respondWithResult(_0x1ffc16,null))[_0xf60a('0x43')](handleError(_0x1ffc16,null));};exports['destroy']=function(_0x5ff282,_0x363d67){return db['AnalyticExtractedReport'][_0xf60a('0x47')]({'where':{'id':_0x5ff282[_0xf60a('0x45')]['id']}})[_0xf60a('0x20')](handleEntityNotFound(_0x363d67,null))[_0xf60a('0x20')](removeEntity(_0x363d67,null))[_0xf60a('0x43')](handleError(_0x363d67,null));};exports[_0xf60a('0x4f')]=function(_0x1ca71e,_0x36f7d5,_0x4b34bd){return db['AnalyticExtractedReport'][_0xf60a('0x47')]({'where':{'id':_0x1ca71e[_0xf60a('0x45')]['id']},'attributes':[_0xf60a('0x27'),_0xf60a('0x50'),'savename','output'],'raw':!![]})[_0xf60a('0x20')](handleEntityNotFound(_0x36f7d5,null))[_0xf60a('0x20')](function(_0x8c6919){if(_0x8c6919){if(!fs[_0xf60a('0x51')](path[_0xf60a('0x52')](config['root'],_0xf60a('0x53'),_0x8c6919[_0xf60a('0x54')]))){throw new db[(_0xf60a('0x55'))][(_0xf60a('0x56'))](_0xf60a('0x57'));}if(_0x1ca71e[_0xf60a('0x30')][_0xf60a('0x58')]){return _0x36f7d5['sendStatus'](0xc8);}return _0x36f7d5[_0xf60a('0x4f')](path['join'](config[_0xf60a('0x59')],'server/files/reports',_0x8c6919[_0xf60a('0x54')]),util[_0xf60a('0x5a')](_0xf60a('0x5b'),_0x8c6919[_0xf60a('0x50')]||_0x8c6919[_0xf60a('0x27')],_0x8c6919['output']['toLowerCase']()));}})[_0xf60a('0x43')](handleError(_0x36f7d5,null));};