Built motion from commit 47436d59.|2.6.7
[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 _0x62cc=['pick','filter','merge','type','VIRTUAL','options','includeAll','include','findAll','rows','catch','params','AnalyticExtractedReport','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','ExtractedReports','find','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','savename','output','existsSync','join','root','Sequelize','Report\x20not\x20found\x20or\x20empty','exists','download','server/files/reports','format','basename','toLowerCase','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','status','json','offset','undefined','count','limit','set','Content-Range','apply','reject','save','update','get','UserProfileResource','destroy','then','end','sendStatus','error','stack','send','index','map','rawAttributes','fieldName','key','model','name','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','filters'];(function(_0xccc0d4,_0x2f6bf7){var _0x27a653=function(_0x285e63){while(--_0x285e63){_0xccc0d4['push'](_0xccc0d4['shift']());}};_0x27a653(++_0x2f6bf7);}(_0x62cc,0x1a9));var _0xc62c=function(_0x321bb2,_0x202794){_0x321bb2=_0x321bb2-0x0;var _0x9c12ed=_0x62cc[_0x321bb2];return _0x9c12ed;};'use strict';var emlformat=require(_0xc62c('0x0'));var rimraf=require(_0xc62c('0x1'));var zipdir=require(_0xc62c('0x2'));var jsonpatch=require(_0xc62c('0x3'));var rp=require(_0xc62c('0x4'));var moment=require(_0xc62c('0x5'));var BPromise=require(_0xc62c('0x6'));var Mustache=require(_0xc62c('0x7'));var util=require(_0xc62c('0x8'));var path=require('path');var sox=require('sox');var csv=require(_0xc62c('0x9'));var ejs=require(_0xc62c('0xa'));var fs=require('fs');var fs_extra=require(_0xc62c('0xb'));var _=require(_0xc62c('0xc'));var squel=require(_0xc62c('0xd'));var crypto=require(_0xc62c('0xe'));var jsforce=require(_0xc62c('0xf'));var deskjs=require(_0xc62c('0x10'));var toCsv=require(_0xc62c('0x9'));var querystring=require('querystring');var Papa=require(_0xc62c('0x11'));var Redis=require(_0xc62c('0x12'));var authService=require(_0xc62c('0x13'));var qs=require('../../components/parsers/qs');var as=require(_0xc62c('0x14'));var hardwareService=require(_0xc62c('0x15'));var logger=require(_0xc62c('0x16'))(_0xc62c('0x17'));var utils=require(_0xc62c('0x18'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0xc62c('0x19'))['db'];function respondWithStatusCode(_0x10877e,_0x3a8771){_0x3a8771=_0x3a8771||0xcc;return function(_0x27a37b){if(_0x27a37b){return _0x10877e['sendStatus'](_0x3a8771);}return _0x10877e['status'](_0x3a8771)['end']();};}function respondWithResult(_0x89baa2,_0x576b87){_0x576b87=_0x576b87||0xc8;return function(_0xd1476d){if(_0xd1476d){return _0x89baa2[_0xc62c('0x1a')](_0x576b87)[_0xc62c('0x1b')](_0xd1476d);}};}function respondWithFilteredResult(_0x482741,_0x5154d4){return function(_0xd87012){if(_0xd87012){var _0xd67974=typeof _0x5154d4[_0xc62c('0x1c')]===_0xc62c('0x1d')&&typeof _0x5154d4['limit']===_0xc62c('0x1d');var _0x427302=_0xd87012[_0xc62c('0x1e')];var _0x1650dc=_0xd67974?0x0:_0x5154d4['offset'];var _0x8c5148=_0xd67974?_0xd87012[_0xc62c('0x1e')]:_0x5154d4['offset']+_0x5154d4[_0xc62c('0x1f')];var _0xf14066;if(_0x8c5148>=_0x427302){_0x8c5148=_0x427302;_0xf14066=0xc8;}else{_0xf14066=0xce;}_0x482741[_0xc62c('0x1a')](_0xf14066);return _0x482741[_0xc62c('0x20')](_0xc62c('0x21'),_0x1650dc+'-'+_0x8c5148+'/'+_0x427302)['json'](_0xd87012);}return null;};}function patchUpdates(_0x1edd16){return function(_0x262bd4){try{jsonpatch[_0xc62c('0x22')](_0x262bd4,_0x1edd16,!![]);}catch(_0x301f83){return BPromise[_0xc62c('0x23')](_0x301f83);}return _0x262bd4[_0xc62c('0x24')]();};}function saveUpdates(_0xfc6d28,_0x33d38f){return function(_0x1dbb4f){if(_0x1dbb4f){return _0x1dbb4f[_0xc62c('0x25')](_0xfc6d28)['then'](function(_0x59a5ee){return _0x59a5ee;});}return null;};}function removeEntity(_0xeb6105,_0x2e3503){return function(_0x32ba6d){if(_0x32ba6d){return _0x32ba6d['destroy']()['then'](function(){var _0x209b8f=_0x32ba6d[_0xc62c('0x26')]({'plain':!![]});var _0x5d4ddf='ExtractedReports';return db[_0xc62c('0x27')][_0xc62c('0x28')]({'where':{'type':_0x5d4ddf,'resourceId':_0x209b8f['id']}})[_0xc62c('0x29')](function(){return _0x32ba6d;});})['then'](function(){_0xeb6105[_0xc62c('0x1a')](0xcc)[_0xc62c('0x2a')]();});}};}function handleEntityNotFound(_0x31da5a,_0x14e38c){return function(_0x296ed5){if(!_0x296ed5){_0x31da5a[_0xc62c('0x2b')](0x194);}return _0x296ed5;};}function handleError(_0x1e2259,_0x133c3e){_0x133c3e=_0x133c3e||0x1f4;return function(_0x2a9e70){logger[_0xc62c('0x2c')](_0x2a9e70[_0xc62c('0x2d')]);if(_0x2a9e70['name']){delete _0x2a9e70['name'];}_0x1e2259[_0xc62c('0x1a')](_0x133c3e)[_0xc62c('0x2e')](_0x2a9e70);};}exports[_0xc62c('0x2f')]=function(_0x845704,_0x1fec52){var _0x24ce19={},_0x5711fc={},_0x14c56c={'count':0x0,'rows':[]};var _0x3b4d84=_[_0xc62c('0x30')](db['AnalyticExtractedReport'][_0xc62c('0x31')],function(_0x41fad9){return{'name':_0x41fad9[_0xc62c('0x32')],'type':_0x41fad9['type'][_0xc62c('0x33')]};});_0x5711fc[_0xc62c('0x34')]=_[_0xc62c('0x30')](_0x3b4d84,_0xc62c('0x35'));_0x5711fc[_0xc62c('0x36')]=_[_0xc62c('0x37')](_0x845704[_0xc62c('0x36')]);_0x5711fc['filters']=_[_0xc62c('0x38')](_0x5711fc[_0xc62c('0x34')],_0x5711fc['query']);_0x24ce19[_0xc62c('0x39')]=_[_0xc62c('0x38')](_0x5711fc[_0xc62c('0x34')],qs[_0xc62c('0x3a')](_0x845704[_0xc62c('0x36')]['fields']));_0x24ce19[_0xc62c('0x39')]=_0x24ce19[_0xc62c('0x39')][_0xc62c('0x3b')]?_0x24ce19[_0xc62c('0x39')]:_0x5711fc[_0xc62c('0x34')];if(!_0x845704[_0xc62c('0x36')][_0xc62c('0x3c')](_0xc62c('0x3d'))){_0x24ce19[_0xc62c('0x1f')]=qs['limit'](_0x845704[_0xc62c('0x36')][_0xc62c('0x1f')]);_0x24ce19[_0xc62c('0x1c')]=qs[_0xc62c('0x1c')](_0x845704['query'][_0xc62c('0x1c')]);}_0x24ce19['order']=qs[_0xc62c('0x3e')](_0x845704[_0xc62c('0x36')][_0xc62c('0x3e')]);_0x24ce19[_0xc62c('0x3f')]=qs[_0xc62c('0x40')](_[_0xc62c('0x41')](_0x845704[_0xc62c('0x36')],_0x5711fc[_0xc62c('0x40')]),_0x3b4d84);if(_0x845704[_0xc62c('0x36')][_0xc62c('0x42')]){_0x24ce19[_0xc62c('0x3f')]=_[_0xc62c('0x43')](_0x24ce19[_0xc62c('0x3f')],{'$or':_[_0xc62c('0x30')](_0x3b4d84,function(_0xde281f){if(_0xde281f[_0xc62c('0x44')]!==_0xc62c('0x45')){var _0x5201ce={};_0x5201ce[_0xde281f[_0xc62c('0x35')]]={'$like':'%'+_0x845704[_0xc62c('0x36')][_0xc62c('0x42')]+'%'};return _0x5201ce;}})});}_0x24ce19=_[_0xc62c('0x43')]({},_0x24ce19,_0x845704[_0xc62c('0x46')]);var _0x7d419a={'where':_0x24ce19[_0xc62c('0x3f')]};return db['AnalyticExtractedReport'][_0xc62c('0x1e')](_0x7d419a)['then'](function(_0xfcc57d){_0x14c56c[_0xc62c('0x1e')]=_0xfcc57d;if(_0x845704['query'][_0xc62c('0x47')]){_0x24ce19[_0xc62c('0x48')]=[{'all':!![]}];}return db['AnalyticExtractedReport'][_0xc62c('0x49')](_0x24ce19);})[_0xc62c('0x29')](function(_0x538e75){_0x14c56c[_0xc62c('0x4a')]=_0x538e75;return _0x14c56c;})[_0xc62c('0x29')](respondWithFilteredResult(_0x1fec52,_0x24ce19))[_0xc62c('0x4b')](handleError(_0x1fec52,null));};exports['show']=function(_0x11379b,_0x5a6365){var _0x22edba={'raw':!![],'where':{'id':_0x11379b[_0xc62c('0x4c')]['id']}},_0x5846ee={};_0x5846ee['model']=_[_0xc62c('0x37')](db[_0xc62c('0x4d')][_0xc62c('0x31')]);_0x5846ee[_0xc62c('0x36')]=_['keys'](_0x11379b[_0xc62c('0x36')]);_0x5846ee['filters']=_[_0xc62c('0x38')](_0x5846ee[_0xc62c('0x34')],_0x5846ee[_0xc62c('0x36')]);_0x22edba[_0xc62c('0x39')]=_[_0xc62c('0x38')](_0x5846ee['model'],qs[_0xc62c('0x3a')](_0x11379b[_0xc62c('0x36')]['fields']));_0x22edba[_0xc62c('0x39')]=_0x22edba[_0xc62c('0x39')][_0xc62c('0x3b')]?_0x22edba[_0xc62c('0x39')]:_0x5846ee[_0xc62c('0x34')];if(_0x11379b[_0xc62c('0x36')][_0xc62c('0x47')]){_0x22edba[_0xc62c('0x48')]=[{'all':!![]}];}_0x22edba=_[_0xc62c('0x43')]({},_0x22edba,_0x11379b[_0xc62c('0x46')]);return db[_0xc62c('0x4d')]['find'](_0x22edba)[_0xc62c('0x29')](handleEntityNotFound(_0x5a6365,null))['then'](respondWithResult(_0x5a6365,null))[_0xc62c('0x4b')](handleError(_0x5a6365,null));};exports['create']=function(_0x18281d,_0x215124){return db['AnalyticExtractedReport'][_0xc62c('0x4e')](_0x18281d[_0xc62c('0x4f')],{})['then'](function(_0x22b1b0){var _0x3ffc53=_0x18281d['user'][_0xc62c('0x26')]({'plain':!![]});if(!_0x3ffc53)throw new Error(_0xc62c('0x50'));if(_0x3ffc53[_0xc62c('0x51')]==='user'){var _0x5ca05e=_0x22b1b0[_0xc62c('0x26')]({'plain':!![]});var _0x3ab27b=_0xc62c('0x52');return db['UserProfileSection'][_0xc62c('0x53')]({'where':{'name':_0x3ab27b,'userProfileId':_0x3ffc53['userProfileId']},'raw':!![]})[_0xc62c('0x29')](function(_0x12be76){if(_0x12be76&&_0x12be76['autoAssociation']===0x0){return db['UserProfileResource']['create']({'name':_0x5ca05e[_0xc62c('0x35')],'resourceId':_0x5ca05e['id'],'type':_0x12be76[_0xc62c('0x35')],'sectionId':_0x12be76['id']},{})[_0xc62c('0x29')](function(){return _0x22b1b0;});}else{return _0x22b1b0;}})[_0xc62c('0x4b')](function(_0x4b10f9){logger[_0xc62c('0x2c')](_0xc62c('0x54'),_0x4b10f9);throw _0x4b10f9;});}return _0x22b1b0;})[_0xc62c('0x29')](respondWithResult(_0x215124,0xc9))['catch'](handleError(_0x215124,null));};exports['update']=function(_0x154c7a,_0x2ecc10){if(_0x154c7a[_0xc62c('0x4f')]['id']){delete _0x154c7a[_0xc62c('0x4f')]['id'];}return db[_0xc62c('0x4d')][_0xc62c('0x53')]({'where':{'id':_0x154c7a['params']['id']}})[_0xc62c('0x29')](handleEntityNotFound(_0x2ecc10,null))['then'](saveUpdates(_0x154c7a[_0xc62c('0x4f')],null))[_0xc62c('0x29')](respondWithResult(_0x2ecc10,null))[_0xc62c('0x4b')](handleError(_0x2ecc10,null));};exports['destroy']=function(_0x2913b3,_0x52efc2){return db[_0xc62c('0x4d')][_0xc62c('0x53')]({'where':{'id':_0x2913b3[_0xc62c('0x4c')]['id']}})['then'](handleEntityNotFound(_0x52efc2,null))[_0xc62c('0x29')](removeEntity(_0x52efc2,null))[_0xc62c('0x4b')](handleError(_0x52efc2,null));};exports['download']=function(_0x2d0e10,_0x3b7260,_0x4da77b){return db[_0xc62c('0x4d')][_0xc62c('0x53')]({'where':{'id':_0x2d0e10[_0xc62c('0x4c')]['id']},'attributes':[_0xc62c('0x35'),'basename',_0xc62c('0x55'),_0xc62c('0x56')],'raw':!![]})[_0xc62c('0x29')](handleEntityNotFound(_0x3b7260,null))[_0xc62c('0x29')](function(_0x838bfe){if(_0x838bfe){if(!fs[_0xc62c('0x57')](path[_0xc62c('0x58')](config[_0xc62c('0x59')],'server/files/reports',_0x838bfe['savename']))){throw new db[(_0xc62c('0x5a'))]['ValidationError'](_0xc62c('0x5b'));}if(_0x2d0e10[_0xc62c('0x36')][_0xc62c('0x5c')]){return _0x3b7260[_0xc62c('0x2b')](0xc8);}return _0x3b7260[_0xc62c('0x5d')](path['join'](config[_0xc62c('0x59')],_0xc62c('0x5e'),_0x838bfe['savename']),util[_0xc62c('0x5f')]('%s.%s',_0x838bfe[_0xc62c('0x60')]||_0x838bfe['name'],_0x838bfe['output'][_0xc62c('0x61')]()));}})[_0xc62c('0x4b')](handleError(_0x3b7260,null));};