Built motion from commit (unavailable).|2.5.10
[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 _0x1b3a=['nolimit','order','sort','where','pick','filters','filter','merge','type','VIRTUAL','options','includeAll','rows','show','include','find','create','body','user','get','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','catch','download','basename','output','join','root','server/files/reports','ValidationError','Report\x20not\x20found\x20or\x20empty','exists','format','%s.%s','html-pdf','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','count','offset','limit','set','Content-Range','json','apply','reject','update','destroy','then','ExtractedReports','UserProfileResource','error','stack','name','index','map','AnalyticExtractedReport','rawAttributes','model','query','keys','intersection','attributes','fields','length'];(function(_0x738d9b,_0x56298d){var _0x12d4e5=function(_0x1c285b){while(--_0x1c285b){_0x738d9b['push'](_0x738d9b['shift']());}};_0x12d4e5(++_0x56298d);}(_0x1b3a,0x1f2));var _0xa1b3=function(_0x459aa3,_0x445824){_0x459aa3=_0x459aa3-0x0;var _0x31105c=_0x1b3a[_0x459aa3];return _0x31105c;};'use strict';var pdf=require(_0xa1b3('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xa1b3('0x1'));var zipdir=require(_0xa1b3('0x2'));var jsonpatch=require(_0xa1b3('0x3'));var rp=require(_0xa1b3('0x4'));var moment=require('moment');var BPromise=require(_0xa1b3('0x5'));var Mustache=require('mustache');var util=require(_0xa1b3('0x6'));var path=require(_0xa1b3('0x7'));var sox=require(_0xa1b3('0x8'));var csv=require(_0xa1b3('0x9'));var ejs=require(_0xa1b3('0xa'));var fs=require('fs');var _=require(_0xa1b3('0xb'));var squel=require(_0xa1b3('0xc'));var crypto=require(_0xa1b3('0xd'));var jsforce=require(_0xa1b3('0xe'));var deskjs=require('desk.js');var toCsv=require(_0xa1b3('0x9'));var querystring=require('querystring');var Papa=require(_0xa1b3('0xf'));var Redis=require(_0xa1b3('0x10'));var authService=require(_0xa1b3('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0xa1b3('0x12'));var hardwareService=require(_0xa1b3('0x13'));var logger=require(_0xa1b3('0x14'))('api');var utils=require('../../config/utils');var config=require(_0xa1b3('0x15'));var licenseUtil=require(_0xa1b3('0x16'));var db=require(_0xa1b3('0x17'))['db'];function respondWithStatusCode(_0xc2edd1,_0x48db7c){_0x48db7c=_0x48db7c||0xcc;return function(_0xb487e6){if(_0xb487e6){return _0xc2edd1[_0xa1b3('0x18')](_0x48db7c);}return _0xc2edd1[_0xa1b3('0x19')](_0x48db7c)[_0xa1b3('0x1a')]();};}function respondWithResult(_0x1bb192,_0x1920fa){_0x1920fa=_0x1920fa||0xc8;return function(_0x110c04){if(_0x110c04){return _0x1bb192[_0xa1b3('0x19')](_0x1920fa)['json'](_0x110c04);}};}function respondWithFilteredResult(_0x5133f8,_0x1f0684){return function(_0x3d24e8){if(_0x3d24e8){var _0x2b2422=_0x3d24e8[_0xa1b3('0x1b')],_0x4cea26=_0x1f0684[_0xa1b3('0x1c')],_0x469b0d=_0x1f0684[_0xa1b3('0x1c')]+_0x1f0684[_0xa1b3('0x1d')],_0x23c58b;if(_0x469b0d>=_0x2b2422){_0x469b0d=_0x2b2422;_0x23c58b=0xc8;}else{_0x23c58b=0xce;}_0x5133f8[_0xa1b3('0x19')](_0x23c58b);return _0x5133f8[_0xa1b3('0x1e')](_0xa1b3('0x1f'),_0x4cea26+'-'+_0x469b0d+'/'+_0x2b2422)[_0xa1b3('0x20')](_0x3d24e8);}return null;};}function patchUpdates(_0x22d6ad){return function(_0x2899aa){try{jsonpatch[_0xa1b3('0x21')](_0x2899aa,_0x22d6ad,!![]);}catch(_0x3d5708){return BPromise[_0xa1b3('0x22')](_0x3d5708);}return _0x2899aa['save']();};}function saveUpdates(_0x290fcc,_0x51e667){return function(_0x26fc16){if(_0x26fc16){return _0x26fc16[_0xa1b3('0x23')](_0x290fcc)['then'](function(_0x34b601){return _0x34b601;});}return null;};}function removeEntity(_0x573cab,_0x4ffa1e){return function(_0x4204bf){if(_0x4204bf){return _0x4204bf[_0xa1b3('0x24')]()[_0xa1b3('0x25')](function(){var _0x3dcdc4=_0x4204bf['get']({'plain':!![]});var _0x4e8ca5=_0xa1b3('0x26');return db[_0xa1b3('0x27')][_0xa1b3('0x24')]({'where':{'type':_0x4e8ca5,'resourceId':_0x3dcdc4['id']}})['then'](function(){return _0x4204bf;});})[_0xa1b3('0x25')](function(){_0x573cab['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x12f16e,_0x8adc5){return function(_0x49b1fc){if(!_0x49b1fc){_0x12f16e[_0xa1b3('0x18')](0x194);}return _0x49b1fc;};}function handleError(_0x482cf3,_0x1eb10c){_0x1eb10c=_0x1eb10c||0x1f4;return function(_0x215b21){logger[_0xa1b3('0x28')](_0x215b21[_0xa1b3('0x29')]);if(_0x215b21['name']){delete _0x215b21[_0xa1b3('0x2a')];}_0x482cf3[_0xa1b3('0x19')](_0x1eb10c)['send'](_0x215b21);};}exports[_0xa1b3('0x2b')]=function(_0xaa58b7,_0x471721){var _0x342cff={},_0x5e0e71={},_0x926131={'count':0x0,'rows':[]};var _0x45c16a=_[_0xa1b3('0x2c')](db[_0xa1b3('0x2d')][_0xa1b3('0x2e')],function(_0x481373){return{'name':_0x481373['fieldName'],'type':_0x481373['type']['key']};});_0x5e0e71[_0xa1b3('0x2f')]=_['map'](_0x45c16a,_0xa1b3('0x2a'));_0x5e0e71[_0xa1b3('0x30')]=_[_0xa1b3('0x31')](_0xaa58b7['query']);_0x5e0e71['filters']=_[_0xa1b3('0x32')](_0x5e0e71[_0xa1b3('0x2f')],_0x5e0e71['query']);_0x342cff[_0xa1b3('0x33')]=_[_0xa1b3('0x32')](_0x5e0e71[_0xa1b3('0x2f')],qs[_0xa1b3('0x34')](_0xaa58b7[_0xa1b3('0x30')]['fields']));_0x342cff['attributes']=_0x342cff['attributes'][_0xa1b3('0x35')]?_0x342cff[_0xa1b3('0x33')]:_0x5e0e71[_0xa1b3('0x2f')];if(!_0xaa58b7['query']['hasOwnProperty'](_0xa1b3('0x36'))){_0x342cff[_0xa1b3('0x1d')]=qs[_0xa1b3('0x1d')](_0xaa58b7[_0xa1b3('0x30')][_0xa1b3('0x1d')]);_0x342cff[_0xa1b3('0x1c')]=qs[_0xa1b3('0x1c')](_0xaa58b7[_0xa1b3('0x30')][_0xa1b3('0x1c')]);}_0x342cff[_0xa1b3('0x37')]=qs[_0xa1b3('0x38')](_0xaa58b7[_0xa1b3('0x30')][_0xa1b3('0x38')]);_0x342cff[_0xa1b3('0x39')]=qs['filters'](_[_0xa1b3('0x3a')](_0xaa58b7['query'],_0x5e0e71[_0xa1b3('0x3b')]),_0x45c16a);if(_0xaa58b7[_0xa1b3('0x30')][_0xa1b3('0x3c')]){_0x342cff[_0xa1b3('0x39')]=_[_0xa1b3('0x3d')](_0x342cff[_0xa1b3('0x39')],{'$or':_[_0xa1b3('0x2c')](_0x45c16a,function(_0x533c8a){if(_0x533c8a[_0xa1b3('0x3e')]!==_0xa1b3('0x3f')){var _0x1e6611={};_0x1e6611[_0x533c8a[_0xa1b3('0x2a')]]={'$like':'%'+_0xaa58b7[_0xa1b3('0x30')][_0xa1b3('0x3c')]+'%'};return _0x1e6611;}})});}_0x342cff=_[_0xa1b3('0x3d')]({},_0x342cff,_0xaa58b7[_0xa1b3('0x40')]);var _0x31262f={'where':_0x342cff[_0xa1b3('0x39')]};return db[_0xa1b3('0x2d')][_0xa1b3('0x1b')](_0x31262f)['then'](function(_0x5f2e1f){_0x926131[_0xa1b3('0x1b')]=_0x5f2e1f;if(_0xaa58b7[_0xa1b3('0x30')][_0xa1b3('0x41')]){_0x342cff['include']=[{'all':!![]}];}return db[_0xa1b3('0x2d')]['findAll'](_0x342cff);})[_0xa1b3('0x25')](function(_0x15d7c8){_0x926131[_0xa1b3('0x42')]=_0x15d7c8;return _0x926131;})[_0xa1b3('0x25')](respondWithFilteredResult(_0x471721,_0x342cff))['catch'](handleError(_0x471721,null));};exports[_0xa1b3('0x43')]=function(_0x3f89ed,_0x189a09){var _0x1d1ef1={'raw':!![],'where':{'id':_0x3f89ed['params']['id']}},_0x2106c9={};_0x2106c9['model']=_[_0xa1b3('0x31')](db[_0xa1b3('0x2d')]['rawAttributes']);_0x2106c9[_0xa1b3('0x30')]=_[_0xa1b3('0x31')](_0x3f89ed[_0xa1b3('0x30')]);_0x2106c9['filters']=_[_0xa1b3('0x32')](_0x2106c9[_0xa1b3('0x2f')],_0x2106c9['query']);_0x1d1ef1['attributes']=_['intersection'](_0x2106c9['model'],qs[_0xa1b3('0x34')](_0x3f89ed['query'][_0xa1b3('0x34')]));_0x1d1ef1['attributes']=_0x1d1ef1[_0xa1b3('0x33')]['length']?_0x1d1ef1[_0xa1b3('0x33')]:_0x2106c9[_0xa1b3('0x2f')];if(_0x3f89ed[_0xa1b3('0x30')][_0xa1b3('0x41')]){_0x1d1ef1[_0xa1b3('0x44')]=[{'all':!![]}];}_0x1d1ef1=_[_0xa1b3('0x3d')]({},_0x1d1ef1,_0x3f89ed['options']);return db[_0xa1b3('0x2d')][_0xa1b3('0x45')](_0x1d1ef1)['then'](handleEntityNotFound(_0x189a09,null))['then'](respondWithResult(_0x189a09,null))['catch'](handleError(_0x189a09,null));};exports[_0xa1b3('0x46')]=function(_0x3f5e90,_0x51be06){return db[_0xa1b3('0x2d')][_0xa1b3('0x46')](_0x3f5e90[_0xa1b3('0x47')],{})[_0xa1b3('0x25')](function(_0x543723){var _0x5aa53b=_0x3f5e90[_0xa1b3('0x48')][_0xa1b3('0x49')]({'plain':!![]});if(!_0x5aa53b)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x5aa53b[_0xa1b3('0x4a')]===_0xa1b3('0x48')){var _0xc713e2=_0x543723[_0xa1b3('0x49')]({'plain':!![]});var _0x23c398=_0xa1b3('0x26');return db[_0xa1b3('0x4b')][_0xa1b3('0x45')]({'where':{'name':_0x23c398,'userProfileId':_0x5aa53b[_0xa1b3('0x4c')]},'raw':!![]})[_0xa1b3('0x25')](function(_0x1cf7cf){if(_0x1cf7cf&&_0x1cf7cf[_0xa1b3('0x4d')]===0x0){return db[_0xa1b3('0x27')]['create']({'name':_0xc713e2['name'],'resourceId':_0xc713e2['id'],'type':_0x1cf7cf[_0xa1b3('0x2a')],'sectionId':_0x1cf7cf['id']},{})['then'](function(){return _0x543723;});}else{return _0x543723;}})['catch'](function(_0x2406ce){logger[_0xa1b3('0x28')](_0xa1b3('0x4e'),_0x2406ce);throw _0x2406ce;});}return _0x543723;})['then'](respondWithResult(_0x51be06,0xc9))['catch'](handleError(_0x51be06,null));};exports[_0xa1b3('0x23')]=function(_0x2b88aa,_0x1b0820){if(_0x2b88aa[_0xa1b3('0x47')]['id']){delete _0x2b88aa['body']['id'];}return db[_0xa1b3('0x2d')]['find']({'where':{'id':_0x2b88aa[_0xa1b3('0x4f')]['id']}})['then'](handleEntityNotFound(_0x1b0820,null))[_0xa1b3('0x25')](saveUpdates(_0x2b88aa[_0xa1b3('0x47')],null))[_0xa1b3('0x25')](respondWithResult(_0x1b0820,null))[_0xa1b3('0x50')](handleError(_0x1b0820,null));};exports[_0xa1b3('0x24')]=function(_0x2e8dc4,_0x171bc2){return db[_0xa1b3('0x2d')][_0xa1b3('0x45')]({'where':{'id':_0x2e8dc4[_0xa1b3('0x4f')]['id']}})['then'](handleEntityNotFound(_0x171bc2,null))[_0xa1b3('0x25')](removeEntity(_0x171bc2,null))['catch'](handleError(_0x171bc2,null));};exports[_0xa1b3('0x51')]=function(_0x497c8a,_0x214f43,_0x20ba47){return db[_0xa1b3('0x2d')][_0xa1b3('0x45')]({'where':{'id':_0x497c8a[_0xa1b3('0x4f')]['id']},'attributes':[_0xa1b3('0x2a'),_0xa1b3('0x52'),'savename',_0xa1b3('0x53')],'raw':!![]})[_0xa1b3('0x25')](handleEntityNotFound(_0x214f43,null))[_0xa1b3('0x25')](function(_0x222891){if(_0x222891){if(!fs['existsSync'](path[_0xa1b3('0x54')](config[_0xa1b3('0x55')],_0xa1b3('0x56'),_0x222891['savename']))){throw new db['Sequelize'][(_0xa1b3('0x57'))](_0xa1b3('0x58'));}if(_0x497c8a[_0xa1b3('0x30')][_0xa1b3('0x59')]){return _0x214f43[_0xa1b3('0x18')](0xc8);}return _0x214f43[_0xa1b3('0x51')](path['join'](config[_0xa1b3('0x55')],_0xa1b3('0x56'),_0x222891['savename']),util[_0xa1b3('0x5a')](_0xa1b3('0x5b'),_0x222891[_0xa1b3('0x52')]||_0x222891[_0xa1b3('0x2a')],_0x222891[_0xa1b3('0x53')]['toLowerCase']()));}})[_0xa1b3('0x50')](handleError(_0x214f43,null));};