Built motion from commit (unavailable).|2.4.18
[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 _0xac6b=['get','ExtractedReports','sendStatus','stack','name','send','index','rawAttributes','type','key','map','query','keys','filters','intersection','attributes','model','fields','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','options','AnalyticExtractedReport','include','findAll','rows','catch','show','params','includeAll','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','find','userProfileId','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','download','output','existsSync','join','root','server/files/reports','Sequelize','ValidationError','Report\x20not\x20found\x20or\x20empty','exists','savename','format','%s.%s','basename','toLowerCase','html-pdf','eml-format','request-promise','moment','bluebird','mustache','path','sox','to-csv','lodash','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','status','end','count','offset','limit','set','json','apply','save','then','destroy'];(function(_0x3dfa7d,_0x2b1622){var _0x5a0a42=function(_0x5cdd10){while(--_0x5cdd10){_0x3dfa7d['push'](_0x3dfa7d['shift']());}};_0x5a0a42(++_0x2b1622);}(_0xac6b,0x9a));var _0xbac6=function(_0x51b9aa,_0x330a93){_0x51b9aa=_0x51b9aa-0x0;var _0x1f5bae=_0xac6b[_0x51b9aa];return _0x1f5bae;};'use strict';var pdf=require(_0xbac6('0x0'));var emlformat=require(_0xbac6('0x1'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xbac6('0x2'));var moment=require(_0xbac6('0x3'));var BPromise=require(_0xbac6('0x4'));var Mustache=require(_0xbac6('0x5'));var util=require('util');var path=require(_0xbac6('0x6'));var sox=require(_0xbac6('0x7'));var csv=require(_0xbac6('0x8'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xbac6('0x9'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0xbac6('0xa'));var deskjs=require(_0xbac6('0xb'));var toCsv=require('to-csv');var querystring=require(_0xbac6('0xc'));var Papa=require(_0xbac6('0xd'));var Redis=require(_0xbac6('0xe'));var authService=require(_0xbac6('0xf'));var qs=require(_0xbac6('0x10'));var as=require(_0xbac6('0x11'));var hardwareService=require(_0xbac6('0x12'));var logger=require(_0xbac6('0x13'))('api');var utils=require('../../config/utils');var config=require(_0xbac6('0x14'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x4ea313,_0x47fa49){_0x47fa49=_0x47fa49||0xcc;return function(_0x1f5af2){if(_0x1f5af2){return _0x4ea313['sendStatus'](_0x47fa49);}return _0x4ea313[_0xbac6('0x15')](_0x47fa49)[_0xbac6('0x16')]();};}function respondWithResult(_0x189133,_0x19d2e9){_0x19d2e9=_0x19d2e9||0xc8;return function(_0x20a6ff){if(_0x20a6ff){return _0x189133[_0xbac6('0x15')](_0x19d2e9)['json'](_0x20a6ff);}};}function respondWithFilteredResult(_0x4479b5,_0x421370){return function(_0x2e172b){if(_0x2e172b){var _0x288077=_0x2e172b[_0xbac6('0x17')],_0x262b5f=_0x421370['offset'],_0x15ae5f=_0x421370[_0xbac6('0x18')]+_0x421370[_0xbac6('0x19')],_0x4be4f1;if(_0x15ae5f>=_0x288077){_0x15ae5f=_0x288077;_0x4be4f1=0xc8;}else{_0x4be4f1=0xce;}_0x4479b5[_0xbac6('0x15')](_0x4be4f1);return _0x4479b5[_0xbac6('0x1a')]('Content-Range',_0x262b5f+'-'+_0x15ae5f+'/'+_0x288077)[_0xbac6('0x1b')](_0x2e172b);}return null;};}function patchUpdates(_0xae3cce){return function(_0x15ea69){try{jsonpatch[_0xbac6('0x1c')](_0x15ea69,_0xae3cce,!![]);}catch(_0x4ab49c){return BPromise['reject'](_0x4ab49c);}return _0x15ea69[_0xbac6('0x1d')]();};}function saveUpdates(_0x39fbb4,_0x4d97cb){return function(_0x3c23f1){if(_0x3c23f1){return _0x3c23f1['update'](_0x39fbb4)[_0xbac6('0x1e')](function(_0x8a1b92){return _0x8a1b92;});}return null;};}function removeEntity(_0x436c26,_0x393ab0){return function(_0x370b99){if(_0x370b99){return _0x370b99[_0xbac6('0x1f')]()[_0xbac6('0x1e')](function(){var _0x3390fd=_0x370b99[_0xbac6('0x20')]({'plain':!![]});var _0x11eba7=_0xbac6('0x21');return db['UserProfileResource']['destroy']({'where':{'type':_0x11eba7,'resourceId':_0x3390fd['id']}})[_0xbac6('0x1e')](function(){return _0x370b99;});})['then'](function(){_0x436c26[_0xbac6('0x15')](0xcc)[_0xbac6('0x16')]();});}};}function handleEntityNotFound(_0xcbe443,_0x300807){return function(_0x556e2d){if(!_0x556e2d){_0xcbe443[_0xbac6('0x22')](0x194);}return _0x556e2d;};}function handleError(_0x784578,_0x510f23){_0x510f23=_0x510f23||0x1f4;return function(_0x2636c4){logger['error'](_0x2636c4[_0xbac6('0x23')]);if(_0x2636c4['name']){delete _0x2636c4[_0xbac6('0x24')];}_0x784578[_0xbac6('0x15')](_0x510f23)[_0xbac6('0x25')](_0x2636c4);};}exports[_0xbac6('0x26')]=function(_0x483c28,_0x376270){var _0x26fd82={},_0x19698a={},_0x271d22={'count':0x0,'rows':[]};var _0x1cbf8d=_['map'](db['AnalyticExtractedReport'][_0xbac6('0x27')],function(_0xf2d32f){return{'name':_0xf2d32f['fieldName'],'type':_0xf2d32f[_0xbac6('0x28')][_0xbac6('0x29')]};});_0x19698a['model']=_[_0xbac6('0x2a')](_0x1cbf8d,'name');_0x19698a[_0xbac6('0x2b')]=_[_0xbac6('0x2c')](_0x483c28[_0xbac6('0x2b')]);_0x19698a[_0xbac6('0x2d')]=_[_0xbac6('0x2e')](_0x19698a['model'],_0x19698a[_0xbac6('0x2b')]);_0x26fd82[_0xbac6('0x2f')]=_[_0xbac6('0x2e')](_0x19698a[_0xbac6('0x30')],qs[_0xbac6('0x31')](_0x483c28['query'][_0xbac6('0x31')]));_0x26fd82[_0xbac6('0x2f')]=_0x26fd82[_0xbac6('0x2f')]['length']?_0x26fd82[_0xbac6('0x2f')]:_0x19698a[_0xbac6('0x30')];if(!_0x483c28[_0xbac6('0x2b')][_0xbac6('0x32')](_0xbac6('0x33'))){_0x26fd82['limit']=qs['limit'](_0x483c28[_0xbac6('0x2b')]['limit']);_0x26fd82[_0xbac6('0x18')]=qs[_0xbac6('0x18')](_0x483c28['query'][_0xbac6('0x18')]);}_0x26fd82[_0xbac6('0x34')]=qs[_0xbac6('0x35')](_0x483c28[_0xbac6('0x2b')]['sort']);_0x26fd82[_0xbac6('0x36')]=qs[_0xbac6('0x2d')](_[_0xbac6('0x37')](_0x483c28[_0xbac6('0x2b')],_0x19698a[_0xbac6('0x2d')]));if(_0x483c28[_0xbac6('0x2b')][_0xbac6('0x38')]){_0x26fd82[_0xbac6('0x36')]=_['merge'](_0x26fd82[_0xbac6('0x36')],{'$or':_[_0xbac6('0x2a')](_0x1cbf8d,function(_0x45dd27){if(_0x45dd27['type']!=='VIRTUAL'){var _0x1463ab={};_0x1463ab[_0x45dd27[_0xbac6('0x24')]]={'$like':'%'+_0x483c28['query']['filter']+'%'};return _0x1463ab;}})});}_0x26fd82=_[_0xbac6('0x39')]({},_0x26fd82,_0x483c28[_0xbac6('0x3a')]);var _0x440e89={'where':_0x26fd82[_0xbac6('0x36')]};return db[_0xbac6('0x3b')][_0xbac6('0x17')](_0x440e89)[_0xbac6('0x1e')](function(_0x168ae5){_0x271d22[_0xbac6('0x17')]=_0x168ae5;if(_0x483c28[_0xbac6('0x2b')]['includeAll']){_0x26fd82[_0xbac6('0x3c')]=[{'all':!![]}];}return db[_0xbac6('0x3b')][_0xbac6('0x3d')](_0x26fd82);})[_0xbac6('0x1e')](function(_0x483ec6){_0x271d22[_0xbac6('0x3e')]=_0x483ec6;return _0x271d22;})['then'](respondWithFilteredResult(_0x376270,_0x26fd82))[_0xbac6('0x3f')](handleError(_0x376270,null));};exports[_0xbac6('0x40')]=function(_0x557bb8,_0x54e06e){var _0x73b57={'raw':!![],'where':{'id':_0x557bb8[_0xbac6('0x41')]['id']}},_0x48a077={};_0x48a077[_0xbac6('0x30')]=_['keys'](db[_0xbac6('0x3b')][_0xbac6('0x27')]);_0x48a077[_0xbac6('0x2b')]=_[_0xbac6('0x2c')](_0x557bb8['query']);_0x48a077[_0xbac6('0x2d')]=_[_0xbac6('0x2e')](_0x48a077[_0xbac6('0x30')],_0x48a077['query']);_0x73b57[_0xbac6('0x2f')]=_[_0xbac6('0x2e')](_0x48a077[_0xbac6('0x30')],qs[_0xbac6('0x31')](_0x557bb8['query'][_0xbac6('0x31')]));_0x73b57[_0xbac6('0x2f')]=_0x73b57[_0xbac6('0x2f')]['length']?_0x73b57[_0xbac6('0x2f')]:_0x48a077['model'];if(_0x557bb8[_0xbac6('0x2b')][_0xbac6('0x42')]){_0x73b57['include']=[{'all':!![]}];}_0x73b57=_[_0xbac6('0x39')]({},_0x73b57,_0x557bb8[_0xbac6('0x3a')]);return db[_0xbac6('0x3b')]['find'](_0x73b57)['then'](handleEntityNotFound(_0x54e06e,null))[_0xbac6('0x1e')](respondWithResult(_0x54e06e,null))[_0xbac6('0x3f')](handleError(_0x54e06e,null));};exports[_0xbac6('0x43')]=function(_0x41da51,_0x175fa9){return db[_0xbac6('0x3b')][_0xbac6('0x43')](_0x41da51[_0xbac6('0x44')],{})['then'](function(_0x26ea62){var _0x4005f7=_0x41da51['user'][_0xbac6('0x20')]({'plain':!![]});if(!_0x4005f7)throw new Error(_0xbac6('0x45'));if(_0x4005f7[_0xbac6('0x46')]==='user'){var _0x46fed2=_0x26ea62['get']({'plain':!![]});var _0x525ca1=_0xbac6('0x21');return db[_0xbac6('0x47')][_0xbac6('0x48')]({'where':{'name':_0x525ca1,'userProfileId':_0x4005f7[_0xbac6('0x49')]},'raw':!![]})[_0xbac6('0x1e')](function(_0xfabdcf){if(_0xfabdcf&&_0xfabdcf[_0xbac6('0x4a')]===0x0){return db['UserProfileResource'][_0xbac6('0x43')]({'name':_0x46fed2[_0xbac6('0x24')],'resourceId':_0x46fed2['id'],'type':_0xfabdcf['name'],'sectionId':_0xfabdcf['id']},{})['then'](function(){return _0x26ea62;});}else{return _0x26ea62;}})[_0xbac6('0x3f')](function(_0x4825ba){logger[_0xbac6('0x4b')](_0xbac6('0x4c'),_0x4825ba);throw _0x4825ba;});}return _0x26ea62;})[_0xbac6('0x1e')](respondWithResult(_0x175fa9,0xc9))['catch'](handleError(_0x175fa9,null));};exports[_0xbac6('0x4d')]=function(_0x4c362a,_0x55f1dc){if(_0x4c362a[_0xbac6('0x44')]['id']){delete _0x4c362a[_0xbac6('0x44')]['id'];}return db[_0xbac6('0x3b')][_0xbac6('0x48')]({'where':{'id':_0x4c362a[_0xbac6('0x41')]['id']}})[_0xbac6('0x1e')](handleEntityNotFound(_0x55f1dc,null))[_0xbac6('0x1e')](saveUpdates(_0x4c362a[_0xbac6('0x44')],null))[_0xbac6('0x1e')](respondWithResult(_0x55f1dc,null))[_0xbac6('0x3f')](handleError(_0x55f1dc,null));};exports['destroy']=function(_0x368dea,_0x177a9e){return db[_0xbac6('0x3b')]['find']({'where':{'id':_0x368dea['params']['id']}})[_0xbac6('0x1e')](handleEntityNotFound(_0x177a9e,null))[_0xbac6('0x1e')](removeEntity(_0x177a9e,null))[_0xbac6('0x3f')](handleError(_0x177a9e,null));};exports[_0xbac6('0x4e')]=function(_0x26a017,_0x52d7bb,_0x553645){return db[_0xbac6('0x3b')][_0xbac6('0x48')]({'where':{'id':_0x26a017[_0xbac6('0x41')]['id']},'attributes':[_0xbac6('0x24'),'basename','savename',_0xbac6('0x4f')],'raw':!![]})['then'](handleEntityNotFound(_0x52d7bb,null))[_0xbac6('0x1e')](function(_0x31952f){if(_0x31952f){if(!fs[_0xbac6('0x50')](path[_0xbac6('0x51')](config[_0xbac6('0x52')],_0xbac6('0x53'),_0x31952f['savename']))){throw new db[(_0xbac6('0x54'))][(_0xbac6('0x55'))](_0xbac6('0x56'));}if(_0x26a017[_0xbac6('0x2b')][_0xbac6('0x57')]){return _0x52d7bb[_0xbac6('0x22')](0xc8);}return _0x52d7bb[_0xbac6('0x4e')](path[_0xbac6('0x51')](config[_0xbac6('0x52')],_0xbac6('0x53'),_0x31952f[_0xbac6('0x58')]),util[_0xbac6('0x59')](_0xbac6('0x5a'),_0x31952f[_0xbac6('0x5b')]||_0x31952f[_0xbac6('0x24')],_0x31952f['output'][_0xbac6('0x5c')]()));}})[_0xbac6('0x3f')](handleError(_0x52d7bb,null));};