Built motion from commit (unavailable).|2.5.11
[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 _0x3ad8=['order','sort','where','pick','filter','merge','options','includeAll','include','findAll','rows','catch','rawAttributes','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','params','download','savename','output','existsSync','join','root','server/files/reports','ValidationError','Report\x20not\x20found\x20or\x20empty','exists','format','%s.%s','basename','toLowerCase','html-pdf','eml-format','rimraf','fast-json-patch','moment','bluebird','mustache','path','sox','to-csv','ejs','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','end','status','json','count','offset','limit','Content-Range','get','ExtractedReports','UserProfileResource','destroy','then','stack','name','send','map','AnalyticExtractedReport','fieldName','type','model','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit'];(function(_0x56ffb6,_0x27eab6){var _0x40b63=function(_0x201567){while(--_0x201567){_0x56ffb6['push'](_0x56ffb6['shift']());}};_0x40b63(++_0x27eab6);}(_0x3ad8,0x145));var _0x83ad=function(_0x193905,_0x4d9ac2){_0x193905=_0x193905-0x0;var _0x6c21cb=_0x3ad8[_0x193905];return _0x6c21cb;};'use strict';var pdf=require(_0x83ad('0x0'));var emlformat=require(_0x83ad('0x1'));var rimraf=require(_0x83ad('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0x83ad('0x3'));var rp=require('request-promise');var moment=require(_0x83ad('0x4'));var BPromise=require(_0x83ad('0x5'));var Mustache=require(_0x83ad('0x6'));var util=require('util');var path=require(_0x83ad('0x7'));var sox=require(_0x83ad('0x8'));var csv=require(_0x83ad('0x9'));var ejs=require(_0x83ad('0xa'));var fs=require('fs');var _=require(_0x83ad('0xb'));var squel=require('squel');var crypto=require(_0x83ad('0xc'));var jsforce=require(_0x83ad('0xd'));var deskjs=require(_0x83ad('0xe'));var toCsv=require(_0x83ad('0x9'));var querystring=require(_0x83ad('0xf'));var Papa=require(_0x83ad('0x10'));var Redis=require(_0x83ad('0x11'));var authService=require(_0x83ad('0x12'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x83ad('0x13'));var logger=require(_0x83ad('0x14'))(_0x83ad('0x15'));var utils=require(_0x83ad('0x16'));var config=require(_0x83ad('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0x83ad('0x18'))['db'];function respondWithStatusCode(_0x354068,_0x11aaf7){_0x11aaf7=_0x11aaf7||0xcc;return function(_0x1a346b){if(_0x1a346b){return _0x354068[_0x83ad('0x19')](_0x11aaf7);}return _0x354068['status'](_0x11aaf7)[_0x83ad('0x1a')]();};}function respondWithResult(_0x361a29,_0x400946){_0x400946=_0x400946||0xc8;return function(_0x353d48){if(_0x353d48){return _0x361a29[_0x83ad('0x1b')](_0x400946)[_0x83ad('0x1c')](_0x353d48);}};}function respondWithFilteredResult(_0x122756,_0x54939a){return function(_0x5c84ec){if(_0x5c84ec){var _0x338bcd=_0x5c84ec[_0x83ad('0x1d')],_0x378ce3=_0x54939a[_0x83ad('0x1e')],_0x2a5cc2=_0x54939a['offset']+_0x54939a[_0x83ad('0x1f')],_0x3f5396;if(_0x2a5cc2>=_0x338bcd){_0x2a5cc2=_0x338bcd;_0x3f5396=0xc8;}else{_0x3f5396=0xce;}_0x122756['status'](_0x3f5396);return _0x122756['set'](_0x83ad('0x20'),_0x378ce3+'-'+_0x2a5cc2+'/'+_0x338bcd)[_0x83ad('0x1c')](_0x5c84ec);}return null;};}function patchUpdates(_0x36d507){return function(_0xe96e56){try{jsonpatch['apply'](_0xe96e56,_0x36d507,!![]);}catch(_0x3509a8){return BPromise['reject'](_0x3509a8);}return _0xe96e56['save']();};}function saveUpdates(_0x3be3f5,_0x1e33fd){return function(_0x5ea63d){if(_0x5ea63d){return _0x5ea63d['update'](_0x3be3f5)['then'](function(_0x490a52){return _0x490a52;});}return null;};}function removeEntity(_0x54d1f0,_0x31ee7e){return function(_0x23654c){if(_0x23654c){return _0x23654c['destroy']()['then'](function(){var _0x55ce50=_0x23654c[_0x83ad('0x21')]({'plain':!![]});var _0x5662f0=_0x83ad('0x22');return db[_0x83ad('0x23')][_0x83ad('0x24')]({'where':{'type':_0x5662f0,'resourceId':_0x55ce50['id']}})[_0x83ad('0x25')](function(){return _0x23654c;});})[_0x83ad('0x25')](function(){_0x54d1f0[_0x83ad('0x1b')](0xcc)[_0x83ad('0x1a')]();});}};}function handleEntityNotFound(_0x41c85c,_0x25e453){return function(_0x21089d){if(!_0x21089d){_0x41c85c['sendStatus'](0x194);}return _0x21089d;};}function handleError(_0x28f421,_0x75cc12){_0x75cc12=_0x75cc12||0x1f4;return function(_0x2c8f21){logger['error'](_0x2c8f21[_0x83ad('0x26')]);if(_0x2c8f21['name']){delete _0x2c8f21[_0x83ad('0x27')];}_0x28f421[_0x83ad('0x1b')](_0x75cc12)[_0x83ad('0x28')](_0x2c8f21);};}exports['index']=function(_0x24245e,_0x5c9eda){var _0x1a9ffd={},_0xd396c5={},_0x274067={'count':0x0,'rows':[]};var _0x1cf0eb=_[_0x83ad('0x29')](db[_0x83ad('0x2a')]['rawAttributes'],function(_0x272ab){return{'name':_0x272ab[_0x83ad('0x2b')],'type':_0x272ab[_0x83ad('0x2c')]['key']};});_0xd396c5[_0x83ad('0x2d')]=_[_0x83ad('0x29')](_0x1cf0eb,'name');_0xd396c5[_0x83ad('0x2e')]=_[_0x83ad('0x2f')](_0x24245e['query']);_0xd396c5[_0x83ad('0x30')]=_['intersection'](_0xd396c5['model'],_0xd396c5[_0x83ad('0x2e')]);_0x1a9ffd[_0x83ad('0x31')]=_[_0x83ad('0x32')](_0xd396c5[_0x83ad('0x2d')],qs[_0x83ad('0x33')](_0x24245e['query']['fields']));_0x1a9ffd[_0x83ad('0x31')]=_0x1a9ffd[_0x83ad('0x31')][_0x83ad('0x34')]?_0x1a9ffd[_0x83ad('0x31')]:_0xd396c5[_0x83ad('0x2d')];if(!_0x24245e[_0x83ad('0x2e')][_0x83ad('0x35')](_0x83ad('0x36'))){_0x1a9ffd[_0x83ad('0x1f')]=qs['limit'](_0x24245e[_0x83ad('0x2e')][_0x83ad('0x1f')]);_0x1a9ffd[_0x83ad('0x1e')]=qs[_0x83ad('0x1e')](_0x24245e['query'][_0x83ad('0x1e')]);}_0x1a9ffd[_0x83ad('0x37')]=qs[_0x83ad('0x38')](_0x24245e[_0x83ad('0x2e')]['sort']);_0x1a9ffd[_0x83ad('0x39')]=qs['filters'](_[_0x83ad('0x3a')](_0x24245e[_0x83ad('0x2e')],_0xd396c5[_0x83ad('0x30')]),_0x1cf0eb);if(_0x24245e[_0x83ad('0x2e')][_0x83ad('0x3b')]){_0x1a9ffd[_0x83ad('0x39')]=_['merge'](_0x1a9ffd[_0x83ad('0x39')],{'$or':_['map'](_0x1cf0eb,function(_0x34c595){if(_0x34c595['type']!=='VIRTUAL'){var _0x318665={};_0x318665[_0x34c595[_0x83ad('0x27')]]={'$like':'%'+_0x24245e[_0x83ad('0x2e')][_0x83ad('0x3b')]+'%'};return _0x318665;}})});}_0x1a9ffd=_[_0x83ad('0x3c')]({},_0x1a9ffd,_0x24245e[_0x83ad('0x3d')]);var _0x1b6e0c={'where':_0x1a9ffd[_0x83ad('0x39')]};return db[_0x83ad('0x2a')][_0x83ad('0x1d')](_0x1b6e0c)[_0x83ad('0x25')](function(_0x2c556c){_0x274067[_0x83ad('0x1d')]=_0x2c556c;if(_0x24245e[_0x83ad('0x2e')][_0x83ad('0x3e')]){_0x1a9ffd[_0x83ad('0x3f')]=[{'all':!![]}];}return db[_0x83ad('0x2a')][_0x83ad('0x40')](_0x1a9ffd);})['then'](function(_0x468868){_0x274067[_0x83ad('0x41')]=_0x468868;return _0x274067;})[_0x83ad('0x25')](respondWithFilteredResult(_0x5c9eda,_0x1a9ffd))[_0x83ad('0x42')](handleError(_0x5c9eda,null));};exports['show']=function(_0x814e75,_0xff36b3){var _0x3de78f={'raw':!![],'where':{'id':_0x814e75['params']['id']}},_0x307ddd={};_0x307ddd[_0x83ad('0x2d')]=_[_0x83ad('0x2f')](db[_0x83ad('0x2a')][_0x83ad('0x43')]);_0x307ddd[_0x83ad('0x2e')]=_[_0x83ad('0x2f')](_0x814e75[_0x83ad('0x2e')]);_0x307ddd[_0x83ad('0x30')]=_[_0x83ad('0x32')](_0x307ddd[_0x83ad('0x2d')],_0x307ddd[_0x83ad('0x2e')]);_0x3de78f[_0x83ad('0x31')]=_[_0x83ad('0x32')](_0x307ddd['model'],qs[_0x83ad('0x33')](_0x814e75[_0x83ad('0x2e')][_0x83ad('0x33')]));_0x3de78f[_0x83ad('0x31')]=_0x3de78f['attributes'][_0x83ad('0x34')]?_0x3de78f['attributes']:_0x307ddd['model'];if(_0x814e75[_0x83ad('0x2e')][_0x83ad('0x3e')]){_0x3de78f[_0x83ad('0x3f')]=[{'all':!![]}];}_0x3de78f=_['merge']({},_0x3de78f,_0x814e75[_0x83ad('0x3d')]);return db[_0x83ad('0x2a')][_0x83ad('0x44')](_0x3de78f)[_0x83ad('0x25')](handleEntityNotFound(_0xff36b3,null))[_0x83ad('0x25')](respondWithResult(_0xff36b3,null))[_0x83ad('0x42')](handleError(_0xff36b3,null));};exports['create']=function(_0x10c93c,_0x1596e1){return db[_0x83ad('0x2a')][_0x83ad('0x45')](_0x10c93c[_0x83ad('0x46')],{})['then'](function(_0x45989d){var _0x1e7c0f=_0x10c93c[_0x83ad('0x47')][_0x83ad('0x21')]({'plain':!![]});if(!_0x1e7c0f)throw new Error(_0x83ad('0x48'));if(_0x1e7c0f[_0x83ad('0x49')]===_0x83ad('0x47')){var _0x7fb5b5=_0x45989d['get']({'plain':!![]});var _0x19e327=_0x83ad('0x22');return db[_0x83ad('0x4a')]['find']({'where':{'name':_0x19e327,'userProfileId':_0x1e7c0f[_0x83ad('0x4b')]},'raw':!![]})[_0x83ad('0x25')](function(_0x5be7dd){if(_0x5be7dd&&_0x5be7dd[_0x83ad('0x4c')]===0x0){return db[_0x83ad('0x23')][_0x83ad('0x45')]({'name':_0x7fb5b5[_0x83ad('0x27')],'resourceId':_0x7fb5b5['id'],'type':_0x5be7dd['name'],'sectionId':_0x5be7dd['id']},{})[_0x83ad('0x25')](function(){return _0x45989d;});}else{return _0x45989d;}})[_0x83ad('0x42')](function(_0x2d1e5b){logger[_0x83ad('0x4d')](_0x83ad('0x4e'),_0x2d1e5b);throw _0x2d1e5b;});}return _0x45989d;})[_0x83ad('0x25')](respondWithResult(_0x1596e1,0xc9))[_0x83ad('0x42')](handleError(_0x1596e1,null));};exports[_0x83ad('0x4f')]=function(_0x15a880,_0x432e83){if(_0x15a880[_0x83ad('0x46')]['id']){delete _0x15a880[_0x83ad('0x46')]['id'];}return db[_0x83ad('0x2a')][_0x83ad('0x44')]({'where':{'id':_0x15a880['params']['id']}})[_0x83ad('0x25')](handleEntityNotFound(_0x432e83,null))[_0x83ad('0x25')](saveUpdates(_0x15a880[_0x83ad('0x46')],null))['then'](respondWithResult(_0x432e83,null))[_0x83ad('0x42')](handleError(_0x432e83,null));};exports[_0x83ad('0x24')]=function(_0x3ec26b,_0x321531){return db[_0x83ad('0x2a')][_0x83ad('0x44')]({'where':{'id':_0x3ec26b[_0x83ad('0x50')]['id']}})['then'](handleEntityNotFound(_0x321531,null))[_0x83ad('0x25')](removeEntity(_0x321531,null))['catch'](handleError(_0x321531,null));};exports[_0x83ad('0x51')]=function(_0x4fc1ca,_0x34043e,_0x4454d3){return db[_0x83ad('0x2a')]['find']({'where':{'id':_0x4fc1ca[_0x83ad('0x50')]['id']},'attributes':[_0x83ad('0x27'),'basename',_0x83ad('0x52'),_0x83ad('0x53')],'raw':!![]})[_0x83ad('0x25')](handleEntityNotFound(_0x34043e,null))[_0x83ad('0x25')](function(_0x2e7e71){if(_0x2e7e71){if(!fs[_0x83ad('0x54')](path[_0x83ad('0x55')](config[_0x83ad('0x56')],_0x83ad('0x57'),_0x2e7e71['savename']))){throw new db['Sequelize'][(_0x83ad('0x58'))](_0x83ad('0x59'));}if(_0x4fc1ca[_0x83ad('0x2e')][_0x83ad('0x5a')]){return _0x34043e[_0x83ad('0x19')](0xc8);}return _0x34043e['download'](path[_0x83ad('0x55')](config['root'],_0x83ad('0x57'),_0x2e7e71[_0x83ad('0x52')]),util[_0x83ad('0x5b')](_0x83ad('0x5c'),_0x2e7e71[_0x83ad('0x5d')]||_0x2e7e71[_0x83ad('0x27')],_0x2e7e71['output'][_0x83ad('0x5e')]()));}})[_0x83ad('0x42')](handleError(_0x34043e,null));};