Built motion from commit (unavailable).|2.5.4
[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 _0x327f=['map','AnalyticExtractedReport','rawAttributes','fieldName','type','key','model','keys','filters','attributes','intersection','fields','query','length','hasOwnProperty','order','sort','where','pick','filter','VIRTUAL','merge','options','include','findAll','rows','includeAll','find','create','user','role','ExtractedReports','UserProfileSection','userProfileId','autoAssociation','catch','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','params','download','basename','savename','output','existsSync','join','root','server/files/reports','Report\x20not\x20found\x20or\x20empty','sendStatus','format','%s.%s','html-pdf','eml-format','zip-dir','moment','bluebird','mustache','util','path','sox','ejs','lodash','crypto','jsforce','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','status','json','count','offset','limit','set','Content-Range','apply','reject','save','update','then','destroy','get','UserProfileResource','end','error','name','index'];(function(_0x575246,_0x77ec5d){var _0x223f70=function(_0x349c28){while(--_0x349c28){_0x575246['push'](_0x575246['shift']());}};_0x223f70(++_0x77ec5d);}(_0x327f,0x92));var _0xf327=function(_0xfae23b,_0x2be4ba){_0xfae23b=_0xfae23b-0x0;var _0x200640=_0x327f[_0xfae23b];return _0x200640;};'use strict';var pdf=require(_0xf327('0x0'));var emlformat=require(_0xf327('0x1'));var rimraf=require('rimraf');var zipdir=require(_0xf327('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0xf327('0x3'));var BPromise=require(_0xf327('0x4'));var Mustache=require(_0xf327('0x5'));var util=require(_0xf327('0x6'));var path=require(_0xf327('0x7'));var sox=require(_0xf327('0x8'));var csv=require('to-csv');var ejs=require(_0xf327('0x9'));var fs=require('fs');var _=require(_0xf327('0xa'));var squel=require('squel');var crypto=require(_0xf327('0xb'));var jsforce=require(_0xf327('0xc'));var deskjs=require('desk.js');var toCsv=require(_0xf327('0xd'));var querystring=require(_0xf327('0xe'));var Papa=require(_0xf327('0xf'));var Redis=require(_0xf327('0x10'));var authService=require(_0xf327('0x11'));var qs=require(_0xf327('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xf327('0x13'));var logger=require(_0xf327('0x14'))(_0xf327('0x15'));var utils=require(_0xf327('0x16'));var config=require(_0xf327('0x17'));var db=require(_0xf327('0x18'))['db'];function respondWithStatusCode(_0x35c92f,_0x3b2562){_0x3b2562=_0x3b2562||0xcc;return function(_0x2c9ebe){if(_0x2c9ebe){return _0x35c92f['sendStatus'](_0x3b2562);}return _0x35c92f['status'](_0x3b2562)['end']();};}function respondWithResult(_0x3559ea,_0x2956ec){_0x2956ec=_0x2956ec||0xc8;return function(_0x9eebd8){if(_0x9eebd8){return _0x3559ea[_0xf327('0x19')](_0x2956ec)[_0xf327('0x1a')](_0x9eebd8);}};}function respondWithFilteredResult(_0x36eec0,_0x27b957){return function(_0x5e8cf1){if(_0x5e8cf1){var _0x525c29=_0x5e8cf1[_0xf327('0x1b')],_0x10c964=_0x27b957[_0xf327('0x1c')],_0x358572=_0x27b957['offset']+_0x27b957[_0xf327('0x1d')],_0x3bb7f2;if(_0x358572>=_0x525c29){_0x358572=_0x525c29;_0x3bb7f2=0xc8;}else{_0x3bb7f2=0xce;}_0x36eec0[_0xf327('0x19')](_0x3bb7f2);return _0x36eec0[_0xf327('0x1e')](_0xf327('0x1f'),_0x10c964+'-'+_0x358572+'/'+_0x525c29)[_0xf327('0x1a')](_0x5e8cf1);}return null;};}function patchUpdates(_0x236a65){return function(_0x24cef1){try{jsonpatch[_0xf327('0x20')](_0x24cef1,_0x236a65,!![]);}catch(_0x785246){return BPromise[_0xf327('0x21')](_0x785246);}return _0x24cef1[_0xf327('0x22')]();};}function saveUpdates(_0x1dbe4d,_0x40438e){return function(_0x783a43){if(_0x783a43){return _0x783a43[_0xf327('0x23')](_0x1dbe4d)[_0xf327('0x24')](function(_0x48b38f){return _0x48b38f;});}return null;};}function removeEntity(_0xfd750f,_0x1a639f){return function(_0x2f9c7e){if(_0x2f9c7e){return _0x2f9c7e[_0xf327('0x25')]()['then'](function(){var _0x27da75=_0x2f9c7e[_0xf327('0x26')]({'plain':!![]});var _0x3cdebc='ExtractedReports';return db[_0xf327('0x27')]['destroy']({'where':{'type':_0x3cdebc,'resourceId':_0x27da75['id']}})[_0xf327('0x24')](function(){return _0x2f9c7e;});})['then'](function(){_0xfd750f[_0xf327('0x19')](0xcc)[_0xf327('0x28')]();});}};}function handleEntityNotFound(_0x3abf80,_0x2ceb78){return function(_0x301f2e){if(!_0x301f2e){_0x3abf80['sendStatus'](0x194);}return _0x301f2e;};}function handleError(_0x93fa96,_0xf555f0){_0xf555f0=_0xf555f0||0x1f4;return function(_0x2a4ef7){logger[_0xf327('0x29')](_0x2a4ef7['stack']);if(_0x2a4ef7['name']){delete _0x2a4ef7[_0xf327('0x2a')];}_0x93fa96['status'](_0xf555f0)['send'](_0x2a4ef7);};}exports[_0xf327('0x2b')]=function(_0x3ce6d6,_0x342618){var _0x4a3baa={},_0x45b608={},_0x1081c0={'count':0x0,'rows':[]};var _0x521c9c=_[_0xf327('0x2c')](db[_0xf327('0x2d')][_0xf327('0x2e')],function(_0x118cdb){return{'name':_0x118cdb[_0xf327('0x2f')],'type':_0x118cdb[_0xf327('0x30')][_0xf327('0x31')]};});_0x45b608[_0xf327('0x32')]=_[_0xf327('0x2c')](_0x521c9c,'name');_0x45b608['query']=_[_0xf327('0x33')](_0x3ce6d6['query']);_0x45b608[_0xf327('0x34')]=_['intersection'](_0x45b608[_0xf327('0x32')],_0x45b608['query']);_0x4a3baa[_0xf327('0x35')]=_[_0xf327('0x36')](_0x45b608[_0xf327('0x32')],qs[_0xf327('0x37')](_0x3ce6d6[_0xf327('0x38')]['fields']));_0x4a3baa[_0xf327('0x35')]=_0x4a3baa[_0xf327('0x35')][_0xf327('0x39')]?_0x4a3baa[_0xf327('0x35')]:_0x45b608[_0xf327('0x32')];if(!_0x3ce6d6[_0xf327('0x38')][_0xf327('0x3a')]('nolimit')){_0x4a3baa[_0xf327('0x1d')]=qs[_0xf327('0x1d')](_0x3ce6d6[_0xf327('0x38')][_0xf327('0x1d')]);_0x4a3baa[_0xf327('0x1c')]=qs[_0xf327('0x1c')](_0x3ce6d6[_0xf327('0x38')][_0xf327('0x1c')]);}_0x4a3baa[_0xf327('0x3b')]=qs[_0xf327('0x3c')](_0x3ce6d6[_0xf327('0x38')]['sort']);_0x4a3baa[_0xf327('0x3d')]=qs[_0xf327('0x34')](_[_0xf327('0x3e')](_0x3ce6d6[_0xf327('0x38')],_0x45b608[_0xf327('0x34')]),_0x521c9c);if(_0x3ce6d6[_0xf327('0x38')][_0xf327('0x3f')]){_0x4a3baa[_0xf327('0x3d')]=_['merge'](_0x4a3baa[_0xf327('0x3d')],{'$or':_[_0xf327('0x2c')](_0x521c9c,function(_0x302cd4){if(_0x302cd4[_0xf327('0x30')]!==_0xf327('0x40')){var _0x26001e={};_0x26001e[_0x302cd4[_0xf327('0x2a')]]={'$like':'%'+_0x3ce6d6[_0xf327('0x38')][_0xf327('0x3f')]+'%'};return _0x26001e;}})});}_0x4a3baa=_[_0xf327('0x41')]({},_0x4a3baa,_0x3ce6d6[_0xf327('0x42')]);var _0x41b39d={'where':_0x4a3baa[_0xf327('0x3d')]};return db[_0xf327('0x2d')][_0xf327('0x1b')](_0x41b39d)[_0xf327('0x24')](function(_0x39ae82){_0x1081c0['count']=_0x39ae82;if(_0x3ce6d6[_0xf327('0x38')]['includeAll']){_0x4a3baa[_0xf327('0x43')]=[{'all':!![]}];}return db[_0xf327('0x2d')][_0xf327('0x44')](_0x4a3baa);})[_0xf327('0x24')](function(_0x40f90c){_0x1081c0[_0xf327('0x45')]=_0x40f90c;return _0x1081c0;})[_0xf327('0x24')](respondWithFilteredResult(_0x342618,_0x4a3baa))['catch'](handleError(_0x342618,null));};exports['show']=function(_0x1bbe15,_0x5a2b0b){var _0x55b1c7={'raw':!![],'where':{'id':_0x1bbe15['params']['id']}},_0x3af3ba={};_0x3af3ba[_0xf327('0x32')]=_[_0xf327('0x33')](db[_0xf327('0x2d')][_0xf327('0x2e')]);_0x3af3ba['query']=_[_0xf327('0x33')](_0x1bbe15[_0xf327('0x38')]);_0x3af3ba[_0xf327('0x34')]=_[_0xf327('0x36')](_0x3af3ba['model'],_0x3af3ba[_0xf327('0x38')]);_0x55b1c7['attributes']=_['intersection'](_0x3af3ba[_0xf327('0x32')],qs[_0xf327('0x37')](_0x1bbe15[_0xf327('0x38')][_0xf327('0x37')]));_0x55b1c7[_0xf327('0x35')]=_0x55b1c7[_0xf327('0x35')][_0xf327('0x39')]?_0x55b1c7[_0xf327('0x35')]:_0x3af3ba[_0xf327('0x32')];if(_0x1bbe15[_0xf327('0x38')][_0xf327('0x46')]){_0x55b1c7[_0xf327('0x43')]=[{'all':!![]}];}_0x55b1c7=_['merge']({},_0x55b1c7,_0x1bbe15[_0xf327('0x42')]);return db[_0xf327('0x2d')][_0xf327('0x47')](_0x55b1c7)[_0xf327('0x24')](handleEntityNotFound(_0x5a2b0b,null))['then'](respondWithResult(_0x5a2b0b,null))['catch'](handleError(_0x5a2b0b,null));};exports[_0xf327('0x48')]=function(_0x3aeb10,_0x5de8a7){return db[_0xf327('0x2d')]['create'](_0x3aeb10['body'],{})[_0xf327('0x24')](function(_0x416d73){var _0x4318ff=_0x3aeb10[_0xf327('0x49')][_0xf327('0x26')]({'plain':!![]});if(!_0x4318ff)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x4318ff[_0xf327('0x4a')]===_0xf327('0x49')){var _0x391458=_0x416d73[_0xf327('0x26')]({'plain':!![]});var _0xc21568=_0xf327('0x4b');return db[_0xf327('0x4c')][_0xf327('0x47')]({'where':{'name':_0xc21568,'userProfileId':_0x4318ff[_0xf327('0x4d')]},'raw':!![]})[_0xf327('0x24')](function(_0x311aad){if(_0x311aad&&_0x311aad[_0xf327('0x4e')]===0x0){return db['UserProfileResource']['create']({'name':_0x391458['name'],'resourceId':_0x391458['id'],'type':_0x311aad[_0xf327('0x2a')],'sectionId':_0x311aad['id']},{})[_0xf327('0x24')](function(){return _0x416d73;});}else{return _0x416d73;}})[_0xf327('0x4f')](function(_0x3e9519){logger['error'](_0xf327('0x50'),_0x3e9519);throw _0x3e9519;});}return _0x416d73;})['then'](respondWithResult(_0x5de8a7,0xc9))[_0xf327('0x4f')](handleError(_0x5de8a7,null));};exports[_0xf327('0x23')]=function(_0x332a5a,_0x24fa45){if(_0x332a5a[_0xf327('0x51')]['id']){delete _0x332a5a[_0xf327('0x51')]['id'];}return db['AnalyticExtractedReport'][_0xf327('0x47')]({'where':{'id':_0x332a5a[_0xf327('0x52')]['id']}})[_0xf327('0x24')](handleEntityNotFound(_0x24fa45,null))[_0xf327('0x24')](saveUpdates(_0x332a5a[_0xf327('0x51')],null))['then'](respondWithResult(_0x24fa45,null))['catch'](handleError(_0x24fa45,null));};exports[_0xf327('0x25')]=function(_0x554026,_0x4dd54c){return db[_0xf327('0x2d')][_0xf327('0x47')]({'where':{'id':_0x554026[_0xf327('0x52')]['id']}})[_0xf327('0x24')](handleEntityNotFound(_0x4dd54c,null))[_0xf327('0x24')](removeEntity(_0x4dd54c,null))[_0xf327('0x4f')](handleError(_0x4dd54c,null));};exports[_0xf327('0x53')]=function(_0x5b7e18,_0x3c1c1e,_0x2d00bd){return db[_0xf327('0x2d')]['find']({'where':{'id':_0x5b7e18[_0xf327('0x52')]['id']},'attributes':[_0xf327('0x2a'),_0xf327('0x54'),_0xf327('0x55'),_0xf327('0x56')],'raw':!![]})[_0xf327('0x24')](handleEntityNotFound(_0x3c1c1e,null))[_0xf327('0x24')](function(_0x5f424b){if(_0x5f424b){if(!fs[_0xf327('0x57')](path[_0xf327('0x58')](config[_0xf327('0x59')],_0xf327('0x5a'),_0x5f424b['savename']))){throw new db['Sequelize']['ValidationError'](_0xf327('0x5b'));}if(_0x5b7e18[_0xf327('0x38')]['exists']){return _0x3c1c1e[_0xf327('0x5c')](0xc8);}return _0x3c1c1e[_0xf327('0x53')](path[_0xf327('0x58')](config[_0xf327('0x59')],_0xf327('0x5a'),_0x5f424b[_0xf327('0x55')]),util[_0xf327('0x5d')](_0xf327('0x5e'),_0x5f424b[_0xf327('0x54')]||_0x5f424b[_0xf327('0x2a')],_0x5f424b[_0xf327('0x56')]['toLowerCase']()));}})[_0xf327('0x4f')](handleError(_0x3c1c1e,null));};