Built motion from commit (unavailable).|2.5.17
[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 _0x86d7=['then','destroy','UserProfileResource','error','stack','name','send','index','map','rawAttributes','fieldName','type','key','query','keys','filters','intersection','model','fields','attributes','hasOwnProperty','nolimit','order','sort','where','pick','filter','VIRTUAL','merge','options','includeAll','include','AnalyticExtractedReport','findAll','rows','catch','show','params','length','find','create','body','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','ExtractedReports','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','savename','output','existsSync','join','root','server/files/reports','Sequelize','ValidationError','Report\x20not\x20found\x20or\x20empty','download','format','%s.%s','basename','toLowerCase','html-pdf','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','ejs','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','count','offset','limit','set','Content-Range','apply','reject','save','update'];(function(_0x12c34e,_0x39287a){var _0x244e88=function(_0x34507b){while(--_0x34507b){_0x12c34e['push'](_0x12c34e['shift']());}};_0x244e88(++_0x39287a);}(_0x86d7,0x111));var _0x786d=function(_0x399a08,_0x56586e){_0x399a08=_0x399a08-0x0;var _0x21f3c5=_0x86d7[_0x399a08];return _0x21f3c5;};'use strict';var pdf=require(_0x786d('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x786d('0x1'));var zipdir=require(_0x786d('0x2'));var jsonpatch=require(_0x786d('0x3'));var rp=require(_0x786d('0x4'));var moment=require(_0x786d('0x5'));var BPromise=require(_0x786d('0x6'));var Mustache=require('mustache');var util=require(_0x786d('0x7'));var path=require(_0x786d('0x8'));var sox=require(_0x786d('0x9'));var csv=require('to-csv');var ejs=require(_0x786d('0xa'));var fs=require('fs');var _=require(_0x786d('0xb'));var squel=require(_0x786d('0xc'));var crypto=require('crypto');var jsforce=require(_0x786d('0xd'));var deskjs=require(_0x786d('0xe'));var toCsv=require('to-csv');var querystring=require(_0x786d('0xf'));var Papa=require(_0x786d('0x10'));var Redis=require(_0x786d('0x11'));var authService=require(_0x786d('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0x786d('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x786d('0x14'))(_0x786d('0x15'));var utils=require(_0x786d('0x16'));var config=require(_0x786d('0x17'));var licenseUtil=require(_0x786d('0x18'));var db=require(_0x786d('0x19'))['db'];function respondWithStatusCode(_0x647cec,_0x1b24e8){_0x1b24e8=_0x1b24e8||0xcc;return function(_0x458bdf){if(_0x458bdf){return _0x647cec[_0x786d('0x1a')](_0x1b24e8);}return _0x647cec['status'](_0x1b24e8)[_0x786d('0x1b')]();};}function respondWithResult(_0x876c8f,_0x22d80b){_0x22d80b=_0x22d80b||0xc8;return function(_0x293602){if(_0x293602){return _0x876c8f[_0x786d('0x1c')](_0x22d80b)[_0x786d('0x1d')](_0x293602);}};}function respondWithFilteredResult(_0x2d225e,_0x5006bb){return function(_0x215c53){if(_0x215c53){var _0x52b917=_0x215c53[_0x786d('0x1e')],_0x5e9a7a=_0x5006bb[_0x786d('0x1f')],_0x502099=_0x5006bb[_0x786d('0x1f')]+_0x5006bb[_0x786d('0x20')],_0x20360f;if(_0x502099>=_0x52b917){_0x502099=_0x52b917;_0x20360f=0xc8;}else{_0x20360f=0xce;}_0x2d225e[_0x786d('0x1c')](_0x20360f);return _0x2d225e[_0x786d('0x21')](_0x786d('0x22'),_0x5e9a7a+'-'+_0x502099+'/'+_0x52b917)[_0x786d('0x1d')](_0x215c53);}return null;};}function patchUpdates(_0x4b6b71){return function(_0x4c50f6){try{jsonpatch[_0x786d('0x23')](_0x4c50f6,_0x4b6b71,!![]);}catch(_0x38479e){return BPromise[_0x786d('0x24')](_0x38479e);}return _0x4c50f6[_0x786d('0x25')]();};}function saveUpdates(_0x12dfb6,_0x1019f9){return function(_0x34db29){if(_0x34db29){return _0x34db29[_0x786d('0x26')](_0x12dfb6)[_0x786d('0x27')](function(_0x546bf2){return _0x546bf2;});}return null;};}function removeEntity(_0x293930,_0x9a2e4){return function(_0x129dd7){if(_0x129dd7){return _0x129dd7[_0x786d('0x28')]()[_0x786d('0x27')](function(){var _0x6f62e7=_0x129dd7['get']({'plain':!![]});var _0x1fde13='ExtractedReports';return db[_0x786d('0x29')][_0x786d('0x28')]({'where':{'type':_0x1fde13,'resourceId':_0x6f62e7['id']}})['then'](function(){return _0x129dd7;});})['then'](function(){_0x293930[_0x786d('0x1c')](0xcc)[_0x786d('0x1b')]();});}};}function handleEntityNotFound(_0x1f181d,_0x4f14ed){return function(_0x152534){if(!_0x152534){_0x1f181d[_0x786d('0x1a')](0x194);}return _0x152534;};}function handleError(_0x32daa6,_0x867dca){_0x867dca=_0x867dca||0x1f4;return function(_0x16fc6a){logger[_0x786d('0x2a')](_0x16fc6a[_0x786d('0x2b')]);if(_0x16fc6a['name']){delete _0x16fc6a[_0x786d('0x2c')];}_0x32daa6[_0x786d('0x1c')](_0x867dca)[_0x786d('0x2d')](_0x16fc6a);};}exports[_0x786d('0x2e')]=function(_0x92705,_0x2645cb){var _0x2bce4b={},_0x349c73={},_0x5d8077={'count':0x0,'rows':[]};var _0x21763e=_[_0x786d('0x2f')](db['AnalyticExtractedReport'][_0x786d('0x30')],function(_0x3bae02){return{'name':_0x3bae02[_0x786d('0x31')],'type':_0x3bae02[_0x786d('0x32')][_0x786d('0x33')]};});_0x349c73['model']=_[_0x786d('0x2f')](_0x21763e,_0x786d('0x2c'));_0x349c73[_0x786d('0x34')]=_[_0x786d('0x35')](_0x92705[_0x786d('0x34')]);_0x349c73[_0x786d('0x36')]=_[_0x786d('0x37')](_0x349c73[_0x786d('0x38')],_0x349c73[_0x786d('0x34')]);_0x2bce4b['attributes']=_['intersection'](_0x349c73[_0x786d('0x38')],qs[_0x786d('0x39')](_0x92705[_0x786d('0x34')][_0x786d('0x39')]));_0x2bce4b[_0x786d('0x3a')]=_0x2bce4b['attributes']['length']?_0x2bce4b[_0x786d('0x3a')]:_0x349c73['model'];if(!_0x92705[_0x786d('0x34')][_0x786d('0x3b')](_0x786d('0x3c'))){_0x2bce4b['limit']=qs[_0x786d('0x20')](_0x92705[_0x786d('0x34')]['limit']);_0x2bce4b[_0x786d('0x1f')]=qs[_0x786d('0x1f')](_0x92705['query'][_0x786d('0x1f')]);}_0x2bce4b[_0x786d('0x3d')]=qs[_0x786d('0x3e')](_0x92705['query']['sort']);_0x2bce4b[_0x786d('0x3f')]=qs[_0x786d('0x36')](_[_0x786d('0x40')](_0x92705[_0x786d('0x34')],_0x349c73[_0x786d('0x36')]),_0x21763e);if(_0x92705[_0x786d('0x34')][_0x786d('0x41')]){_0x2bce4b[_0x786d('0x3f')]=_['merge'](_0x2bce4b[_0x786d('0x3f')],{'$or':_[_0x786d('0x2f')](_0x21763e,function(_0x4526a5){if(_0x4526a5['type']!==_0x786d('0x42')){var _0x4b39b5={};_0x4b39b5[_0x4526a5[_0x786d('0x2c')]]={'$like':'%'+_0x92705['query'][_0x786d('0x41')]+'%'};return _0x4b39b5;}})});}_0x2bce4b=_[_0x786d('0x43')]({},_0x2bce4b,_0x92705[_0x786d('0x44')]);var _0x1f4f93={'where':_0x2bce4b[_0x786d('0x3f')]};return db['AnalyticExtractedReport'][_0x786d('0x1e')](_0x1f4f93)[_0x786d('0x27')](function(_0x3277a4){_0x5d8077[_0x786d('0x1e')]=_0x3277a4;if(_0x92705[_0x786d('0x34')][_0x786d('0x45')]){_0x2bce4b[_0x786d('0x46')]=[{'all':!![]}];}return db[_0x786d('0x47')][_0x786d('0x48')](_0x2bce4b);})[_0x786d('0x27')](function(_0x29c5a7){_0x5d8077[_0x786d('0x49')]=_0x29c5a7;return _0x5d8077;})[_0x786d('0x27')](respondWithFilteredResult(_0x2645cb,_0x2bce4b))[_0x786d('0x4a')](handleError(_0x2645cb,null));};exports[_0x786d('0x4b')]=function(_0x5cd272,_0x1db529){var _0x2b0af0={'raw':!![],'where':{'id':_0x5cd272[_0x786d('0x4c')]['id']}},_0x1700ba={};_0x1700ba[_0x786d('0x38')]=_[_0x786d('0x35')](db[_0x786d('0x47')]['rawAttributes']);_0x1700ba['query']=_[_0x786d('0x35')](_0x5cd272[_0x786d('0x34')]);_0x1700ba[_0x786d('0x36')]=_[_0x786d('0x37')](_0x1700ba[_0x786d('0x38')],_0x1700ba[_0x786d('0x34')]);_0x2b0af0[_0x786d('0x3a')]=_[_0x786d('0x37')](_0x1700ba[_0x786d('0x38')],qs[_0x786d('0x39')](_0x5cd272['query'][_0x786d('0x39')]));_0x2b0af0['attributes']=_0x2b0af0[_0x786d('0x3a')][_0x786d('0x4d')]?_0x2b0af0[_0x786d('0x3a')]:_0x1700ba[_0x786d('0x38')];if(_0x5cd272['query'][_0x786d('0x45')]){_0x2b0af0[_0x786d('0x46')]=[{'all':!![]}];}_0x2b0af0=_['merge']({},_0x2b0af0,_0x5cd272[_0x786d('0x44')]);return db[_0x786d('0x47')][_0x786d('0x4e')](_0x2b0af0)['then'](handleEntityNotFound(_0x1db529,null))['then'](respondWithResult(_0x1db529,null))[_0x786d('0x4a')](handleError(_0x1db529,null));};exports[_0x786d('0x4f')]=function(_0x336ade,_0x2f137e){return db[_0x786d('0x47')][_0x786d('0x4f')](_0x336ade[_0x786d('0x50')],{})[_0x786d('0x27')](function(_0x3cb756){var _0x2892b4=_0x336ade['user'][_0x786d('0x51')]({'plain':!![]});if(!_0x2892b4)throw new Error(_0x786d('0x52'));if(_0x2892b4[_0x786d('0x53')]===_0x786d('0x54')){var _0x5530e3=_0x3cb756[_0x786d('0x51')]({'plain':!![]});var _0x3a627e=_0x786d('0x55');return db[_0x786d('0x56')][_0x786d('0x4e')]({'where':{'name':_0x3a627e,'userProfileId':_0x2892b4[_0x786d('0x57')]},'raw':!![]})[_0x786d('0x27')](function(_0x5e3582){if(_0x5e3582&&_0x5e3582[_0x786d('0x58')]===0x0){return db['UserProfileResource'][_0x786d('0x4f')]({'name':_0x5530e3[_0x786d('0x2c')],'resourceId':_0x5530e3['id'],'type':_0x5e3582[_0x786d('0x2c')],'sectionId':_0x5e3582['id']},{})[_0x786d('0x27')](function(){return _0x3cb756;});}else{return _0x3cb756;}})[_0x786d('0x4a')](function(_0x5817ff){logger[_0x786d('0x2a')](_0x786d('0x59'),_0x5817ff);throw _0x5817ff;});}return _0x3cb756;})['then'](respondWithResult(_0x2f137e,0xc9))[_0x786d('0x4a')](handleError(_0x2f137e,null));};exports[_0x786d('0x26')]=function(_0x571cfd,_0x3dcfdc){if(_0x571cfd[_0x786d('0x50')]['id']){delete _0x571cfd[_0x786d('0x50')]['id'];}return db[_0x786d('0x47')][_0x786d('0x4e')]({'where':{'id':_0x571cfd['params']['id']}})[_0x786d('0x27')](handleEntityNotFound(_0x3dcfdc,null))[_0x786d('0x27')](saveUpdates(_0x571cfd['body'],null))[_0x786d('0x27')](respondWithResult(_0x3dcfdc,null))[_0x786d('0x4a')](handleError(_0x3dcfdc,null));};exports['destroy']=function(_0x4af0fa,_0x19f9e0){return db[_0x786d('0x47')][_0x786d('0x4e')]({'where':{'id':_0x4af0fa[_0x786d('0x4c')]['id']}})[_0x786d('0x27')](handleEntityNotFound(_0x19f9e0,null))[_0x786d('0x27')](removeEntity(_0x19f9e0,null))[_0x786d('0x4a')](handleError(_0x19f9e0,null));};exports['download']=function(_0x44bdc7,_0xc637fa,_0x90b426){return db[_0x786d('0x47')][_0x786d('0x4e')]({'where':{'id':_0x44bdc7['params']['id']},'attributes':['name','basename',_0x786d('0x5a'),_0x786d('0x5b')],'raw':!![]})[_0x786d('0x27')](handleEntityNotFound(_0xc637fa,null))[_0x786d('0x27')](function(_0x4a0640){if(_0x4a0640){if(!fs[_0x786d('0x5c')](path[_0x786d('0x5d')](config[_0x786d('0x5e')],_0x786d('0x5f'),_0x4a0640[_0x786d('0x5a')]))){throw new db[(_0x786d('0x60'))][(_0x786d('0x61'))](_0x786d('0x62'));}if(_0x44bdc7[_0x786d('0x34')]['exists']){return _0xc637fa[_0x786d('0x1a')](0xc8);}return _0xc637fa[_0x786d('0x63')](path[_0x786d('0x5d')](config[_0x786d('0x5e')],_0x786d('0x5f'),_0x4a0640[_0x786d('0x5a')]),util[_0x786d('0x64')](_0x786d('0x65'),_0x4a0640[_0x786d('0x66')]||_0x4a0640[_0x786d('0x2c')],_0x4a0640[_0x786d('0x5b')][_0x786d('0x67')]()));}})[_0x786d('0x4a')](handleError(_0xc637fa,null));};