Built motion from commit (unavailable).|2.5.15
[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 _0xc4fd=['body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','find','userProfileId','create','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','params','download','basename','savename','output','existsSync','join','root','server/files/reports','Report\x20not\x20found\x20or\x20empty','exists','format','%s.%s','toLowerCase','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','util','path','sox','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','sendStatus','status','end','limit','set','Content-Range','json','apply','reject','save','then','get','ExtractedReports','UserProfileResource','destroy','name','send','index','map','AnalyticExtractedReport','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','offset','order','sort','pick','filter','where','merge','options','count','includeAll','findAll','rows','catch','show','rawAttributes','include'];(function(_0x4d44ff,_0x2efc51){var _0x21d4ca=function(_0x48a87b){while(--_0x48a87b){_0x4d44ff['push'](_0x4d44ff['shift']());}};_0x21d4ca(++_0x2efc51);}(_0xc4fd,0x13d));var _0xdc4f=function(_0x2ddfd9,_0x5877d0){_0x2ddfd9=_0x2ddfd9-0x0;var _0x2668f0=_0xc4fd[_0x2ddfd9];return _0x2668f0;};'use strict';var pdf=require(_0xdc4f('0x0'));var emlformat=require(_0xdc4f('0x1'));var rimraf=require(_0xdc4f('0x2'));var zipdir=require(_0xdc4f('0x3'));var jsonpatch=require(_0xdc4f('0x4'));var rp=require('request-promise');var moment=require(_0xdc4f('0x5'));var BPromise=require(_0xdc4f('0x6'));var Mustache=require('mustache');var util=require(_0xdc4f('0x7'));var path=require(_0xdc4f('0x8'));var sox=require(_0xdc4f('0x9'));var csv=require('to-csv');var ejs=require(_0xdc4f('0xa'));var fs=require('fs');var _=require(_0xdc4f('0xb'));var squel=require(_0xdc4f('0xc'));var crypto=require(_0xdc4f('0xd'));var jsforce=require(_0xdc4f('0xe'));var deskjs=require(_0xdc4f('0xf'));var toCsv=require('to-csv');var querystring=require(_0xdc4f('0x10'));var Papa=require(_0xdc4f('0x11'));var Redis=require(_0xdc4f('0x12'));var authService=require('../../components/auth/service');var qs=require(_0xdc4f('0x13'));var as=require(_0xdc4f('0x14'));var hardwareService=require(_0xdc4f('0x15'));var logger=require(_0xdc4f('0x16'))(_0xdc4f('0x17'));var utils=require('../../config/utils');var config=require(_0xdc4f('0x18'));var licenseUtil=require('../../config/license/util');var db=require(_0xdc4f('0x19'))['db'];function respondWithStatusCode(_0x170ddd,_0x2380c6){_0x2380c6=_0x2380c6||0xcc;return function(_0x50b26c){if(_0x50b26c){return _0x170ddd[_0xdc4f('0x1a')](_0x2380c6);}return _0x170ddd[_0xdc4f('0x1b')](_0x2380c6)[_0xdc4f('0x1c')]();};}function respondWithResult(_0x9b2ea1,_0x1e6c40){_0x1e6c40=_0x1e6c40||0xc8;return function(_0x122e76){if(_0x122e76){return _0x9b2ea1[_0xdc4f('0x1b')](_0x1e6c40)['json'](_0x122e76);}};}function respondWithFilteredResult(_0x396f29,_0x425582){return function(_0x5a16c9){if(_0x5a16c9){var _0x5952ff=_0x5a16c9['count'],_0x4da5e6=_0x425582['offset'],_0x57cbf4=_0x425582['offset']+_0x425582[_0xdc4f('0x1d')],_0x37658c;if(_0x57cbf4>=_0x5952ff){_0x57cbf4=_0x5952ff;_0x37658c=0xc8;}else{_0x37658c=0xce;}_0x396f29[_0xdc4f('0x1b')](_0x37658c);return _0x396f29[_0xdc4f('0x1e')](_0xdc4f('0x1f'),_0x4da5e6+'-'+_0x57cbf4+'/'+_0x5952ff)[_0xdc4f('0x20')](_0x5a16c9);}return null;};}function patchUpdates(_0x9dd811){return function(_0x152304){try{jsonpatch[_0xdc4f('0x21')](_0x152304,_0x9dd811,!![]);}catch(_0x230baa){return BPromise[_0xdc4f('0x22')](_0x230baa);}return _0x152304[_0xdc4f('0x23')]();};}function saveUpdates(_0x2b99d0,_0xc4a7c3){return function(_0x19597f){if(_0x19597f){return _0x19597f['update'](_0x2b99d0)['then'](function(_0x384bb0){return _0x384bb0;});}return null;};}function removeEntity(_0x2ce129,_0x37b88a){return function(_0x3d62af){if(_0x3d62af){return _0x3d62af['destroy']()[_0xdc4f('0x24')](function(){var _0x287c74=_0x3d62af[_0xdc4f('0x25')]({'plain':!![]});var _0x3b50e7=_0xdc4f('0x26');return db[_0xdc4f('0x27')][_0xdc4f('0x28')]({'where':{'type':_0x3b50e7,'resourceId':_0x287c74['id']}})[_0xdc4f('0x24')](function(){return _0x3d62af;});})[_0xdc4f('0x24')](function(){_0x2ce129[_0xdc4f('0x1b')](0xcc)[_0xdc4f('0x1c')]();});}};}function handleEntityNotFound(_0x7a7da4,_0x50d60f){return function(_0x18a331){if(!_0x18a331){_0x7a7da4[_0xdc4f('0x1a')](0x194);}return _0x18a331;};}function handleError(_0x55347f,_0x2d2c62){_0x2d2c62=_0x2d2c62||0x1f4;return function(_0x28665d){logger['error'](_0x28665d['stack']);if(_0x28665d['name']){delete _0x28665d[_0xdc4f('0x29')];}_0x55347f[_0xdc4f('0x1b')](_0x2d2c62)[_0xdc4f('0x2a')](_0x28665d);};}exports[_0xdc4f('0x2b')]=function(_0x11f5ed,_0x598332){var _0x13cabc={},_0x4c7bb6={},_0x35bc80={'count':0x0,'rows':[]};var _0x4e7d28=_[_0xdc4f('0x2c')](db[_0xdc4f('0x2d')]['rawAttributes'],function(_0x4455e6){return{'name':_0x4455e6[_0xdc4f('0x2e')],'type':_0x4455e6[_0xdc4f('0x2f')][_0xdc4f('0x30')]};});_0x4c7bb6[_0xdc4f('0x31')]=_[_0xdc4f('0x2c')](_0x4e7d28,_0xdc4f('0x29'));_0x4c7bb6[_0xdc4f('0x32')]=_[_0xdc4f('0x33')](_0x11f5ed[_0xdc4f('0x32')]);_0x4c7bb6[_0xdc4f('0x34')]=_[_0xdc4f('0x35')](_0x4c7bb6['model'],_0x4c7bb6[_0xdc4f('0x32')]);_0x13cabc[_0xdc4f('0x36')]=_['intersection'](_0x4c7bb6[_0xdc4f('0x31')],qs[_0xdc4f('0x37')](_0x11f5ed[_0xdc4f('0x32')][_0xdc4f('0x37')]));_0x13cabc['attributes']=_0x13cabc[_0xdc4f('0x36')][_0xdc4f('0x38')]?_0x13cabc['attributes']:_0x4c7bb6[_0xdc4f('0x31')];if(!_0x11f5ed[_0xdc4f('0x32')][_0xdc4f('0x39')](_0xdc4f('0x3a'))){_0x13cabc[_0xdc4f('0x1d')]=qs[_0xdc4f('0x1d')](_0x11f5ed[_0xdc4f('0x32')][_0xdc4f('0x1d')]);_0x13cabc[_0xdc4f('0x3b')]=qs[_0xdc4f('0x3b')](_0x11f5ed[_0xdc4f('0x32')][_0xdc4f('0x3b')]);}_0x13cabc[_0xdc4f('0x3c')]=qs[_0xdc4f('0x3d')](_0x11f5ed[_0xdc4f('0x32')]['sort']);_0x13cabc['where']=qs[_0xdc4f('0x34')](_[_0xdc4f('0x3e')](_0x11f5ed[_0xdc4f('0x32')],_0x4c7bb6[_0xdc4f('0x34')]),_0x4e7d28);if(_0x11f5ed[_0xdc4f('0x32')][_0xdc4f('0x3f')]){_0x13cabc[_0xdc4f('0x40')]=_[_0xdc4f('0x41')](_0x13cabc[_0xdc4f('0x40')],{'$or':_[_0xdc4f('0x2c')](_0x4e7d28,function(_0x2d9c36){if(_0x2d9c36[_0xdc4f('0x2f')]!=='VIRTUAL'){var _0x2d8ece={};_0x2d8ece[_0x2d9c36[_0xdc4f('0x29')]]={'$like':'%'+_0x11f5ed[_0xdc4f('0x32')][_0xdc4f('0x3f')]+'%'};return _0x2d8ece;}})});}_0x13cabc=_[_0xdc4f('0x41')]({},_0x13cabc,_0x11f5ed[_0xdc4f('0x42')]);var _0x5892bb={'where':_0x13cabc[_0xdc4f('0x40')]};return db[_0xdc4f('0x2d')][_0xdc4f('0x43')](_0x5892bb)[_0xdc4f('0x24')](function(_0x1de33b){_0x35bc80[_0xdc4f('0x43')]=_0x1de33b;if(_0x11f5ed[_0xdc4f('0x32')][_0xdc4f('0x44')]){_0x13cabc['include']=[{'all':!![]}];}return db[_0xdc4f('0x2d')][_0xdc4f('0x45')](_0x13cabc);})[_0xdc4f('0x24')](function(_0xf13fba){_0x35bc80[_0xdc4f('0x46')]=_0xf13fba;return _0x35bc80;})[_0xdc4f('0x24')](respondWithFilteredResult(_0x598332,_0x13cabc))[_0xdc4f('0x47')](handleError(_0x598332,null));};exports[_0xdc4f('0x48')]=function(_0x2e18ec,_0x919cce){var _0x535cfd={'raw':!![],'where':{'id':_0x2e18ec['params']['id']}},_0xb4443f={};_0xb4443f['model']=_['keys'](db['AnalyticExtractedReport'][_0xdc4f('0x49')]);_0xb4443f[_0xdc4f('0x32')]=_[_0xdc4f('0x33')](_0x2e18ec[_0xdc4f('0x32')]);_0xb4443f['filters']=_[_0xdc4f('0x35')](_0xb4443f[_0xdc4f('0x31')],_0xb4443f[_0xdc4f('0x32')]);_0x535cfd[_0xdc4f('0x36')]=_['intersection'](_0xb4443f[_0xdc4f('0x31')],qs[_0xdc4f('0x37')](_0x2e18ec[_0xdc4f('0x32')][_0xdc4f('0x37')]));_0x535cfd[_0xdc4f('0x36')]=_0x535cfd[_0xdc4f('0x36')]['length']?_0x535cfd[_0xdc4f('0x36')]:_0xb4443f[_0xdc4f('0x31')];if(_0x2e18ec[_0xdc4f('0x32')][_0xdc4f('0x44')]){_0x535cfd[_0xdc4f('0x4a')]=[{'all':!![]}];}_0x535cfd=_['merge']({},_0x535cfd,_0x2e18ec[_0xdc4f('0x42')]);return db[_0xdc4f('0x2d')]['find'](_0x535cfd)['then'](handleEntityNotFound(_0x919cce,null))[_0xdc4f('0x24')](respondWithResult(_0x919cce,null))[_0xdc4f('0x47')](handleError(_0x919cce,null));};exports['create']=function(_0x368c8b,_0x119271){return db[_0xdc4f('0x2d')]['create'](_0x368c8b[_0xdc4f('0x4b')],{})[_0xdc4f('0x24')](function(_0x4962fa){var _0x144f0f=_0x368c8b[_0xdc4f('0x4c')]['get']({'plain':!![]});if(!_0x144f0f)throw new Error(_0xdc4f('0x4d'));if(_0x144f0f['role']==='user'){var _0x429903=_0x4962fa[_0xdc4f('0x25')]({'plain':!![]});var _0x1f1e69='ExtractedReports';return db[_0xdc4f('0x4e')][_0xdc4f('0x4f')]({'where':{'name':_0x1f1e69,'userProfileId':_0x144f0f[_0xdc4f('0x50')]},'raw':!![]})[_0xdc4f('0x24')](function(_0x5c4d52){if(_0x5c4d52&&_0x5c4d52['autoAssociation']===0x0){return db['UserProfileResource'][_0xdc4f('0x51')]({'name':_0x429903[_0xdc4f('0x29')],'resourceId':_0x429903['id'],'type':_0x5c4d52[_0xdc4f('0x29')],'sectionId':_0x5c4d52['id']},{})[_0xdc4f('0x24')](function(){return _0x4962fa;});}else{return _0x4962fa;}})[_0xdc4f('0x47')](function(_0x47e2b0){logger['error'](_0xdc4f('0x52'),_0x47e2b0);throw _0x47e2b0;});}return _0x4962fa;})[_0xdc4f('0x24')](respondWithResult(_0x119271,0xc9))[_0xdc4f('0x47')](handleError(_0x119271,null));};exports[_0xdc4f('0x53')]=function(_0x684f98,_0x3524ae){if(_0x684f98['body']['id']){delete _0x684f98[_0xdc4f('0x4b')]['id'];}return db[_0xdc4f('0x2d')][_0xdc4f('0x4f')]({'where':{'id':_0x684f98[_0xdc4f('0x54')]['id']}})['then'](handleEntityNotFound(_0x3524ae,null))[_0xdc4f('0x24')](saveUpdates(_0x684f98[_0xdc4f('0x4b')],null))[_0xdc4f('0x24')](respondWithResult(_0x3524ae,null))[_0xdc4f('0x47')](handleError(_0x3524ae,null));};exports[_0xdc4f('0x28')]=function(_0x3d2b41,_0x562b93){return db[_0xdc4f('0x2d')][_0xdc4f('0x4f')]({'where':{'id':_0x3d2b41[_0xdc4f('0x54')]['id']}})['then'](handleEntityNotFound(_0x562b93,null))['then'](removeEntity(_0x562b93,null))[_0xdc4f('0x47')](handleError(_0x562b93,null));};exports[_0xdc4f('0x55')]=function(_0xdc03d1,_0x550661,_0x35d37e){return db[_0xdc4f('0x2d')][_0xdc4f('0x4f')]({'where':{'id':_0xdc03d1[_0xdc4f('0x54')]['id']},'attributes':[_0xdc4f('0x29'),_0xdc4f('0x56'),_0xdc4f('0x57'),_0xdc4f('0x58')],'raw':!![]})[_0xdc4f('0x24')](handleEntityNotFound(_0x550661,null))[_0xdc4f('0x24')](function(_0x3c9513){if(_0x3c9513){if(!fs[_0xdc4f('0x59')](path[_0xdc4f('0x5a')](config[_0xdc4f('0x5b')],_0xdc4f('0x5c'),_0x3c9513[_0xdc4f('0x57')]))){throw new db['Sequelize']['ValidationError'](_0xdc4f('0x5d'));}if(_0xdc03d1[_0xdc4f('0x32')][_0xdc4f('0x5e')]){return _0x550661['sendStatus'](0xc8);}return _0x550661[_0xdc4f('0x55')](path[_0xdc4f('0x5a')](config['root'],_0xdc4f('0x5c'),_0x3c9513[_0xdc4f('0x57')]),util[_0xdc4f('0x5f')](_0xdc4f('0x60'),_0x3c9513[_0xdc4f('0x56')]||_0x3c9513[_0xdc4f('0x29')],_0x3c9513[_0xdc4f('0x58')][_0xdc4f('0x61')]()));}})[_0xdc4f('0x47')](handleError(_0x550661,null));};