Built motion from commit (unavailable).|2.5.4
[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 _0x7247=['rows','keys','find','catch','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','params','basename','savename','existsSync','join','root','server/files/reports','ValidationError','Report\x20not\x20found\x20or\x20empty','exists','download','format','%s.%s','output','toLowerCase','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','ejs','lodash','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','sendStatus','status','end','json','offset','set','Content-Range','apply','save','update','then','destroy','get','ExtractedReports','UserProfileResource','error','name','send','map','AnalyticExtractedReport','rawAttributes','fieldName','type','key','model','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','limit','order','sort','where','pick','filter','merge','VIRTUAL','options','count','includeAll','include','findAll'];(function(_0x5a0e32,_0x347ae2){var _0xea8f24=function(_0x47f773){while(--_0x47f773){_0x5a0e32['push'](_0x5a0e32['shift']());}};_0xea8f24(++_0x347ae2);}(_0x7247,0xdd));var _0x7724=function(_0x2cc303,_0x2c4a2a){_0x2cc303=_0x2cc303-0x0;var _0x82a2ca=_0x7247[_0x2cc303];return _0x82a2ca;};'use strict';var pdf=require(_0x7724('0x0'));var emlformat=require(_0x7724('0x1'));var rimraf=require(_0x7724('0x2'));var zipdir=require(_0x7724('0x3'));var jsonpatch=require(_0x7724('0x4'));var rp=require(_0x7724('0x5'));var moment=require(_0x7724('0x6'));var BPromise=require(_0x7724('0x7'));var Mustache=require(_0x7724('0x8'));var util=require(_0x7724('0x9'));var path=require('path');var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x7724('0xa'));var fs=require('fs');var _=require(_0x7724('0xb'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x7724('0xc'));var deskjs=require(_0x7724('0xd'));var toCsv=require('to-csv');var querystring=require(_0x7724('0xe'));var Papa=require(_0x7724('0xf'));var Redis=require(_0x7724('0x10'));var authService=require(_0x7724('0x11'));var qs=require(_0x7724('0x12'));var as=require(_0x7724('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x7724('0x14'))(_0x7724('0x15'));var utils=require(_0x7724('0x16'));var config=require(_0x7724('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x52d53e,_0x1b5af9){_0x1b5af9=_0x1b5af9||0xcc;return function(_0x3bd039){if(_0x3bd039){return _0x52d53e[_0x7724('0x18')](_0x1b5af9);}return _0x52d53e[_0x7724('0x19')](_0x1b5af9)[_0x7724('0x1a')]();};}function respondWithResult(_0x4e1295,_0x56520d){_0x56520d=_0x56520d||0xc8;return function(_0x11d292){if(_0x11d292){return _0x4e1295['status'](_0x56520d)[_0x7724('0x1b')](_0x11d292);}};}function respondWithFilteredResult(_0x18968e,_0x4aee80){return function(_0x3b20ca){if(_0x3b20ca){var _0x12631f=_0x3b20ca['count'],_0x48f2d1=_0x4aee80[_0x7724('0x1c')],_0x173cd7=_0x4aee80[_0x7724('0x1c')]+_0x4aee80['limit'],_0x1fc97e;if(_0x173cd7>=_0x12631f){_0x173cd7=_0x12631f;_0x1fc97e=0xc8;}else{_0x1fc97e=0xce;}_0x18968e[_0x7724('0x19')](_0x1fc97e);return _0x18968e[_0x7724('0x1d')](_0x7724('0x1e'),_0x48f2d1+'-'+_0x173cd7+'/'+_0x12631f)['json'](_0x3b20ca);}return null;};}function patchUpdates(_0x5fdcfb){return function(_0x3d1949){try{jsonpatch[_0x7724('0x1f')](_0x3d1949,_0x5fdcfb,!![]);}catch(_0x3616f0){return BPromise['reject'](_0x3616f0);}return _0x3d1949[_0x7724('0x20')]();};}function saveUpdates(_0x4f9a20,_0x103d63){return function(_0x34d295){if(_0x34d295){return _0x34d295[_0x7724('0x21')](_0x4f9a20)[_0x7724('0x22')](function(_0x2bef21){return _0x2bef21;});}return null;};}function removeEntity(_0x23bdba,_0x1a4596){return function(_0x2f5db3){if(_0x2f5db3){return _0x2f5db3[_0x7724('0x23')]()[_0x7724('0x22')](function(){var _0x126268=_0x2f5db3[_0x7724('0x24')]({'plain':!![]});var _0x1af1a6=_0x7724('0x25');return db[_0x7724('0x26')][_0x7724('0x23')]({'where':{'type':_0x1af1a6,'resourceId':_0x126268['id']}})['then'](function(){return _0x2f5db3;});})[_0x7724('0x22')](function(){_0x23bdba[_0x7724('0x19')](0xcc)[_0x7724('0x1a')]();});}};}function handleEntityNotFound(_0x5c5129,_0x3f0405){return function(_0x39ed7b){if(!_0x39ed7b){_0x5c5129[_0x7724('0x18')](0x194);}return _0x39ed7b;};}function handleError(_0x269a2d,_0x77d636){_0x77d636=_0x77d636||0x1f4;return function(_0x11e345){logger[_0x7724('0x27')](_0x11e345['stack']);if(_0x11e345[_0x7724('0x28')]){delete _0x11e345[_0x7724('0x28')];}_0x269a2d[_0x7724('0x19')](_0x77d636)[_0x7724('0x29')](_0x11e345);};}exports['index']=function(_0x3eb9c8,_0x4351c7){var _0x2f62ea={},_0x272418={},_0x4689ec={'count':0x0,'rows':[]};var _0x573df7=_[_0x7724('0x2a')](db[_0x7724('0x2b')][_0x7724('0x2c')],function(_0x226435){return{'name':_0x226435[_0x7724('0x2d')],'type':_0x226435[_0x7724('0x2e')][_0x7724('0x2f')]};});_0x272418[_0x7724('0x30')]=_['map'](_0x573df7,_0x7724('0x28'));_0x272418[_0x7724('0x31')]=_['keys'](_0x3eb9c8[_0x7724('0x31')]);_0x272418[_0x7724('0x32')]=_[_0x7724('0x33')](_0x272418[_0x7724('0x30')],_0x272418['query']);_0x2f62ea['attributes']=_[_0x7724('0x33')](_0x272418[_0x7724('0x30')],qs['fields'](_0x3eb9c8[_0x7724('0x31')][_0x7724('0x34')]));_0x2f62ea[_0x7724('0x35')]=_0x2f62ea['attributes'][_0x7724('0x36')]?_0x2f62ea['attributes']:_0x272418['model'];if(!_0x3eb9c8['query'][_0x7724('0x37')](_0x7724('0x38'))){_0x2f62ea[_0x7724('0x39')]=qs[_0x7724('0x39')](_0x3eb9c8[_0x7724('0x31')][_0x7724('0x39')]);_0x2f62ea[_0x7724('0x1c')]=qs[_0x7724('0x1c')](_0x3eb9c8[_0x7724('0x31')][_0x7724('0x1c')]);}_0x2f62ea[_0x7724('0x3a')]=qs[_0x7724('0x3b')](_0x3eb9c8[_0x7724('0x31')][_0x7724('0x3b')]);_0x2f62ea[_0x7724('0x3c')]=qs[_0x7724('0x32')](_[_0x7724('0x3d')](_0x3eb9c8['query'],_0x272418[_0x7724('0x32')]),_0x573df7);if(_0x3eb9c8[_0x7724('0x31')][_0x7724('0x3e')]){_0x2f62ea[_0x7724('0x3c')]=_[_0x7724('0x3f')](_0x2f62ea[_0x7724('0x3c')],{'$or':_[_0x7724('0x2a')](_0x573df7,function(_0x12c1c8){if(_0x12c1c8[_0x7724('0x2e')]!==_0x7724('0x40')){var _0x1c2261={};_0x1c2261[_0x12c1c8[_0x7724('0x28')]]={'$like':'%'+_0x3eb9c8[_0x7724('0x31')][_0x7724('0x3e')]+'%'};return _0x1c2261;}})});}_0x2f62ea=_[_0x7724('0x3f')]({},_0x2f62ea,_0x3eb9c8[_0x7724('0x41')]);var _0x443281={'where':_0x2f62ea[_0x7724('0x3c')]};return db[_0x7724('0x2b')]['count'](_0x443281)[_0x7724('0x22')](function(_0x291c20){_0x4689ec[_0x7724('0x42')]=_0x291c20;if(_0x3eb9c8['query'][_0x7724('0x43')]){_0x2f62ea[_0x7724('0x44')]=[{'all':!![]}];}return db[_0x7724('0x2b')][_0x7724('0x45')](_0x2f62ea);})[_0x7724('0x22')](function(_0x1d2462){_0x4689ec[_0x7724('0x46')]=_0x1d2462;return _0x4689ec;})[_0x7724('0x22')](respondWithFilteredResult(_0x4351c7,_0x2f62ea))['catch'](handleError(_0x4351c7,null));};exports['show']=function(_0x115c53,_0x2f84d2){var _0x381039={'raw':!![],'where':{'id':_0x115c53['params']['id']}},_0x5c1064={};_0x5c1064[_0x7724('0x30')]=_[_0x7724('0x47')](db[_0x7724('0x2b')][_0x7724('0x2c')]);_0x5c1064[_0x7724('0x31')]=_[_0x7724('0x47')](_0x115c53[_0x7724('0x31')]);_0x5c1064[_0x7724('0x32')]=_[_0x7724('0x33')](_0x5c1064['model'],_0x5c1064[_0x7724('0x31')]);_0x381039['attributes']=_[_0x7724('0x33')](_0x5c1064[_0x7724('0x30')],qs[_0x7724('0x34')](_0x115c53[_0x7724('0x31')][_0x7724('0x34')]));_0x381039[_0x7724('0x35')]=_0x381039[_0x7724('0x35')][_0x7724('0x36')]?_0x381039['attributes']:_0x5c1064[_0x7724('0x30')];if(_0x115c53[_0x7724('0x31')][_0x7724('0x43')]){_0x381039[_0x7724('0x44')]=[{'all':!![]}];}_0x381039=_[_0x7724('0x3f')]({},_0x381039,_0x115c53[_0x7724('0x41')]);return db[_0x7724('0x2b')][_0x7724('0x48')](_0x381039)['then'](handleEntityNotFound(_0x2f84d2,null))['then'](respondWithResult(_0x2f84d2,null))[_0x7724('0x49')](handleError(_0x2f84d2,null));};exports[_0x7724('0x4a')]=function(_0x25a58f,_0x41dc5f){return db['AnalyticExtractedReport']['create'](_0x25a58f['body'],{})[_0x7724('0x22')](function(_0x79bc33){var _0x3ca33a=_0x25a58f[_0x7724('0x4b')][_0x7724('0x24')]({'plain':!![]});if(!_0x3ca33a)throw new Error(_0x7724('0x4c'));if(_0x3ca33a[_0x7724('0x4d')]===_0x7724('0x4b')){var _0x31a6c9=_0x79bc33[_0x7724('0x24')]({'plain':!![]});var _0x2fd047=_0x7724('0x25');return db[_0x7724('0x4e')][_0x7724('0x48')]({'where':{'name':_0x2fd047,'userProfileId':_0x3ca33a['userProfileId']},'raw':!![]})[_0x7724('0x22')](function(_0x3b2ba5){if(_0x3b2ba5&&_0x3b2ba5[_0x7724('0x4f')]===0x0){return db[_0x7724('0x26')][_0x7724('0x4a')]({'name':_0x31a6c9[_0x7724('0x28')],'resourceId':_0x31a6c9['id'],'type':_0x3b2ba5[_0x7724('0x28')],'sectionId':_0x3b2ba5['id']},{})[_0x7724('0x22')](function(){return _0x79bc33;});}else{return _0x79bc33;}})[_0x7724('0x49')](function(_0x2c7822){logger[_0x7724('0x27')](_0x7724('0x50'),_0x2c7822);throw _0x2c7822;});}return _0x79bc33;})['then'](respondWithResult(_0x41dc5f,0xc9))[_0x7724('0x49')](handleError(_0x41dc5f,null));};exports[_0x7724('0x21')]=function(_0x118dc1,_0x164f53){if(_0x118dc1[_0x7724('0x51')]['id']){delete _0x118dc1[_0x7724('0x51')]['id'];}return db[_0x7724('0x2b')][_0x7724('0x48')]({'where':{'id':_0x118dc1['params']['id']}})[_0x7724('0x22')](handleEntityNotFound(_0x164f53,null))[_0x7724('0x22')](saveUpdates(_0x118dc1[_0x7724('0x51')],null))[_0x7724('0x22')](respondWithResult(_0x164f53,null))[_0x7724('0x49')](handleError(_0x164f53,null));};exports['destroy']=function(_0x543894,_0xf9af83){return db[_0x7724('0x2b')][_0x7724('0x48')]({'where':{'id':_0x543894[_0x7724('0x52')]['id']}})[_0x7724('0x22')](handleEntityNotFound(_0xf9af83,null))[_0x7724('0x22')](removeEntity(_0xf9af83,null))[_0x7724('0x49')](handleError(_0xf9af83,null));};exports['download']=function(_0x17aee0,_0x5df8d4,_0x1edc88){return db[_0x7724('0x2b')][_0x7724('0x48')]({'where':{'id':_0x17aee0['params']['id']},'attributes':[_0x7724('0x28'),_0x7724('0x53'),_0x7724('0x54'),'output'],'raw':!![]})[_0x7724('0x22')](handleEntityNotFound(_0x5df8d4,null))[_0x7724('0x22')](function(_0x480192){if(_0x480192){if(!fs[_0x7724('0x55')](path[_0x7724('0x56')](config[_0x7724('0x57')],_0x7724('0x58'),_0x480192['savename']))){throw new db['Sequelize'][(_0x7724('0x59'))](_0x7724('0x5a'));}if(_0x17aee0[_0x7724('0x31')][_0x7724('0x5b')]){return _0x5df8d4[_0x7724('0x18')](0xc8);}return _0x5df8d4[_0x7724('0x5c')](path[_0x7724('0x56')](config[_0x7724('0x57')],_0x7724('0x58'),_0x480192[_0x7724('0x54')]),util[_0x7724('0x5d')](_0x7724('0x5e'),_0x480192[_0x7724('0x53')]||_0x480192['name'],_0x480192[_0x7724('0x5f')][_0x7724('0x60')]()));}})[_0x7724('0x49')](handleError(_0x5df8d4,null));};