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 _0xe15e=['map','AnalyticExtractedReport','fieldName','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','sort','where','pick','filter','merge','VIRTUAL','options','count','include','findAll','rows','show','params','rawAttributes','includeAll','find','catch','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','download','basename','savename','join','server/files/reports','ValidationError','exists','%s.%s','output','toLowerCase','html-pdf','rimraf','zip-dir','bluebird','mustache','path','sox','ejs','lodash','squel','crypto','jsforce','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','limit','reject','save','update','then','get','ExtractedReports','destroy','error','stack','name','send','index'];(function(_0x141b50,_0x1d6823){var _0x85097b=function(_0x15eb0b){while(--_0x15eb0b){_0x141b50['push'](_0x141b50['shift']());}};_0x85097b(++_0x1d6823);}(_0xe15e,0x131));var _0xee15=function(_0x50c154,_0x4e08a2){_0x50c154=_0x50c154-0x0;var _0x23aad4=_0xe15e[_0x50c154];return _0x23aad4;};'use strict';var pdf=require(_0xee15('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xee15('0x1'));var zipdir=require(_0xee15('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xee15('0x3'));var Mustache=require(_0xee15('0x4'));var util=require('util');var path=require(_0xee15('0x5'));var sox=require(_0xee15('0x6'));var csv=require('to-csv');var ejs=require(_0xee15('0x7'));var fs=require('fs');var _=require(_0xee15('0x8'));var squel=require(_0xee15('0x9'));var crypto=require(_0xee15('0xa'));var jsforce=require(_0xee15('0xb'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0xee15('0xc'));var authService=require('../../components/auth/service');var qs=require(_0xee15('0xd'));var as=require(_0xee15('0xe'));var hardwareService=require(_0xee15('0xf'));var logger=require(_0xee15('0x10'))(_0xee15('0x11'));var utils=require(_0xee15('0x12'));var config=require(_0xee15('0x13'));var db=require(_0xee15('0x14'))['db'];function respondWithStatusCode(_0x9c3cdf,_0x300f89){_0x300f89=_0x300f89||0xcc;return function(_0x5c4e19){if(_0x5c4e19){return _0x9c3cdf[_0xee15('0x15')](_0x300f89);}return _0x9c3cdf[_0xee15('0x16')](_0x300f89)[_0xee15('0x17')]();};}function respondWithResult(_0x353a5b,_0x526e37){_0x526e37=_0x526e37||0xc8;return function(_0x32cb98){if(_0x32cb98){return _0x353a5b['status'](_0x526e37)[_0xee15('0x18')](_0x32cb98);}};}function respondWithFilteredResult(_0x1e737f,_0x1682d3){return function(_0x2d8f68){if(_0x2d8f68){var _0x3cde0f=_0x2d8f68['count'],_0x4788bd=_0x1682d3[_0xee15('0x19')],_0x3f3bac=_0x1682d3[_0xee15('0x19')]+_0x1682d3[_0xee15('0x1a')],_0x3b7daf;if(_0x3f3bac>=_0x3cde0f){_0x3f3bac=_0x3cde0f;_0x3b7daf=0xc8;}else{_0x3b7daf=0xce;}_0x1e737f[_0xee15('0x16')](_0x3b7daf);return _0x1e737f['set']('Content-Range',_0x4788bd+'-'+_0x3f3bac+'/'+_0x3cde0f)[_0xee15('0x18')](_0x2d8f68);}return null;};}function patchUpdates(_0x534cda){return function(_0x44be95){try{jsonpatch['apply'](_0x44be95,_0x534cda,!![]);}catch(_0x27dff6){return BPromise[_0xee15('0x1b')](_0x27dff6);}return _0x44be95[_0xee15('0x1c')]();};}function saveUpdates(_0x1de510,_0x39293b){return function(_0x3f94fb){if(_0x3f94fb){return _0x3f94fb[_0xee15('0x1d')](_0x1de510)[_0xee15('0x1e')](function(_0x400845){return _0x400845;});}return null;};}function removeEntity(_0x46b5d1,_0x4c1f5b){return function(_0xf707d5){if(_0xf707d5){return _0xf707d5['destroy']()[_0xee15('0x1e')](function(){var _0x40f2ef=_0xf707d5[_0xee15('0x1f')]({'plain':!![]});var _0x5334a8=_0xee15('0x20');return db['UserProfileResource'][_0xee15('0x21')]({'where':{'type':_0x5334a8,'resourceId':_0x40f2ef['id']}})[_0xee15('0x1e')](function(){return _0xf707d5;});})['then'](function(){_0x46b5d1[_0xee15('0x16')](0xcc)[_0xee15('0x17')]();});}};}function handleEntityNotFound(_0x23c792,_0x3622c0){return function(_0xfe6ca7){if(!_0xfe6ca7){_0x23c792[_0xee15('0x15')](0x194);}return _0xfe6ca7;};}function handleError(_0x6a7654,_0x2fb1e0){_0x2fb1e0=_0x2fb1e0||0x1f4;return function(_0x1812f0){logger[_0xee15('0x22')](_0x1812f0[_0xee15('0x23')]);if(_0x1812f0[_0xee15('0x24')]){delete _0x1812f0['name'];}_0x6a7654['status'](_0x2fb1e0)[_0xee15('0x25')](_0x1812f0);};}exports[_0xee15('0x26')]=function(_0x186018,_0x561a59){var _0x1be75a={},_0x1e1757={},_0x14e918={'count':0x0,'rows':[]};var _0x73c0bb=_[_0xee15('0x27')](db[_0xee15('0x28')]['rawAttributes'],function(_0x19a31b){return{'name':_0x19a31b[_0xee15('0x29')],'type':_0x19a31b['type'][_0xee15('0x2a')]};});_0x1e1757[_0xee15('0x2b')]=_['map'](_0x73c0bb,_0xee15('0x24'));_0x1e1757[_0xee15('0x2c')]=_[_0xee15('0x2d')](_0x186018[_0xee15('0x2c')]);_0x1e1757[_0xee15('0x2e')]=_[_0xee15('0x2f')](_0x1e1757[_0xee15('0x2b')],_0x1e1757[_0xee15('0x2c')]);_0x1be75a[_0xee15('0x30')]=_[_0xee15('0x2f')](_0x1e1757[_0xee15('0x2b')],qs[_0xee15('0x31')](_0x186018[_0xee15('0x2c')][_0xee15('0x31')]));_0x1be75a[_0xee15('0x30')]=_0x1be75a[_0xee15('0x30')][_0xee15('0x32')]?_0x1be75a[_0xee15('0x30')]:_0x1e1757[_0xee15('0x2b')];if(!_0x186018[_0xee15('0x2c')][_0xee15('0x33')]('nolimit')){_0x1be75a[_0xee15('0x1a')]=qs[_0xee15('0x1a')](_0x186018[_0xee15('0x2c')]['limit']);_0x1be75a['offset']=qs[_0xee15('0x19')](_0x186018[_0xee15('0x2c')][_0xee15('0x19')]);}_0x1be75a['order']=qs[_0xee15('0x34')](_0x186018[_0xee15('0x2c')]['sort']);_0x1be75a[_0xee15('0x35')]=qs[_0xee15('0x2e')](_[_0xee15('0x36')](_0x186018[_0xee15('0x2c')],_0x1e1757[_0xee15('0x2e')]),_0x73c0bb);if(_0x186018[_0xee15('0x2c')][_0xee15('0x37')]){_0x1be75a[_0xee15('0x35')]=_[_0xee15('0x38')](_0x1be75a['where'],{'$or':_['map'](_0x73c0bb,function(_0x11f8b3){if(_0x11f8b3['type']!==_0xee15('0x39')){var _0x49ff53={};_0x49ff53[_0x11f8b3['name']]={'$like':'%'+_0x186018[_0xee15('0x2c')][_0xee15('0x37')]+'%'};return _0x49ff53;}})});}_0x1be75a=_['merge']({},_0x1be75a,_0x186018[_0xee15('0x3a')]);var _0x40cd28={'where':_0x1be75a[_0xee15('0x35')]};return db[_0xee15('0x28')][_0xee15('0x3b')](_0x40cd28)[_0xee15('0x1e')](function(_0x24d22c){_0x14e918['count']=_0x24d22c;if(_0x186018[_0xee15('0x2c')]['includeAll']){_0x1be75a[_0xee15('0x3c')]=[{'all':!![]}];}return db[_0xee15('0x28')][_0xee15('0x3d')](_0x1be75a);})[_0xee15('0x1e')](function(_0x405a0d){_0x14e918[_0xee15('0x3e')]=_0x405a0d;return _0x14e918;})['then'](respondWithFilteredResult(_0x561a59,_0x1be75a))['catch'](handleError(_0x561a59,null));};exports[_0xee15('0x3f')]=function(_0x1d47b7,_0x136094){var _0x5883fd={'raw':!![],'where':{'id':_0x1d47b7[_0xee15('0x40')]['id']}},_0x4a06dc={};_0x4a06dc[_0xee15('0x2b')]=_[_0xee15('0x2d')](db[_0xee15('0x28')][_0xee15('0x41')]);_0x4a06dc['query']=_[_0xee15('0x2d')](_0x1d47b7[_0xee15('0x2c')]);_0x4a06dc[_0xee15('0x2e')]=_['intersection'](_0x4a06dc[_0xee15('0x2b')],_0x4a06dc['query']);_0x5883fd[_0xee15('0x30')]=_[_0xee15('0x2f')](_0x4a06dc['model'],qs[_0xee15('0x31')](_0x1d47b7['query'][_0xee15('0x31')]));_0x5883fd['attributes']=_0x5883fd[_0xee15('0x30')][_0xee15('0x32')]?_0x5883fd[_0xee15('0x30')]:_0x4a06dc[_0xee15('0x2b')];if(_0x1d47b7[_0xee15('0x2c')][_0xee15('0x42')]){_0x5883fd['include']=[{'all':!![]}];}_0x5883fd=_[_0xee15('0x38')]({},_0x5883fd,_0x1d47b7['options']);return db['AnalyticExtractedReport'][_0xee15('0x43')](_0x5883fd)[_0xee15('0x1e')](handleEntityNotFound(_0x136094,null))[_0xee15('0x1e')](respondWithResult(_0x136094,null))[_0xee15('0x44')](handleError(_0x136094,null));};exports[_0xee15('0x45')]=function(_0x943af4,_0x2d70b9){return db[_0xee15('0x28')][_0xee15('0x45')](_0x943af4['body'],{})[_0xee15('0x1e')](function(_0x29306f){var _0x1a0403=_0x943af4[_0xee15('0x46')][_0xee15('0x1f')]({'plain':!![]});if(!_0x1a0403)throw new Error(_0xee15('0x47'));if(_0x1a0403[_0xee15('0x48')]==='user'){var _0x52ad40=_0x29306f[_0xee15('0x1f')]({'plain':!![]});var _0x2c6815='ExtractedReports';return db['UserProfileSection'][_0xee15('0x43')]({'where':{'name':_0x2c6815,'userProfileId':_0x1a0403['userProfileId']},'raw':!![]})[_0xee15('0x1e')](function(_0x33476c){if(_0x33476c&&_0x33476c[_0xee15('0x49')]===0x0){return db['UserProfileResource']['create']({'name':_0x52ad40['name'],'resourceId':_0x52ad40['id'],'type':_0x33476c[_0xee15('0x24')],'sectionId':_0x33476c['id']},{})[_0xee15('0x1e')](function(){return _0x29306f;});}else{return _0x29306f;}})['catch'](function(_0x45256a){logger[_0xee15('0x22')](_0xee15('0x4a'),_0x45256a);throw _0x45256a;});}return _0x29306f;})['then'](respondWithResult(_0x2d70b9,0xc9))[_0xee15('0x44')](handleError(_0x2d70b9,null));};exports[_0xee15('0x1d')]=function(_0x11ba5d,_0x304738){if(_0x11ba5d[_0xee15('0x4b')]['id']){delete _0x11ba5d[_0xee15('0x4b')]['id'];}return db[_0xee15('0x28')][_0xee15('0x43')]({'where':{'id':_0x11ba5d[_0xee15('0x40')]['id']}})[_0xee15('0x1e')](handleEntityNotFound(_0x304738,null))['then'](saveUpdates(_0x11ba5d[_0xee15('0x4b')],null))[_0xee15('0x1e')](respondWithResult(_0x304738,null))[_0xee15('0x44')](handleError(_0x304738,null));};exports[_0xee15('0x21')]=function(_0x5aa3f2,_0x1bbeea){return db[_0xee15('0x28')]['find']({'where':{'id':_0x5aa3f2[_0xee15('0x40')]['id']}})[_0xee15('0x1e')](handleEntityNotFound(_0x1bbeea,null))[_0xee15('0x1e')](removeEntity(_0x1bbeea,null))[_0xee15('0x44')](handleError(_0x1bbeea,null));};exports[_0xee15('0x4c')]=function(_0x295361,_0x317a2a,_0x3f3e28){return db['AnalyticExtractedReport'][_0xee15('0x43')]({'where':{'id':_0x295361[_0xee15('0x40')]['id']},'attributes':[_0xee15('0x24'),_0xee15('0x4d'),_0xee15('0x4e'),'output'],'raw':!![]})['then'](handleEntityNotFound(_0x317a2a,null))[_0xee15('0x1e')](function(_0x1351a9){if(_0x1351a9){if(!fs['existsSync'](path[_0xee15('0x4f')](config['root'],_0xee15('0x50'),_0x1351a9[_0xee15('0x4e')]))){throw new db['Sequelize'][(_0xee15('0x51'))]('Report\x20not\x20found\x20or\x20empty');}if(_0x295361[_0xee15('0x2c')][_0xee15('0x52')]){return _0x317a2a[_0xee15('0x15')](0xc8);}return _0x317a2a[_0xee15('0x4c')](path[_0xee15('0x4f')](config['root'],_0xee15('0x50'),_0x1351a9[_0xee15('0x4e')]),util['format'](_0xee15('0x53'),_0x1351a9[_0xee15('0x4d')]||_0x1351a9[_0xee15('0x24')],_0x1351a9[_0xee15('0x54')][_0xee15('0x55')]()));}})[_0xee15('0x44')](handleError(_0x317a2a,null));};