Built motion from commit (unavailable).|2.5.0
[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 _0x34e7=['path','sox','squel','crypto','desk.js','to-csv','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','sendStatus','json','offset','status','set','Content-Range','reject','save','update','then','destroy','get','end','error','stack','name','send','index','map','rawAttributes','fieldName','type','key','query','keys','filters','attributes','fields','length','hasOwnProperty','limit','order','sort','filter','where','VIRTUAL','merge','options','AnalyticExtractedReport','count','includeAll','include','findAll','rows','catch','show','params','model','intersection','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','ExtractedReports','UserProfileSection','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','find','download','basename','savename','output','existsSync','root','server/files/reports','Sequelize','ValidationError','Report\x20not\x20found\x20or\x20empty','join','format','%s.%s','toLowerCase','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util'];(function(_0x461bca,_0x524ccd){var _0x5f4579=function(_0x508ff6){while(--_0x508ff6){_0x461bca['push'](_0x461bca['shift']());}};_0x5f4579(++_0x524ccd);}(_0x34e7,0x120));var _0x734e=function(_0x15b539,_0x4ece18){_0x15b539=_0x15b539-0x0;var _0x2b6dbe=_0x34e7[_0x15b539];return _0x2b6dbe;};'use strict';var pdf=require(_0x734e('0x0'));var emlformat=require(_0x734e('0x1'));var rimraf=require(_0x734e('0x2'));var zipdir=require(_0x734e('0x3'));var jsonpatch=require(_0x734e('0x4'));var rp=require(_0x734e('0x5'));var moment=require('moment');var BPromise=require(_0x734e('0x6'));var Mustache=require(_0x734e('0x7'));var util=require(_0x734e('0x8'));var path=require(_0x734e('0x9'));var sox=require(_0x734e('0xa'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0x734e('0xb'));var crypto=require(_0x734e('0xc'));var jsforce=require('jsforce');var deskjs=require(_0x734e('0xd'));var toCsv=require(_0x734e('0xe'));var querystring=require('querystring');var Papa=require(_0x734e('0xf'));var Redis=require(_0x734e('0x10'));var authService=require(_0x734e('0x11'));var qs=require(_0x734e('0x12'));var as=require(_0x734e('0x13'));var hardwareService=require(_0x734e('0x14'));var logger=require(_0x734e('0x15'))(_0x734e('0x16'));var utils=require(_0x734e('0x17'));var config=require(_0x734e('0x18'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x2edd16,_0x41a0ec){_0x41a0ec=_0x41a0ec||0xcc;return function(_0x47a6ec){if(_0x47a6ec){return _0x2edd16[_0x734e('0x19')](_0x41a0ec);}return _0x2edd16['status'](_0x41a0ec)['end']();};}function respondWithResult(_0x2bc09c,_0x32de1d){_0x32de1d=_0x32de1d||0xc8;return function(_0x199396){if(_0x199396){return _0x2bc09c['status'](_0x32de1d)[_0x734e('0x1a')](_0x199396);}};}function respondWithFilteredResult(_0x30378b,_0x1c0255){return function(_0x23b83c){if(_0x23b83c){var _0x36ec06=_0x23b83c['count'],_0x41e1a4=_0x1c0255[_0x734e('0x1b')],_0x37a592=_0x1c0255['offset']+_0x1c0255['limit'],_0x395ebf;if(_0x37a592>=_0x36ec06){_0x37a592=_0x36ec06;_0x395ebf=0xc8;}else{_0x395ebf=0xce;}_0x30378b[_0x734e('0x1c')](_0x395ebf);return _0x30378b[_0x734e('0x1d')](_0x734e('0x1e'),_0x41e1a4+'-'+_0x37a592+'/'+_0x36ec06)['json'](_0x23b83c);}return null;};}function patchUpdates(_0x2fca3b){return function(_0x23f6b3){try{jsonpatch['apply'](_0x23f6b3,_0x2fca3b,!![]);}catch(_0x238d82){return BPromise[_0x734e('0x1f')](_0x238d82);}return _0x23f6b3[_0x734e('0x20')]();};}function saveUpdates(_0x2378c0,_0x2c59bd){return function(_0x1edfc0){if(_0x1edfc0){return _0x1edfc0[_0x734e('0x21')](_0x2378c0)[_0x734e('0x22')](function(_0x2c4465){return _0x2c4465;});}return null;};}function removeEntity(_0x221e5f,_0x2cd19c){return function(_0xfbb12){if(_0xfbb12){return _0xfbb12[_0x734e('0x23')]()[_0x734e('0x22')](function(){var _0x4edfb9=_0xfbb12[_0x734e('0x24')]({'plain':!![]});var _0x3a31f6='ExtractedReports';return db['UserProfileResource'][_0x734e('0x23')]({'where':{'type':_0x3a31f6,'resourceId':_0x4edfb9['id']}})[_0x734e('0x22')](function(){return _0xfbb12;});})[_0x734e('0x22')](function(){_0x221e5f[_0x734e('0x1c')](0xcc)[_0x734e('0x25')]();});}};}function handleEntityNotFound(_0x231799,_0x1aa9d7){return function(_0x59f395){if(!_0x59f395){_0x231799[_0x734e('0x19')](0x194);}return _0x59f395;};}function handleError(_0x1199c2,_0x46dd9f){_0x46dd9f=_0x46dd9f||0x1f4;return function(_0x20f1e7){logger[_0x734e('0x26')](_0x20f1e7[_0x734e('0x27')]);if(_0x20f1e7[_0x734e('0x28')]){delete _0x20f1e7['name'];}_0x1199c2['status'](_0x46dd9f)[_0x734e('0x29')](_0x20f1e7);};}exports[_0x734e('0x2a')]=function(_0x4e43d1,_0xaae8bd){var _0x54ee94={},_0x234b1b={},_0x5ab522={'count':0x0,'rows':[]};var _0x2e1b0e=_[_0x734e('0x2b')](db['AnalyticExtractedReport'][_0x734e('0x2c')],function(_0x4573d8){return{'name':_0x4573d8[_0x734e('0x2d')],'type':_0x4573d8[_0x734e('0x2e')][_0x734e('0x2f')]};});_0x234b1b['model']=_[_0x734e('0x2b')](_0x2e1b0e,_0x734e('0x28'));_0x234b1b[_0x734e('0x30')]=_[_0x734e('0x31')](_0x4e43d1[_0x734e('0x30')]);_0x234b1b[_0x734e('0x32')]=_['intersection'](_0x234b1b['model'],_0x234b1b[_0x734e('0x30')]);_0x54ee94[_0x734e('0x33')]=_['intersection'](_0x234b1b['model'],qs[_0x734e('0x34')](_0x4e43d1['query']['fields']));_0x54ee94['attributes']=_0x54ee94[_0x734e('0x33')][_0x734e('0x35')]?_0x54ee94[_0x734e('0x33')]:_0x234b1b['model'];if(!_0x4e43d1[_0x734e('0x30')][_0x734e('0x36')]('nolimit')){_0x54ee94[_0x734e('0x37')]=qs[_0x734e('0x37')](_0x4e43d1[_0x734e('0x30')][_0x734e('0x37')]);_0x54ee94['offset']=qs[_0x734e('0x1b')](_0x4e43d1[_0x734e('0x30')]['offset']);}_0x54ee94[_0x734e('0x38')]=qs['sort'](_0x4e43d1[_0x734e('0x30')][_0x734e('0x39')]);_0x54ee94['where']=qs[_0x734e('0x32')](_['pick'](_0x4e43d1[_0x734e('0x30')],_0x234b1b[_0x734e('0x32')]));if(_0x4e43d1[_0x734e('0x30')][_0x734e('0x3a')]){_0x54ee94[_0x734e('0x3b')]=_['merge'](_0x54ee94[_0x734e('0x3b')],{'$or':_['map'](_0x2e1b0e,function(_0x5d0c5b){if(_0x5d0c5b[_0x734e('0x2e')]!==_0x734e('0x3c')){var _0x4a583b={};_0x4a583b[_0x5d0c5b['name']]={'$like':'%'+_0x4e43d1[_0x734e('0x30')]['filter']+'%'};return _0x4a583b;}})});}_0x54ee94=_[_0x734e('0x3d')]({},_0x54ee94,_0x4e43d1[_0x734e('0x3e')]);var _0x459de4={'where':_0x54ee94[_0x734e('0x3b')]};return db[_0x734e('0x3f')]['count'](_0x459de4)[_0x734e('0x22')](function(_0x485ab){_0x5ab522[_0x734e('0x40')]=_0x485ab;if(_0x4e43d1[_0x734e('0x30')][_0x734e('0x41')]){_0x54ee94[_0x734e('0x42')]=[{'all':!![]}];}return db[_0x734e('0x3f')][_0x734e('0x43')](_0x54ee94);})[_0x734e('0x22')](function(_0x388d87){_0x5ab522[_0x734e('0x44')]=_0x388d87;return _0x5ab522;})['then'](respondWithFilteredResult(_0xaae8bd,_0x54ee94))[_0x734e('0x45')](handleError(_0xaae8bd,null));};exports[_0x734e('0x46')]=function(_0x17c6ae,_0x4246ee){var _0x4d090c={'raw':!![],'where':{'id':_0x17c6ae[_0x734e('0x47')]['id']}},_0x276218={};_0x276218[_0x734e('0x48')]=_[_0x734e('0x31')](db[_0x734e('0x3f')][_0x734e('0x2c')]);_0x276218[_0x734e('0x30')]=_[_0x734e('0x31')](_0x17c6ae[_0x734e('0x30')]);_0x276218[_0x734e('0x32')]=_[_0x734e('0x49')](_0x276218[_0x734e('0x48')],_0x276218['query']);_0x4d090c[_0x734e('0x33')]=_[_0x734e('0x49')](_0x276218[_0x734e('0x48')],qs[_0x734e('0x34')](_0x17c6ae[_0x734e('0x30')][_0x734e('0x34')]));_0x4d090c[_0x734e('0x33')]=_0x4d090c['attributes'][_0x734e('0x35')]?_0x4d090c[_0x734e('0x33')]:_0x276218[_0x734e('0x48')];if(_0x17c6ae[_0x734e('0x30')]['includeAll']){_0x4d090c[_0x734e('0x42')]=[{'all':!![]}];}_0x4d090c=_[_0x734e('0x3d')]({},_0x4d090c,_0x17c6ae[_0x734e('0x3e')]);return db['AnalyticExtractedReport']['find'](_0x4d090c)['then'](handleEntityNotFound(_0x4246ee,null))[_0x734e('0x22')](respondWithResult(_0x4246ee,null))[_0x734e('0x45')](handleError(_0x4246ee,null));};exports[_0x734e('0x4a')]=function(_0x5cb2de,_0x4f9ad5){return db[_0x734e('0x3f')][_0x734e('0x4a')](_0x5cb2de['body'],{})[_0x734e('0x22')](function(_0x2643d4){var _0x2a2ddb=_0x5cb2de[_0x734e('0x4b')][_0x734e('0x24')]({'plain':!![]});if(!_0x2a2ddb)throw new Error(_0x734e('0x4c'));if(_0x2a2ddb[_0x734e('0x4d')]==='user'){var _0x239632=_0x2643d4['get']({'plain':!![]});var _0x4d161e=_0x734e('0x4e');return db[_0x734e('0x4f')]['find']({'where':{'name':_0x4d161e,'userProfileId':_0x2a2ddb['userProfileId']},'raw':!![]})[_0x734e('0x22')](function(_0x137a9b){if(_0x137a9b&&_0x137a9b[_0x734e('0x50')]===0x0){return db[_0x734e('0x51')][_0x734e('0x4a')]({'name':_0x239632[_0x734e('0x28')],'resourceId':_0x239632['id'],'type':_0x137a9b['name'],'sectionId':_0x137a9b['id']},{})[_0x734e('0x22')](function(){return _0x2643d4;});}else{return _0x2643d4;}})[_0x734e('0x45')](function(_0x2b1598){logger[_0x734e('0x26')](_0x734e('0x52'),_0x2b1598);throw _0x2b1598;});}return _0x2643d4;})[_0x734e('0x22')](respondWithResult(_0x4f9ad5,0xc9))[_0x734e('0x45')](handleError(_0x4f9ad5,null));};exports['update']=function(_0x4fdb47,_0x29c932){if(_0x4fdb47[_0x734e('0x53')]['id']){delete _0x4fdb47['body']['id'];}return db['AnalyticExtractedReport']['find']({'where':{'id':_0x4fdb47[_0x734e('0x47')]['id']}})[_0x734e('0x22')](handleEntityNotFound(_0x29c932,null))[_0x734e('0x22')](saveUpdates(_0x4fdb47[_0x734e('0x53')],null))[_0x734e('0x22')](respondWithResult(_0x29c932,null))[_0x734e('0x45')](handleError(_0x29c932,null));};exports[_0x734e('0x23')]=function(_0x417faa,_0x25713b){return db[_0x734e('0x3f')][_0x734e('0x54')]({'where':{'id':_0x417faa[_0x734e('0x47')]['id']}})[_0x734e('0x22')](handleEntityNotFound(_0x25713b,null))[_0x734e('0x22')](removeEntity(_0x25713b,null))[_0x734e('0x45')](handleError(_0x25713b,null));};exports[_0x734e('0x55')]=function(_0x380735,_0x36664a,_0x4d97a3){return db['AnalyticExtractedReport'][_0x734e('0x54')]({'where':{'id':_0x380735[_0x734e('0x47')]['id']},'attributes':['name',_0x734e('0x56'),_0x734e('0x57'),_0x734e('0x58')],'raw':!![]})[_0x734e('0x22')](handleEntityNotFound(_0x36664a,null))[_0x734e('0x22')](function(_0x34d600){if(_0x34d600){if(!fs[_0x734e('0x59')](path['join'](config[_0x734e('0x5a')],_0x734e('0x5b'),_0x34d600[_0x734e('0x57')]))){throw new db[(_0x734e('0x5c'))][(_0x734e('0x5d'))](_0x734e('0x5e'));}if(_0x380735[_0x734e('0x30')]['exists']){return _0x36664a[_0x734e('0x19')](0xc8);}return _0x36664a[_0x734e('0x55')](path[_0x734e('0x5f')](config[_0x734e('0x5a')],_0x734e('0x5b'),_0x34d600[_0x734e('0x57')]),util[_0x734e('0x60')](_0x734e('0x61'),_0x34d600[_0x734e('0x56')]||_0x34d600[_0x734e('0x28')],_0x34d600[_0x734e('0x58')][_0x734e('0x62')]()));}})[_0x734e('0x45')](handleError(_0x36664a,null));};