Built motion from commit (unavailable).|2.5.14
[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 _0xc31e=['key','map','query','keys','intersection','attributes','fields','length','hasOwnProperty','order','sort','filters','pick','where','merge','VIRTUAL','filter','options','include','findAll','rows','catch','show','params','model','includeAll','find','create','user','role','UserProfileSection','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','download','savename','output','existsSync','join','Sequelize','ValidationError','Report\x20not\x20found\x20or\x20empty','exists','root','format','%s.%s','html-pdf','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','crypto','jsforce','desk.js','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','sendStatus','end','json','count','offset','limit','status','set','Content-Range','save','update','destroy','get','UserProfileResource','then','error','stack','name','send','index','AnalyticExtractedReport','rawAttributes','fieldName','type'];(function(_0x2b2a1f,_0x42a47){var _0x564766=function(_0x23abf9){while(--_0x23abf9){_0x2b2a1f['push'](_0x2b2a1f['shift']());}};_0x564766(++_0x42a47);}(_0xc31e,0xea));var _0xec31=function(_0x174170,_0x44c5cb){_0x174170=_0x174170-0x0;var _0x3f7057=_0xc31e[_0x174170];return _0x3f7057;};'use strict';var pdf=require(_0xec31('0x0'));var emlformat=require(_0xec31('0x1'));var rimraf=require(_0xec31('0x2'));var zipdir=require(_0xec31('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0xec31('0x4'));var moment=require(_0xec31('0x5'));var BPromise=require(_0xec31('0x6'));var Mustache=require('mustache');var util=require(_0xec31('0x7'));var path=require(_0xec31('0x8'));var sox=require(_0xec31('0x9'));var csv=require(_0xec31('0xa'));var ejs=require(_0xec31('0xb'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require(_0xec31('0xc'));var jsforce=require(_0xec31('0xd'));var deskjs=require(_0xec31('0xe'));var toCsv=require(_0xec31('0xa'));var querystring=require('querystring');var Papa=require(_0xec31('0xf'));var Redis=require(_0xec31('0x10'));var authService=require('../../components/auth/service');var qs=require(_0xec31('0x11'));var as=require(_0xec31('0x12'));var hardwareService=require(_0xec31('0x13'));var logger=require(_0xec31('0x14'))(_0xec31('0x15'));var utils=require(_0xec31('0x16'));var config=require(_0xec31('0x17'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x565914,_0x47cf5f){_0x47cf5f=_0x47cf5f||0xcc;return function(_0x141ec3){if(_0x141ec3){return _0x565914[_0xec31('0x18')](_0x47cf5f);}return _0x565914['status'](_0x47cf5f)[_0xec31('0x19')]();};}function respondWithResult(_0x23e78a,_0x398c59){_0x398c59=_0x398c59||0xc8;return function(_0x466179){if(_0x466179){return _0x23e78a['status'](_0x398c59)[_0xec31('0x1a')](_0x466179);}};}function respondWithFilteredResult(_0x5a039b,_0x337d0d){return function(_0xa00c75){if(_0xa00c75){var _0x2bb506=_0xa00c75[_0xec31('0x1b')],_0x5a3259=_0x337d0d[_0xec31('0x1c')],_0x124eeb=_0x337d0d[_0xec31('0x1c')]+_0x337d0d[_0xec31('0x1d')],_0x4b5766;if(_0x124eeb>=_0x2bb506){_0x124eeb=_0x2bb506;_0x4b5766=0xc8;}else{_0x4b5766=0xce;}_0x5a039b[_0xec31('0x1e')](_0x4b5766);return _0x5a039b[_0xec31('0x1f')](_0xec31('0x20'),_0x5a3259+'-'+_0x124eeb+'/'+_0x2bb506)[_0xec31('0x1a')](_0xa00c75);}return null;};}function patchUpdates(_0x5da691){return function(_0x4344e9){try{jsonpatch['apply'](_0x4344e9,_0x5da691,!![]);}catch(_0x26bd99){return BPromise['reject'](_0x26bd99);}return _0x4344e9[_0xec31('0x21')]();};}function saveUpdates(_0x1fef3d,_0x5d561a){return function(_0x31e1b8){if(_0x31e1b8){return _0x31e1b8[_0xec31('0x22')](_0x1fef3d)['then'](function(_0x5e04dd){return _0x5e04dd;});}return null;};}function removeEntity(_0xbc509f,_0x2cb40e){return function(_0x18ce1f){if(_0x18ce1f){return _0x18ce1f[_0xec31('0x23')]()['then'](function(){var _0x5c2261=_0x18ce1f[_0xec31('0x24')]({'plain':!![]});var _0x4b7d88='ExtractedReports';return db[_0xec31('0x25')]['destroy']({'where':{'type':_0x4b7d88,'resourceId':_0x5c2261['id']}})[_0xec31('0x26')](function(){return _0x18ce1f;});})[_0xec31('0x26')](function(){_0xbc509f[_0xec31('0x1e')](0xcc)[_0xec31('0x19')]();});}};}function handleEntityNotFound(_0x1f43ff,_0x49452a){return function(_0x1be5fa){if(!_0x1be5fa){_0x1f43ff['sendStatus'](0x194);}return _0x1be5fa;};}function handleError(_0x24dba2,_0x158170){_0x158170=_0x158170||0x1f4;return function(_0xbac4b7){logger[_0xec31('0x27')](_0xbac4b7[_0xec31('0x28')]);if(_0xbac4b7[_0xec31('0x29')]){delete _0xbac4b7[_0xec31('0x29')];}_0x24dba2[_0xec31('0x1e')](_0x158170)[_0xec31('0x2a')](_0xbac4b7);};}exports[_0xec31('0x2b')]=function(_0xda5cfd,_0x567df2){var _0x383320={},_0x10a636={},_0x6be243={'count':0x0,'rows':[]};var _0x45f299=_['map'](db[_0xec31('0x2c')][_0xec31('0x2d')],function(_0x31b05b){return{'name':_0x31b05b[_0xec31('0x2e')],'type':_0x31b05b[_0xec31('0x2f')][_0xec31('0x30')]};});_0x10a636['model']=_[_0xec31('0x31')](_0x45f299,_0xec31('0x29'));_0x10a636[_0xec31('0x32')]=_[_0xec31('0x33')](_0xda5cfd[_0xec31('0x32')]);_0x10a636['filters']=_[_0xec31('0x34')](_0x10a636['model'],_0x10a636[_0xec31('0x32')]);_0x383320[_0xec31('0x35')]=_[_0xec31('0x34')](_0x10a636['model'],qs[_0xec31('0x36')](_0xda5cfd[_0xec31('0x32')][_0xec31('0x36')]));_0x383320[_0xec31('0x35')]=_0x383320[_0xec31('0x35')][_0xec31('0x37')]?_0x383320[_0xec31('0x35')]:_0x10a636['model'];if(!_0xda5cfd[_0xec31('0x32')][_0xec31('0x38')]('nolimit')){_0x383320[_0xec31('0x1d')]=qs[_0xec31('0x1d')](_0xda5cfd[_0xec31('0x32')]['limit']);_0x383320[_0xec31('0x1c')]=qs[_0xec31('0x1c')](_0xda5cfd[_0xec31('0x32')][_0xec31('0x1c')]);}_0x383320[_0xec31('0x39')]=qs[_0xec31('0x3a')](_0xda5cfd[_0xec31('0x32')][_0xec31('0x3a')]);_0x383320['where']=qs[_0xec31('0x3b')](_[_0xec31('0x3c')](_0xda5cfd[_0xec31('0x32')],_0x10a636[_0xec31('0x3b')]),_0x45f299);if(_0xda5cfd[_0xec31('0x32')]['filter']){_0x383320[_0xec31('0x3d')]=_[_0xec31('0x3e')](_0x383320['where'],{'$or':_['map'](_0x45f299,function(_0x44ad0a){if(_0x44ad0a['type']!==_0xec31('0x3f')){var _0x15f66a={};_0x15f66a[_0x44ad0a[_0xec31('0x29')]]={'$like':'%'+_0xda5cfd[_0xec31('0x32')][_0xec31('0x40')]+'%'};return _0x15f66a;}})});}_0x383320=_[_0xec31('0x3e')]({},_0x383320,_0xda5cfd[_0xec31('0x41')]);var _0x215852={'where':_0x383320[_0xec31('0x3d')]};return db[_0xec31('0x2c')][_0xec31('0x1b')](_0x215852)[_0xec31('0x26')](function(_0x9241dc){_0x6be243[_0xec31('0x1b')]=_0x9241dc;if(_0xda5cfd['query']['includeAll']){_0x383320[_0xec31('0x42')]=[{'all':!![]}];}return db['AnalyticExtractedReport'][_0xec31('0x43')](_0x383320);})['then'](function(_0x26b151){_0x6be243[_0xec31('0x44')]=_0x26b151;return _0x6be243;})[_0xec31('0x26')](respondWithFilteredResult(_0x567df2,_0x383320))[_0xec31('0x45')](handleError(_0x567df2,null));};exports[_0xec31('0x46')]=function(_0x5925aa,_0x39276b){var _0x596bb7={'raw':!![],'where':{'id':_0x5925aa[_0xec31('0x47')]['id']}},_0x1de7c4={};_0x1de7c4[_0xec31('0x48')]=_['keys'](db[_0xec31('0x2c')][_0xec31('0x2d')]);_0x1de7c4[_0xec31('0x32')]=_[_0xec31('0x33')](_0x5925aa[_0xec31('0x32')]);_0x1de7c4[_0xec31('0x3b')]=_[_0xec31('0x34')](_0x1de7c4['model'],_0x1de7c4[_0xec31('0x32')]);_0x596bb7[_0xec31('0x35')]=_[_0xec31('0x34')](_0x1de7c4['model'],qs[_0xec31('0x36')](_0x5925aa[_0xec31('0x32')][_0xec31('0x36')]));_0x596bb7[_0xec31('0x35')]=_0x596bb7['attributes'][_0xec31('0x37')]?_0x596bb7[_0xec31('0x35')]:_0x1de7c4[_0xec31('0x48')];if(_0x5925aa[_0xec31('0x32')][_0xec31('0x49')]){_0x596bb7[_0xec31('0x42')]=[{'all':!![]}];}_0x596bb7=_[_0xec31('0x3e')]({},_0x596bb7,_0x5925aa['options']);return db[_0xec31('0x2c')][_0xec31('0x4a')](_0x596bb7)[_0xec31('0x26')](handleEntityNotFound(_0x39276b,null))[_0xec31('0x26')](respondWithResult(_0x39276b,null))['catch'](handleError(_0x39276b,null));};exports[_0xec31('0x4b')]=function(_0xb4a642,_0x3f42d4){return db[_0xec31('0x2c')][_0xec31('0x4b')](_0xb4a642['body'],{})[_0xec31('0x26')](function(_0x3b9c9d){var _0x106df0=_0xb4a642[_0xec31('0x4c')][_0xec31('0x24')]({'plain':!![]});if(!_0x106df0)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x106df0[_0xec31('0x4d')]===_0xec31('0x4c')){var _0x4b97a3=_0x3b9c9d[_0xec31('0x24')]({'plain':!![]});var _0xcd34ad='ExtractedReports';return db[_0xec31('0x4e')][_0xec31('0x4a')]({'where':{'name':_0xcd34ad,'userProfileId':_0x106df0[_0xec31('0x4f')]},'raw':!![]})[_0xec31('0x26')](function(_0xf924d7){if(_0xf924d7&&_0xf924d7['autoAssociation']===0x0){return db['UserProfileResource'][_0xec31('0x4b')]({'name':_0x4b97a3['name'],'resourceId':_0x4b97a3['id'],'type':_0xf924d7[_0xec31('0x29')],'sectionId':_0xf924d7['id']},{})['then'](function(){return _0x3b9c9d;});}else{return _0x3b9c9d;}})[_0xec31('0x45')](function(_0x4a989e){logger[_0xec31('0x27')](_0xec31('0x50'),_0x4a989e);throw _0x4a989e;});}return _0x3b9c9d;})[_0xec31('0x26')](respondWithResult(_0x3f42d4,0xc9))[_0xec31('0x45')](handleError(_0x3f42d4,null));};exports[_0xec31('0x22')]=function(_0x15ee37,_0x1f9b1a){if(_0x15ee37['body']['id']){delete _0x15ee37['body']['id'];}return db[_0xec31('0x2c')]['find']({'where':{'id':_0x15ee37[_0xec31('0x47')]['id']}})[_0xec31('0x26')](handleEntityNotFound(_0x1f9b1a,null))[_0xec31('0x26')](saveUpdates(_0x15ee37[_0xec31('0x51')],null))[_0xec31('0x26')](respondWithResult(_0x1f9b1a,null))[_0xec31('0x45')](handleError(_0x1f9b1a,null));};exports['destroy']=function(_0x4c835c,_0x286501){return db['AnalyticExtractedReport'][_0xec31('0x4a')]({'where':{'id':_0x4c835c[_0xec31('0x47')]['id']}})[_0xec31('0x26')](handleEntityNotFound(_0x286501,null))['then'](removeEntity(_0x286501,null))[_0xec31('0x45')](handleError(_0x286501,null));};exports[_0xec31('0x52')]=function(_0x347cca,_0x45eddf,_0x18b918){return db['AnalyticExtractedReport']['find']({'where':{'id':_0x347cca[_0xec31('0x47')]['id']},'attributes':['name','basename',_0xec31('0x53'),_0xec31('0x54')],'raw':!![]})['then'](handleEntityNotFound(_0x45eddf,null))[_0xec31('0x26')](function(_0x3f2595){if(_0x3f2595){if(!fs[_0xec31('0x55')](path[_0xec31('0x56')](config['root'],'server/files/reports',_0x3f2595['savename']))){throw new db[(_0xec31('0x57'))][(_0xec31('0x58'))](_0xec31('0x59'));}if(_0x347cca['query'][_0xec31('0x5a')]){return _0x45eddf[_0xec31('0x18')](0xc8);}return _0x45eddf[_0xec31('0x52')](path[_0xec31('0x56')](config[_0xec31('0x5b')],'server/files/reports',_0x3f2595[_0xec31('0x53')]),util[_0xec31('0x5c')](_0xec31('0x5d'),_0x3f2595['basename']||_0x3f2595[_0xec31('0x29')],_0x3f2595['output']['toLowerCase']()));}})[_0xec31('0x45')](handleError(_0x45eddf,null));};