Built motion from commit (unavailable).|2.5.18
[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 _0x11c0=['../../config/environment','sendStatus','status','end','json','count','offset','limit','Content-Range','apply','reject','save','update','then','destroy','ExtractedReports','stack','name','send','index','rawAttributes','fieldName','type','key','model','map','query','keys','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','filters','pick','filter','merge','VIRTUAL','where','AnalyticExtractedReport','includeAll','include','findAll','rows','catch','show','params','find','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','download','basename','savename','output','existsSync','join','server/files/reports','ValidationError','exists','root','%s.%s','toLowerCase','html-pdf','eml-format','fast-json-patch','request-promise','moment','bluebird','mustache','to-csv','ejs','lodash','jsforce','querystring','../../components/auth/service','../../config/license/hardware','api'];(function(_0xda464c,_0x26e47d){var _0x19e222=function(_0x1ec605){while(--_0x1ec605){_0xda464c['push'](_0xda464c['shift']());}};_0x19e222(++_0x26e47d);}(_0x11c0,0x155));var _0x011c=function(_0x14a807,_0x55edcf){_0x14a807=_0x14a807-0x0;var _0x41a11d=_0x11c0[_0x14a807];return _0x41a11d;};'use strict';var pdf=require(_0x011c('0x0'));var emlformat=require(_0x011c('0x1'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x011c('0x2'));var rp=require(_0x011c('0x3'));var moment=require(_0x011c('0x4'));var BPromise=require(_0x011c('0x5'));var Mustache=require(_0x011c('0x6'));var util=require('util');var path=require('path');var sox=require('sox');var csv=require(_0x011c('0x7'));var ejs=require(_0x011c('0x8'));var fs=require('fs');var _=require(_0x011c('0x9'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x011c('0xa'));var deskjs=require('desk.js');var toCsv=require(_0x011c('0x7'));var querystring=require(_0x011c('0xb'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x011c('0xc'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x011c('0xd'));var logger=require('../../config/logger')(_0x011c('0xe'));var utils=require('../../config/utils');var config=require(_0x011c('0xf'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x2d7de1,_0x17c22d){_0x17c22d=_0x17c22d||0xcc;return function(_0x556535){if(_0x556535){return _0x2d7de1[_0x011c('0x10')](_0x17c22d);}return _0x2d7de1[_0x011c('0x11')](_0x17c22d)[_0x011c('0x12')]();};}function respondWithResult(_0x4ac839,_0x4b95a2){_0x4b95a2=_0x4b95a2||0xc8;return function(_0xaf6746){if(_0xaf6746){return _0x4ac839['status'](_0x4b95a2)[_0x011c('0x13')](_0xaf6746);}};}function respondWithFilteredResult(_0x4eb68b,_0x39de51){return function(_0x18ed8f){if(_0x18ed8f){var _0x2fda01=_0x18ed8f[_0x011c('0x14')],_0x424f8d=_0x39de51['offset'],_0x1a93c7=_0x39de51[_0x011c('0x15')]+_0x39de51[_0x011c('0x16')],_0x1e7965;if(_0x1a93c7>=_0x2fda01){_0x1a93c7=_0x2fda01;_0x1e7965=0xc8;}else{_0x1e7965=0xce;}_0x4eb68b[_0x011c('0x11')](_0x1e7965);return _0x4eb68b['set'](_0x011c('0x17'),_0x424f8d+'-'+_0x1a93c7+'/'+_0x2fda01)['json'](_0x18ed8f);}return null;};}function patchUpdates(_0x30ef28){return function(_0x40c431){try{jsonpatch[_0x011c('0x18')](_0x40c431,_0x30ef28,!![]);}catch(_0x29313f){return BPromise[_0x011c('0x19')](_0x29313f);}return _0x40c431[_0x011c('0x1a')]();};}function saveUpdates(_0x5132ff,_0x35b980){return function(_0x220e64){if(_0x220e64){return _0x220e64[_0x011c('0x1b')](_0x5132ff)[_0x011c('0x1c')](function(_0x1a756d){return _0x1a756d;});}return null;};}function removeEntity(_0x3df4cc,_0x199831){return function(_0x344960){if(_0x344960){return _0x344960[_0x011c('0x1d')]()[_0x011c('0x1c')](function(){var _0x287467=_0x344960['get']({'plain':!![]});var _0xeca135=_0x011c('0x1e');return db['UserProfileResource'][_0x011c('0x1d')]({'where':{'type':_0xeca135,'resourceId':_0x287467['id']}})[_0x011c('0x1c')](function(){return _0x344960;});})[_0x011c('0x1c')](function(){_0x3df4cc['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x4883d8,_0x3e3fba){return function(_0x187e47){if(!_0x187e47){_0x4883d8[_0x011c('0x10')](0x194);}return _0x187e47;};}function handleError(_0x48bdbd,_0x26b36a){_0x26b36a=_0x26b36a||0x1f4;return function(_0x357538){logger['error'](_0x357538[_0x011c('0x1f')]);if(_0x357538[_0x011c('0x20')]){delete _0x357538['name'];}_0x48bdbd[_0x011c('0x11')](_0x26b36a)[_0x011c('0x21')](_0x357538);};}exports[_0x011c('0x22')]=function(_0x3dee39,_0x3f9566){var _0xbd3e37={},_0xd33402={},_0xcf3ae0={'count':0x0,'rows':[]};var _0x443b9d=_['map'](db['AnalyticExtractedReport'][_0x011c('0x23')],function(_0x3aa3b8){return{'name':_0x3aa3b8[_0x011c('0x24')],'type':_0x3aa3b8[_0x011c('0x25')][_0x011c('0x26')]};});_0xd33402[_0x011c('0x27')]=_[_0x011c('0x28')](_0x443b9d,'name');_0xd33402[_0x011c('0x29')]=_[_0x011c('0x2a')](_0x3dee39[_0x011c('0x29')]);_0xd33402['filters']=_['intersection'](_0xd33402[_0x011c('0x27')],_0xd33402[_0x011c('0x29')]);_0xbd3e37[_0x011c('0x2b')]=_[_0x011c('0x2c')](_0xd33402[_0x011c('0x27')],qs[_0x011c('0x2d')](_0x3dee39[_0x011c('0x29')]['fields']));_0xbd3e37[_0x011c('0x2b')]=_0xbd3e37[_0x011c('0x2b')][_0x011c('0x2e')]?_0xbd3e37[_0x011c('0x2b')]:_0xd33402[_0x011c('0x27')];if(!_0x3dee39['query'][_0x011c('0x2f')](_0x011c('0x30'))){_0xbd3e37['limit']=qs[_0x011c('0x16')](_0x3dee39[_0x011c('0x29')][_0x011c('0x16')]);_0xbd3e37[_0x011c('0x15')]=qs[_0x011c('0x15')](_0x3dee39[_0x011c('0x29')][_0x011c('0x15')]);}_0xbd3e37[_0x011c('0x31')]=qs['sort'](_0x3dee39['query'][_0x011c('0x32')]);_0xbd3e37['where']=qs[_0x011c('0x33')](_[_0x011c('0x34')](_0x3dee39['query'],_0xd33402[_0x011c('0x33')]),_0x443b9d);if(_0x3dee39[_0x011c('0x29')][_0x011c('0x35')]){_0xbd3e37['where']=_[_0x011c('0x36')](_0xbd3e37['where'],{'$or':_[_0x011c('0x28')](_0x443b9d,function(_0x3330c3){if(_0x3330c3[_0x011c('0x25')]!==_0x011c('0x37')){var _0x51707f={};_0x51707f[_0x3330c3[_0x011c('0x20')]]={'$like':'%'+_0x3dee39[_0x011c('0x29')][_0x011c('0x35')]+'%'};return _0x51707f;}})});}_0xbd3e37=_[_0x011c('0x36')]({},_0xbd3e37,_0x3dee39['options']);var _0x4182ea={'where':_0xbd3e37[_0x011c('0x38')]};return db[_0x011c('0x39')]['count'](_0x4182ea)[_0x011c('0x1c')](function(_0x57a569){_0xcf3ae0['count']=_0x57a569;if(_0x3dee39[_0x011c('0x29')][_0x011c('0x3a')]){_0xbd3e37[_0x011c('0x3b')]=[{'all':!![]}];}return db[_0x011c('0x39')][_0x011c('0x3c')](_0xbd3e37);})[_0x011c('0x1c')](function(_0x2e67ff){_0xcf3ae0[_0x011c('0x3d')]=_0x2e67ff;return _0xcf3ae0;})[_0x011c('0x1c')](respondWithFilteredResult(_0x3f9566,_0xbd3e37))[_0x011c('0x3e')](handleError(_0x3f9566,null));};exports[_0x011c('0x3f')]=function(_0xfde650,_0x309059){var _0x20e45a={'raw':!![],'where':{'id':_0xfde650[_0x011c('0x40')]['id']}},_0x31598a={};_0x31598a['model']=_['keys'](db[_0x011c('0x39')][_0x011c('0x23')]);_0x31598a[_0x011c('0x29')]=_[_0x011c('0x2a')](_0xfde650[_0x011c('0x29')]);_0x31598a[_0x011c('0x33')]=_[_0x011c('0x2c')](_0x31598a[_0x011c('0x27')],_0x31598a[_0x011c('0x29')]);_0x20e45a[_0x011c('0x2b')]=_['intersection'](_0x31598a[_0x011c('0x27')],qs[_0x011c('0x2d')](_0xfde650['query'][_0x011c('0x2d')]));_0x20e45a[_0x011c('0x2b')]=_0x20e45a[_0x011c('0x2b')]['length']?_0x20e45a[_0x011c('0x2b')]:_0x31598a['model'];if(_0xfde650['query']['includeAll']){_0x20e45a[_0x011c('0x3b')]=[{'all':!![]}];}_0x20e45a=_[_0x011c('0x36')]({},_0x20e45a,_0xfde650['options']);return db[_0x011c('0x39')][_0x011c('0x41')](_0x20e45a)['then'](handleEntityNotFound(_0x309059,null))[_0x011c('0x1c')](respondWithResult(_0x309059,null))[_0x011c('0x3e')](handleError(_0x309059,null));};exports[_0x011c('0x42')]=function(_0x56107e,_0x134a8b){return db[_0x011c('0x39')][_0x011c('0x42')](_0x56107e[_0x011c('0x43')],{})[_0x011c('0x1c')](function(_0x8b7427){var _0x78e9f7=_0x56107e[_0x011c('0x44')][_0x011c('0x45')]({'plain':!![]});if(!_0x78e9f7)throw new Error(_0x011c('0x46'));if(_0x78e9f7[_0x011c('0x47')]==='user'){var _0x214bb2=_0x8b7427[_0x011c('0x45')]({'plain':!![]});var _0x4cca8f=_0x011c('0x1e');return db[_0x011c('0x48')][_0x011c('0x41')]({'where':{'name':_0x4cca8f,'userProfileId':_0x78e9f7[_0x011c('0x49')]},'raw':!![]})[_0x011c('0x1c')](function(_0x48742a){if(_0x48742a&&_0x48742a[_0x011c('0x4a')]===0x0){return db[_0x011c('0x4b')]['create']({'name':_0x214bb2[_0x011c('0x20')],'resourceId':_0x214bb2['id'],'type':_0x48742a['name'],'sectionId':_0x48742a['id']},{})['then'](function(){return _0x8b7427;});}else{return _0x8b7427;}})[_0x011c('0x3e')](function(_0x4977d2){logger['error'](_0x011c('0x4c'),_0x4977d2);throw _0x4977d2;});}return _0x8b7427;})['then'](respondWithResult(_0x134a8b,0xc9))[_0x011c('0x3e')](handleError(_0x134a8b,null));};exports[_0x011c('0x1b')]=function(_0x380c1c,_0x330867){if(_0x380c1c[_0x011c('0x43')]['id']){delete _0x380c1c['body']['id'];}return db[_0x011c('0x39')]['find']({'where':{'id':_0x380c1c[_0x011c('0x40')]['id']}})['then'](handleEntityNotFound(_0x330867,null))[_0x011c('0x1c')](saveUpdates(_0x380c1c[_0x011c('0x43')],null))[_0x011c('0x1c')](respondWithResult(_0x330867,null))[_0x011c('0x3e')](handleError(_0x330867,null));};exports[_0x011c('0x1d')]=function(_0x1094c7,_0x293d67){return db[_0x011c('0x39')][_0x011c('0x41')]({'where':{'id':_0x1094c7['params']['id']}})['then'](handleEntityNotFound(_0x293d67,null))[_0x011c('0x1c')](removeEntity(_0x293d67,null))[_0x011c('0x3e')](handleError(_0x293d67,null));};exports[_0x011c('0x4d')]=function(_0x510660,_0x518749,_0x5705b5){return db[_0x011c('0x39')]['find']({'where':{'id':_0x510660[_0x011c('0x40')]['id']},'attributes':['name',_0x011c('0x4e'),_0x011c('0x4f'),_0x011c('0x50')],'raw':!![]})[_0x011c('0x1c')](handleEntityNotFound(_0x518749,null))[_0x011c('0x1c')](function(_0x45b341){if(_0x45b341){if(!fs[_0x011c('0x51')](path[_0x011c('0x52')](config['root'],_0x011c('0x53'),_0x45b341[_0x011c('0x4f')]))){throw new db['Sequelize'][(_0x011c('0x54'))]('Report\x20not\x20found\x20or\x20empty');}if(_0x510660[_0x011c('0x29')][_0x011c('0x55')]){return _0x518749[_0x011c('0x10')](0xc8);}return _0x518749['download'](path[_0x011c('0x52')](config[_0x011c('0x56')],_0x011c('0x53'),_0x45b341[_0x011c('0x4f')]),util['format'](_0x011c('0x57'),_0x45b341['basename']||_0x45b341[_0x011c('0x20')],_0x45b341[_0x011c('0x50')][_0x011c('0x58')]()));}})[_0x011c('0x3e')](handleError(_0x518749,null));};