52f8937019d3ad6645de636ac574bcdb394ff7a9
[motion2.git] / server / api / analyticDefaultReport / analyticDefaultReport.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 _0xdab6=['zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','ejs','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','dbH','status','json','count','offset','limit','set','reject','save','update','destroy','UserProfileResource','then','sendStatus','error','stack','name','send','index','map','AnalyticDefaultReport','fieldName','type','key','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','show','params','rawAttributes','find','create','body','get','role','user','Reports','UserProfileSection','userProfileId','autoAssociation','catch','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','preview','join','left_join','right_join','SUM(%s)','COUNT(DISTINCT\x20%s)','MIN(%s)','AVG(%s)','GROUP_CONCAT(%s)','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)','DATE(%s)','HOUR(%s)','ROUND(%s)','UNIX_TIMESTAMP(%s)','includes','IS\x20NULL','IS\x20NOT\x20NULL','IS\x20EMPTY','rules','group','field','condition','value','getFields','Sequelize','Please\x20insert\x20at\x20least\x20one\x20field','AnalyticMetric','keyBy','select','from','table','MetricId','function','replace','format','orderBy','alias','joins','parse','foreignTable','foreignKey','conditions','clone','debug','Limited\x20Query:','toString','sequelize','QueryTypes','cross_join','MAX(%s)','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','SEC_TO_TIME(%s)','IS\x20NOT\x20EMPTY','ValidationErrorItem','groupBy','DESC','parentKey','SELECT','No\x20available\x20data','output','web','%s-%s.%s','generate','csv','default','cdr','.calldate\x20BETWEEN\x20?\x20AND\x20?','startDate','.createdAt\x20BETWEEN\x20?\x20AND\x20?','endDate','info','Run\x20Query:','child_process','../../components/export/','savename','countTable','COUNT(*)','run','COUNT(%s)','operator','metric','%s.%s\x20=\x20%s.%s','html-pdf','eml-format','rimraf'];(function(_0x47aca7,_0x146518){var _0x524aef=function(_0x3ddac1){while(--_0x3ddac1){_0x47aca7['push'](_0x47aca7['shift']());}};_0x524aef(++_0x146518);}(_0xdab6,0x153));var _0x6dab=function(_0x2d243f,_0x47aba5){_0x2d243f=_0x2d243f-0x0;var _0x53c2cf=_0xdab6[_0x2d243f];return _0x53c2cf;};'use strict';var pdf=require(_0x6dab('0x0'));var emlformat=require(_0x6dab('0x1'));var rimraf=require(_0x6dab('0x2'));var zipdir=require(_0x6dab('0x3'));var jsonpatch=require(_0x6dab('0x4'));var rp=require(_0x6dab('0x5'));var moment=require(_0x6dab('0x6'));var BPromise=require('bluebird');var Mustache=require(_0x6dab('0x7'));var util=require(_0x6dab('0x8'));var path=require(_0x6dab('0x9'));var sox=require(_0x6dab('0xa'));var csv=require(_0x6dab('0xb'));var ejs=require(_0x6dab('0xc'));var fs=require('fs');var _=require(_0x6dab('0xd'));var squel=require('squel');var crypto=require(_0x6dab('0xe'));var jsforce=require(_0x6dab('0xf'));var deskjs=require(_0x6dab('0x10'));var toCsv=require(_0x6dab('0xb'));var querystring=require(_0x6dab('0x11'));var Papa=require(_0x6dab('0x12'));var Redis=require(_0x6dab('0x13'));var authService=require(_0x6dab('0x14'));var qs=require(_0x6dab('0x15'));var as=require(_0x6dab('0x16'));var hardwareService=require(_0x6dab('0x17'));var logger=require(_0x6dab('0x18'))(_0x6dab('0x19'));var utils=require('../../config/utils');var config=require(_0x6dab('0x1a'));var db=require('../../mysqldb')['db'];var dbH=require(_0x6dab('0x1b'))[_0x6dab('0x1c')];function respondWithStatusCode(_0x51d444,_0x51afa2){_0x51afa2=_0x51afa2||0xcc;return function(_0x327e76){if(_0x327e76){return _0x51d444['sendStatus'](_0x51afa2);}return _0x51d444[_0x6dab('0x1d')](_0x51afa2)['end']();};}function respondWithResult(_0xc14b45,_0x511d72){_0x511d72=_0x511d72||0xc8;return function(_0x4ec34d){if(_0x4ec34d){return _0xc14b45[_0x6dab('0x1d')](_0x511d72)[_0x6dab('0x1e')](_0x4ec34d);}};}function respondWithFilteredResult(_0x140d2a,_0x5f5d9e){return function(_0xf11c22){if(_0xf11c22){var _0x5bcb8c=_0xf11c22[_0x6dab('0x1f')],_0xa4ac33=_0x5f5d9e[_0x6dab('0x20')],_0x3dfd90=_0x5f5d9e[_0x6dab('0x20')]+_0x5f5d9e[_0x6dab('0x21')],_0x1e416f;if(_0x3dfd90>=_0x5bcb8c){_0x3dfd90=_0x5bcb8c;_0x1e416f=0xc8;}else{_0x1e416f=0xce;}_0x140d2a[_0x6dab('0x1d')](_0x1e416f);return _0x140d2a[_0x6dab('0x22')]('Content-Range',_0xa4ac33+'-'+_0x3dfd90+'/'+_0x5bcb8c)[_0x6dab('0x1e')](_0xf11c22);}return null;};}function patchUpdates(_0x36ee1c){return function(_0x2236db){try{jsonpatch['apply'](_0x2236db,_0x36ee1c,!![]);}catch(_0x153b73){return BPromise[_0x6dab('0x23')](_0x153b73);}return _0x2236db[_0x6dab('0x24')]();};}function saveUpdates(_0x240d1d,_0x4a4f60){return function(_0x444c68){if(_0x444c68){return _0x444c68[_0x6dab('0x25')](_0x240d1d)['then'](function(_0x1c8f27){return _0x1c8f27;});}return null;};}function removeEntity(_0x58b8a2,_0x2d6ea3){return function(_0x2a2afc){if(_0x2a2afc){return _0x2a2afc[_0x6dab('0x26')]()['then'](function(){var _0x49a14a=_0x2a2afc['get']({'plain':!![]});var _0x3d0569='DefaultReports';return db[_0x6dab('0x27')][_0x6dab('0x26')]({'where':{'type':_0x3d0569,'resourceId':_0x49a14a['id']}})[_0x6dab('0x28')](function(){return _0x2a2afc;});})[_0x6dab('0x28')](function(){_0x58b8a2[_0x6dab('0x1d')](0xcc)['end']();});}};}function handleEntityNotFound(_0x169cd0,_0x4bba45){return function(_0x3d7d0e){if(!_0x3d7d0e){_0x169cd0[_0x6dab('0x29')](0x194);}return _0x3d7d0e;};}function handleError(_0x2bfac7,_0x4e75ca){_0x4e75ca=_0x4e75ca||0x1f4;return function(_0xacb2d3){logger[_0x6dab('0x2a')](_0xacb2d3[_0x6dab('0x2b')]);if(_0xacb2d3[_0x6dab('0x2c')]){delete _0xacb2d3[_0x6dab('0x2c')];}_0x2bfac7[_0x6dab('0x1d')](_0x4e75ca)[_0x6dab('0x2d')](_0xacb2d3);};}exports[_0x6dab('0x2e')]=function(_0x2c017b,_0x5eeec8){var _0x473d3e={},_0x3d7ce8={},_0x4b118b={'count':0x0,'rows':[]};var _0x28aede=_[_0x6dab('0x2f')](db[_0x6dab('0x30')]['rawAttributes'],function(_0x1120d3){return{'name':_0x1120d3[_0x6dab('0x31')],'type':_0x1120d3[_0x6dab('0x32')][_0x6dab('0x33')]};});_0x3d7ce8['model']=_['map'](_0x28aede,'name');_0x3d7ce8[_0x6dab('0x34')]=_[_0x6dab('0x35')](_0x2c017b[_0x6dab('0x34')]);_0x3d7ce8[_0x6dab('0x36')]=_[_0x6dab('0x37')](_0x3d7ce8[_0x6dab('0x38')],_0x3d7ce8['query']);_0x473d3e[_0x6dab('0x39')]=_[_0x6dab('0x37')](_0x3d7ce8[_0x6dab('0x38')],qs[_0x6dab('0x3a')](_0x2c017b[_0x6dab('0x34')][_0x6dab('0x3a')]));_0x473d3e[_0x6dab('0x39')]=_0x473d3e[_0x6dab('0x39')][_0x6dab('0x3b')]?_0x473d3e[_0x6dab('0x39')]:_0x3d7ce8[_0x6dab('0x38')];if(!_0x2c017b[_0x6dab('0x34')][_0x6dab('0x3c')](_0x6dab('0x3d'))){_0x473d3e['limit']=qs[_0x6dab('0x21')](_0x2c017b['query'][_0x6dab('0x21')]);_0x473d3e[_0x6dab('0x20')]=qs['offset'](_0x2c017b[_0x6dab('0x34')]['offset']);}_0x473d3e[_0x6dab('0x3e')]=qs['sort'](_0x2c017b[_0x6dab('0x34')][_0x6dab('0x3f')]);_0x473d3e[_0x6dab('0x40')]=qs['filters'](_[_0x6dab('0x41')](_0x2c017b[_0x6dab('0x34')],_0x3d7ce8['filters']),_0x28aede);if(_0x2c017b['query'][_0x6dab('0x42')]){_0x473d3e['where']=_[_0x6dab('0x43')](_0x473d3e[_0x6dab('0x40')],{'$or':_[_0x6dab('0x2f')](_0x28aede,function(_0x35213c){if(_0x35213c[_0x6dab('0x32')]!==_0x6dab('0x44')){var _0x503178={};_0x503178[_0x35213c['name']]={'$like':'%'+_0x2c017b['query'][_0x6dab('0x42')]+'%'};return _0x503178;}})});}_0x473d3e=_[_0x6dab('0x43')]({},_0x473d3e,_0x2c017b[_0x6dab('0x45')]);var _0x2b0aa8={'where':_0x473d3e[_0x6dab('0x40')]};return db[_0x6dab('0x30')][_0x6dab('0x1f')](_0x2b0aa8)[_0x6dab('0x28')](function(_0x2dcc8f){_0x4b118b[_0x6dab('0x1f')]=_0x2dcc8f;if(_0x2c017b[_0x6dab('0x34')][_0x6dab('0x46')]){_0x473d3e[_0x6dab('0x47')]=[{'all':!![]}];}return db[_0x6dab('0x30')][_0x6dab('0x48')](_0x473d3e);})[_0x6dab('0x28')](function(_0x22a73d){_0x4b118b[_0x6dab('0x49')]=_0x22a73d;return _0x4b118b;})[_0x6dab('0x28')](respondWithFilteredResult(_0x5eeec8,_0x473d3e))['catch'](handleError(_0x5eeec8,null));};exports[_0x6dab('0x4a')]=function(_0xcfc9c2,_0x48563f){var _0x42e352={'raw':!![],'where':{'id':_0xcfc9c2[_0x6dab('0x4b')]['id']}},_0x5e69a0={};_0x5e69a0[_0x6dab('0x38')]=_[_0x6dab('0x35')](db[_0x6dab('0x30')][_0x6dab('0x4c')]);_0x5e69a0['query']=_[_0x6dab('0x35')](_0xcfc9c2[_0x6dab('0x34')]);_0x5e69a0[_0x6dab('0x36')]=_[_0x6dab('0x37')](_0x5e69a0[_0x6dab('0x38')],_0x5e69a0['query']);_0x42e352[_0x6dab('0x39')]=_[_0x6dab('0x37')](_0x5e69a0[_0x6dab('0x38')],qs[_0x6dab('0x3a')](_0xcfc9c2[_0x6dab('0x34')][_0x6dab('0x3a')]));_0x42e352[_0x6dab('0x39')]=_0x42e352[_0x6dab('0x39')][_0x6dab('0x3b')]?_0x42e352[_0x6dab('0x39')]:_0x5e69a0[_0x6dab('0x38')];if(_0xcfc9c2[_0x6dab('0x34')][_0x6dab('0x46')]){_0x42e352[_0x6dab('0x47')]=[{'all':!![]}];}_0x42e352=_[_0x6dab('0x43')]({},_0x42e352,_0xcfc9c2[_0x6dab('0x45')]);return db[_0x6dab('0x30')][_0x6dab('0x4d')](_0x42e352)[_0x6dab('0x28')](handleEntityNotFound(_0x48563f,null))[_0x6dab('0x28')](respondWithResult(_0x48563f,null))['catch'](handleError(_0x48563f,null));};exports[_0x6dab('0x4e')]=function(_0x4f2066,_0x4ed878){return db[_0x6dab('0x30')][_0x6dab('0x4e')](_0x4f2066[_0x6dab('0x4f')],{})[_0x6dab('0x28')](function(_0x4434a9){var _0x53b259=_0x4f2066['user'][_0x6dab('0x50')]({'plain':!![]});if(!_0x53b259)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x53b259[_0x6dab('0x51')]===_0x6dab('0x52')){var _0x530be4=_0x4434a9[_0x6dab('0x50')]({'plain':!![]});var _0x357948=_0x6dab('0x53');return db[_0x6dab('0x54')]['find']({'where':{'name':_0x357948,'userProfileId':_0x53b259[_0x6dab('0x55')]},'raw':!![]})[_0x6dab('0x28')](function(_0x76170e){if(_0x76170e&&_0x76170e[_0x6dab('0x56')]===0x0){return db[_0x6dab('0x27')]['create']({'name':_0x530be4['name'],'resourceId':_0x530be4['id'],'type':'DefaultReports','sectionId':_0x76170e['id']},{})[_0x6dab('0x28')](function(){return _0x4434a9;});}else{return _0x4434a9;}})[_0x6dab('0x57')](function(_0x22a382){logger[_0x6dab('0x2a')](_0x6dab('0x58'),_0x22a382);throw _0x22a382;});}return _0x4434a9;})[_0x6dab('0x28')](respondWithResult(_0x4ed878,0xc9))[_0x6dab('0x57')](handleError(_0x4ed878,null));};exports[_0x6dab('0x25')]=function(_0x5a682b,_0x8b181c){if(_0x5a682b[_0x6dab('0x4f')]['id']){delete _0x5a682b['body']['id'];}return db['AnalyticDefaultReport']['find']({'where':{'id':_0x5a682b[_0x6dab('0x4b')]['id']}})['then'](handleEntityNotFound(_0x8b181c,null))[_0x6dab('0x28')](saveUpdates(_0x5a682b['body'],null))[_0x6dab('0x28')](respondWithResult(_0x8b181c,null))[_0x6dab('0x57')](handleError(_0x8b181c,null));};exports['destroy']=function(_0x1de637,_0x3a5c0b){return db['AnalyticDefaultReport'][_0x6dab('0x4d')]({'where':{'id':_0x1de637['params']['id']}})[_0x6dab('0x28')](handleEntityNotFound(_0x3a5c0b,null))['then'](removeEntity(_0x3a5c0b,null))[_0x6dab('0x57')](handleError(_0x3a5c0b,null));};exports[_0x6dab('0x59')]=function(_0x5b11ff,_0x3f5144){var _0x1282af=0xa;var _0x3235c8=[_0x6dab('0x5a'),_0x6dab('0x5b'),_0x6dab('0x5c'),'cross_join'];var _0x192f14={'SUM':_0x6dab('0x5d'),'COUNT':'COUNT(%s)','COUNT DISTINCT':_0x6dab('0x5e'),'MAX':'MAX(%s)','MIN':_0x6dab('0x5f'),'AVG':_0x6dab('0x60'),'GROUP_CONCAT':_0x6dab('0x61'),'GROUP_CONCAT ASC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','GROUP_CONCAT DESC':_0x6dab('0x62')};var _0x4cc1a7={'SEC_TO_TIME':'SEC_TO_TIME(%s)','DATE':_0x6dab('0x63'),'HOUR':_0x6dab('0x64'),'ROUND':_0x6dab('0x65'),'UNIX_TIMESTAMP':_0x6dab('0x66')};var _0x36cb02=function(_0x4b3bf1){return!_[_0x6dab('0x67')]([_0x6dab('0x68'),_0x6dab('0x69'),_0x6dab('0x6a'),'IS\x20NOT\x20EMPTY'],_0x4b3bf1);};var _0x3a5df3=function(_0x3efe8f){if(!_0x3efe8f||!_0x3efe8f[_0x6dab('0x6b')][_0x6dab('0x3b')]){return'';}for(var _0x5744a7='(',_0x47180f=0x0;_0x47180f<_0x3efe8f['rules']['length'];_0x47180f+=0x1){_0x47180f>0x0&&(_0x5744a7+='\x20'+_0x3efe8f['operator']+'\x20');_0x5744a7+=_0x3efe8f[_0x6dab('0x6b')][_0x47180f][_0x6dab('0x6c')]?_0x3a5df3(_0x3efe8f[_0x6dab('0x6b')][_0x47180f][_0x6dab('0x6c')]):_0x3efe8f['rules'][_0x47180f][_0x6dab('0x6d')]+'\x20'+_0x3efe8f[_0x6dab('0x6b')][_0x47180f][_0x6dab('0x6e')]+(_0x36cb02(_0x3efe8f[_0x6dab('0x6b')][_0x47180f]['condition'])?'\x20'+_0x3efe8f[_0x6dab('0x6b')][_0x47180f][_0x6dab('0x6f')]:'');}return _0x5744a7+')';};var _0x5b2960={'where':{'id':_0x5b11ff['params']['id']}},_0x2d1f6f,_0x3195f7,_0x2eada2,_0x4f8186,_0x27a479;_0x5b2960=_[_0x6dab('0x43')]({},_0x5b2960,_0x5b11ff[_0x6dab('0x45')]);return db[_0x6dab('0x30')][_0x6dab('0x4d')](_0x5b2960)[_0x6dab('0x28')](function(_0x1990c6){if(_0x1990c6){_0x2d1f6f=_0x1990c6;return _0x1990c6[_0x6dab('0x70')]();}return null;})['then'](function(_0x2339da){if(_0x2339da){if(!_0x2339da[_0x6dab('0x3b')]){throw new db[(_0x6dab('0x71'))]['ValidationErrorItem'](_0x6dab('0x72'),0x193);}_0x3195f7=_0x2339da;return db[_0x6dab('0x73')]['findAll']({'raw':!![]});}return null;})[_0x6dab('0x28')](function(_0x3168f7){if(_0x3168f7){_0x2eada2=_[_0x6dab('0x74')](_0x3168f7,'id');var _0x23683b;var _0x3e67c5=squel[_0x6dab('0x75')]();_0x3e67c5[_0x6dab('0x76')](_0x2d1f6f[_0x6dab('0x77')]);for(var _0x464d51=0x0;_0x464d51<_0x3195f7[_0x6dab('0x3b')];_0x464d51+=0x1){_0x23683b=_0x3195f7[_0x464d51][_0x6dab('0x78')]?_0x2eada2[_0x3195f7[_0x464d51][_0x6dab('0x78')]]['metric']:_0x3195f7[_0x464d51]['field'];_0x23683b=_0x3195f7[_0x464d51][_0x6dab('0x79')]?_[_0x6dab('0x7a')](_0x192f14[_0x3195f7[_0x464d51][_0x6dab('0x79')]],'%s',_0x23683b):_0x23683b;_0x23683b=_0x3195f7[_0x464d51]['format']?_[_0x6dab('0x7a')](_0x4cc1a7[_0x3195f7[_0x464d51][_0x6dab('0x7b')]],'%s',_0x23683b):_0x23683b;if(_0x3195f7[_0x464d51]['groupBy']){_0x3e67c5[_0x6dab('0x6c')](_0x23683b);}_0x3195f7[_0x464d51][_0x6dab('0x7c')]&&_0x3e67c5[_0x6dab('0x3e')](_0x23683b,_0x3195f7[_0x464d51][_0x6dab('0x7c')]==='DESC'?![]:!![]);_0x3e67c5[_0x6dab('0x6d')](_0x23683b,_0x3195f7[_0x464d51][_0x6dab('0x7d')]||_0x23683b);}if(_0x2d1f6f[_0x6dab('0x7e')]){_0x2d1f6f[_0x6dab('0x7e')]=JSON[_0x6dab('0x7f')](_0x2d1f6f['joins']);for(var _0x472719=0x0;_0x472719<_0x2d1f6f['joins'][_0x6dab('0x3b')];_0x472719+=0x1){if(_0x2d1f6f[_0x6dab('0x7e')][_0x472719][_0x6dab('0x32')]&&_[_0x6dab('0x67')](_0x3235c8,_0x2d1f6f[_0x6dab('0x7e')][_0x472719][_0x6dab('0x32')])&&_0x2d1f6f[_0x6dab('0x7e')][_0x472719]['parentKey']&&_0x2d1f6f[_0x6dab('0x7e')][_0x472719]['foreignTable']&&_0x2d1f6f[_0x6dab('0x7e')][_0x472719]['foreignKey']){_0x3e67c5[_0x2d1f6f[_0x6dab('0x7e')][_0x472719][_0x6dab('0x32')]](_0x2d1f6f[_0x6dab('0x7e')][_0x472719][_0x6dab('0x80')],null,util[_0x6dab('0x7b')]('%s.%s\x20=\x20%s.%s',_0x2d1f6f['table'],_0x2d1f6f[_0x6dab('0x7e')][_0x472719]['parentKey'],_0x2d1f6f[_0x6dab('0x7e')][_0x472719][_0x6dab('0x80')],_0x2d1f6f[_0x6dab('0x7e')][_0x472719][_0x6dab('0x81')]));}}}if(_0x2d1f6f[_0x6dab('0x82')]){_0x2d1f6f[_0x6dab('0x82')]=JSON[_0x6dab('0x7f')](_0x2d1f6f[_0x6dab('0x82')]);_0x3e67c5[_0x6dab('0x40')](_0x3a5df3(_0x2d1f6f[_0x6dab('0x82')][_0x6dab('0x6c')]));}_0x27a479=_0x3e67c5[_0x6dab('0x83')]();_0x3e67c5[_0x6dab('0x21')](_0x1282af);_0x3e67c5['offset'](0x0);logger[_0x6dab('0x84')](_0x6dab('0x85'),_0x3e67c5[_0x6dab('0x86')]());return db['sequelize']['query'](_0x3e67c5[_0x6dab('0x86')](),{'type':db[_0x6dab('0x87')][_0x6dab('0x88')]['SELECT']});}})[_0x6dab('0x28')](respondWithResult(_0x3f5144,null))[_0x6dab('0x57')](handleError(_0x3f5144,null));};function runReport(_0x354408,_0x38dd3f,_0x56b247){var _0x10db44=_0x38dd3f[_0x6dab('0x2c')];var _0x197c0f=0xa;var _0x4e8ab4=['join','left_join',_0x6dab('0x5c'),_0x6dab('0x89')];var _0x5a1332={'SUM':_0x6dab('0x5d'),'COUNT':'COUNT(%s)','COUNT DISTINCT':_0x6dab('0x5e'),'MAX':_0x6dab('0x8a'),'MIN':_0x6dab('0x5f'),'AVG':_0x6dab('0x60'),'GROUP_CONCAT':_0x6dab('0x61'),'GROUP_CONCAT ASC':_0x6dab('0x8b'),'GROUP_CONCAT DESC':_0x6dab('0x62')};var _0x5614b7={'SEC_TO_TIME':_0x6dab('0x8c'),'DATE':_0x6dab('0x63'),'HOUR':'HOUR(%s)','ROUND':_0x6dab('0x65'),'UNIX_TIMESTAMP':_0x6dab('0x66')};var _0x2eb14c=function(_0x2e26fd){return!_[_0x6dab('0x67')](['IS\x20NULL',_0x6dab('0x69'),_0x6dab('0x6a'),_0x6dab('0x8d')],_0x2e26fd);};var _0x3d1485=function(_0x282aa9){if(!_0x282aa9||!_0x282aa9['rules']['length']){return'';}for(var _0x14e7d4='(',_0x121b8e=0x0;_0x121b8e<_0x282aa9['rules'][_0x6dab('0x3b')];_0x121b8e+=0x1){_0x121b8e>0x0&&(_0x14e7d4+='\x20'+_0x282aa9['operator']+'\x20');_0x14e7d4+=_0x282aa9['rules'][_0x121b8e][_0x6dab('0x6c')]?_0x3d1485(_0x282aa9[_0x6dab('0x6b')][_0x121b8e]['group']):_0x282aa9[_0x6dab('0x6b')][_0x121b8e][_0x6dab('0x6d')]+'\x20'+_0x282aa9[_0x6dab('0x6b')][_0x121b8e][_0x6dab('0x6e')]+(_0x2eb14c(_0x282aa9['rules'][_0x121b8e][_0x6dab('0x6e')])?'\x20'+_0x282aa9[_0x6dab('0x6b')][_0x121b8e]['value']:'');}return _0x14e7d4+')';};var _0x49c3da={'where':{'id':_0x354408['id']}},_0x4ba271,_0x7036a7,_0x4f1108,_0x2a4fd3,_0x48412b;_0x49c3da=_['merge']({},_0x49c3da,_0x56b247);return db[_0x6dab('0x30')][_0x6dab('0x4d')](_0x49c3da)[_0x6dab('0x28')](function(_0x520160){if(_0x520160){_0x4ba271=_0x520160;return _0x520160[_0x6dab('0x70')]();}return null;})['then'](function(_0x131b1e){if(_0x131b1e){if(!_0x131b1e[_0x6dab('0x3b')]){throw new db[(_0x6dab('0x71'))][(_0x6dab('0x8e'))](_0x6dab('0x72'),0x193);}_0x7036a7=_0x131b1e;return db['AnalyticMetric'][_0x6dab('0x48')]({'raw':!![]});}return null;})[_0x6dab('0x28')](function(_0x211364){if(_0x211364){_0x4f1108=_[_0x6dab('0x74')](_0x211364,'id');var _0x475e22;var _0x2647fd=squel[_0x6dab('0x75')]();_0x2647fd['from'](_0x4ba271['table']);for(var _0x2ea7bf=0x0;_0x2ea7bf<_0x7036a7['length'];_0x2ea7bf+=0x1){_0x475e22=_0x7036a7[_0x2ea7bf][_0x6dab('0x78')]?_0x4f1108[_0x7036a7[_0x2ea7bf][_0x6dab('0x78')]]['metric']:_0x7036a7[_0x2ea7bf][_0x6dab('0x6d')];_0x475e22=_0x7036a7[_0x2ea7bf]['function']?_['replace'](_0x5a1332[_0x7036a7[_0x2ea7bf][_0x6dab('0x79')]],'%s',_0x475e22):_0x475e22;_0x475e22=_0x7036a7[_0x2ea7bf][_0x6dab('0x7b')]?_[_0x6dab('0x7a')](_0x5614b7[_0x7036a7[_0x2ea7bf][_0x6dab('0x7b')]],'%s',_0x475e22):_0x475e22;if(_0x7036a7[_0x2ea7bf][_0x6dab('0x8f')]){_0x2647fd['group'](_0x475e22);}_0x7036a7[_0x2ea7bf][_0x6dab('0x7c')]&&_0x2647fd[_0x6dab('0x3e')](_0x475e22,_0x7036a7[_0x2ea7bf][_0x6dab('0x7c')]===_0x6dab('0x90')?![]:!![]);_0x2647fd[_0x6dab('0x6d')](_0x475e22,_0x7036a7[_0x2ea7bf][_0x6dab('0x7d')]||_0x475e22);}if(_0x4ba271[_0x6dab('0x7e')]){_0x4ba271[_0x6dab('0x7e')]=JSON[_0x6dab('0x7f')](_0x4ba271[_0x6dab('0x7e')]);for(var _0x3afc96=0x0;_0x3afc96<_0x4ba271[_0x6dab('0x7e')]['length'];_0x3afc96+=0x1){if(_0x4ba271[_0x6dab('0x7e')][_0x3afc96][_0x6dab('0x32')]&&_[_0x6dab('0x67')](_0x4e8ab4,_0x4ba271['joins'][_0x3afc96]['type'])&&_0x4ba271[_0x6dab('0x7e')][_0x3afc96][_0x6dab('0x91')]&&_0x4ba271[_0x6dab('0x7e')][_0x3afc96][_0x6dab('0x80')]&&_0x4ba271[_0x6dab('0x7e')][_0x3afc96][_0x6dab('0x81')]){_0x2647fd[_0x4ba271[_0x6dab('0x7e')][_0x3afc96][_0x6dab('0x32')]](_0x4ba271[_0x6dab('0x7e')][_0x3afc96][_0x6dab('0x80')],null,util[_0x6dab('0x7b')]('%s.%s\x20=\x20%s.%s',_0x4ba271[_0x6dab('0x77')],_0x4ba271[_0x6dab('0x7e')][_0x3afc96]['parentKey'],_0x4ba271[_0x6dab('0x7e')][_0x3afc96]['foreignTable'],_0x4ba271['joins'][_0x3afc96][_0x6dab('0x81')]));}}}if(_0x4ba271[_0x6dab('0x82')]){_0x4ba271[_0x6dab('0x82')]=JSON['parse'](_0x4ba271[_0x6dab('0x82')]);_0x2647fd[_0x6dab('0x40')](_0x3d1485(_0x4ba271['conditions'][_0x6dab('0x6c')]));}_0x48412b=_0x2647fd[_0x6dab('0x83')]();_0x2647fd[_0x6dab('0x21')](_0x197c0f);_0x2647fd['offset'](0x0);logger[_0x6dab('0x84')]('Limited\x20Query:',_0x2647fd[_0x6dab('0x86')]());return db['sequelize'][_0x6dab('0x34')](_0x2647fd[_0x6dab('0x86')](),{'type':db[_0x6dab('0x87')][_0x6dab('0x88')][_0x6dab('0x92')]});}})['then'](function(_0x1a60e3){if(!_0x1a60e3[_0x6dab('0x3b')]){throw new db['Sequelize'][(_0x6dab('0x8e'))](_0x6dab('0x93'),0xcc);}if(_0x38dd3f[_0x6dab('0x94')]===_0x6dab('0x95')){return null;}var _0x3f8aed=_[_0x6dab('0x43')](_0x38dd3f,{'name':_0x38dd3f['fullPath']||_0x38dd3f['name']||_0x4ba271['name'],'basename':_0x10db44,'savename':util[_0x6dab('0x7b')](_0x6dab('0x96'),_0x38dd3f[_0x6dab('0x2c')]||_0x4ba271['name'],require('randomstring')[_0x6dab('0x97')](0x4),_0x38dd3f[_0x6dab('0x94')]||_0x6dab('0x98')),'reportId':_0x4ba271['id'],'reportType':_0x6dab('0x99')});return db['AnalyticExtractedReport']['create'](_0x3f8aed,{'raw':!![]});})[_0x6dab('0x28')](function(_0x5ab518){if(_0x4ba271['table']===_0x6dab('0x9a')){_0x48412b[_0x6dab('0x40')](_0x4ba271[_0x6dab('0x77')]+_0x6dab('0x9b'),_0x38dd3f[_0x6dab('0x9c')],_0x38dd3f['endDate']);}else{_0x48412b[_0x6dab('0x40')](_0x4ba271['table']+_0x6dab('0x9d'),_0x38dd3f[_0x6dab('0x9c')],_0x38dd3f[_0x6dab('0x9e')]);}if(_0x5ab518){logger[_0x6dab('0x9f')](_0x6dab('0xa0'),_0x48412b[_0x6dab('0x86')]());require(_0x6dab('0xa1'))['fork'](path[_0x6dab('0x5a')](__dirname,_0x6dab('0xa2'),_0x5ab518[_0x6dab('0x94')]),[_0x5ab518['id'],_0x48412b[_0x6dab('0x86')](),path[_0x6dab('0x5a')](__dirname,'../../files/reports',_0x5ab518[_0x6dab('0xa3')]),_0x10db44]);return _0x5ab518;}else{var _0x59c00d=squel[_0x6dab('0x75')]();_0x59c00d[_0x6dab('0x76')]('('+_0x48412b[_0x6dab('0x86')]()+')',_0x6dab('0xa4'));_0x59c00d[_0x6dab('0x6d')](_0x6dab('0xa5'),_0x6dab('0x1f'));_0x48412b[_0x6dab('0x21')](_0x38dd3f[_0x6dab('0x21')]||_0x197c0f);_0x48412b[_0x6dab('0x20')](_0x38dd3f['offset']||0x0);return dbH['sequelize'][_0x6dab('0x34')](_0x59c00d[_0x6dab('0x86')](),{'type':dbH['sequelize'][_0x6dab('0x88')][_0x6dab('0x92')]})[_0x6dab('0x28')](function(_0x9ae309){if(!_0x9ae309[_0x6dab('0x3b')]){_0x2a4fd3=0x0;}else{_0x2a4fd3=_0x9ae309[0x0][_0x6dab('0x1f')]||0x0;}return dbH[_0x6dab('0x87')]['query'](_0x48412b[_0x6dab('0x86')](),{'type':dbH[_0x6dab('0x87')][_0x6dab('0x88')][_0x6dab('0x92')]});})['then'](function(_0xa330c3){return{'rows':_0xa330c3||[],'count':_0x2a4fd3};});}});}exports[_0x6dab('0xa6')]=function(_0x5ad86d,_0x23dd6d){return runReport(_0x5ad86d['params'],_0x5ad86d['query'],_0x5ad86d['options'])[_0x6dab('0x28')](respondWithResult(_0x23dd6d,null))['catch'](handleError(_0x23dd6d,null));};exports['runReport']=runReport;exports[_0x6dab('0x34')]=function(_0x56ba2c,_0x53d58f){var _0x271600=0xa;var _0x59aea4=[_0x6dab('0x5a'),_0x6dab('0x5b'),_0x6dab('0x5c'),_0x6dab('0x89')];var _0xafb582={'SUM':'SUM(%s)','COUNT':_0x6dab('0xa7'),'COUNT DISTINCT':_0x6dab('0x5e'),'MAX':'MAX(%s)','MIN':_0x6dab('0x5f'),'AVG':_0x6dab('0x60'),'GROUP_CONCAT':_0x6dab('0x61'),'GROUP_CONCAT ASC':_0x6dab('0x8b'),'GROUP_CONCAT DESC':_0x6dab('0x62')};var _0x4d6b79={'SEC_TO_TIME':_0x6dab('0x8c'),'DATE':_0x6dab('0x63'),'HOUR':_0x6dab('0x64'),'ROUND':'ROUND(%s)','UNIX_TIMESTAMP':'UNIX_TIMESTAMP(%s)'};var _0x34ca6d=function(_0x36662d){return!_[_0x6dab('0x67')]([_0x6dab('0x68'),_0x6dab('0x69'),_0x6dab('0x6a'),'IS\x20NOT\x20EMPTY'],_0x36662d);};var _0x416035=function(_0x3f872b){if(!_0x3f872b||!_0x3f872b['rules'][_0x6dab('0x3b')]){return'';}for(var _0xf5714='(',_0xdc5153=0x0;_0xdc5153<_0x3f872b[_0x6dab('0x6b')][_0x6dab('0x3b')];_0xdc5153+=0x1){_0xdc5153>0x0&&(_0xf5714+='\x20'+_0x3f872b[_0x6dab('0xa8')]+'\x20');_0xf5714+=_0x3f872b[_0x6dab('0x6b')][_0xdc5153][_0x6dab('0x6c')]?_0x416035(_0x3f872b[_0x6dab('0x6b')][_0xdc5153][_0x6dab('0x6c')]):_0x3f872b[_0x6dab('0x6b')][_0xdc5153][_0x6dab('0x6d')]+'\x20'+_0x3f872b[_0x6dab('0x6b')][_0xdc5153][_0x6dab('0x6e')]+(_0x34ca6d(_0x3f872b[_0x6dab('0x6b')][_0xdc5153][_0x6dab('0x6e')])?'\x20'+_0x3f872b[_0x6dab('0x6b')][_0xdc5153][_0x6dab('0x6f')]:'');}return _0xf5714+')';};var _0x2bd563={'where':{'id':_0x56ba2c['params']['id']}},_0x54b72a,_0x1962f1,_0xf93e19,_0x5d9636,_0x65f6b8;_0x2bd563=_[_0x6dab('0x43')]({},_0x2bd563,_0x56ba2c[_0x6dab('0x45')]);return db[_0x6dab('0x30')][_0x6dab('0x4d')](_0x2bd563)[_0x6dab('0x28')](function(_0x5b4d80){if(_0x5b4d80){_0x54b72a=_0x5b4d80;return _0x5b4d80[_0x6dab('0x70')]();}return null;})[_0x6dab('0x28')](function(_0x404f1f){if(_0x404f1f){if(!_0x404f1f[_0x6dab('0x3b')]){throw new db[(_0x6dab('0x71'))]['ValidationErrorItem'](_0x6dab('0x72'),0x193);}_0x1962f1=_0x404f1f;return db[_0x6dab('0x73')]['findAll']({'raw':!![]});}return null;})[_0x6dab('0x28')](function(_0x1e4389){if(_0x1e4389){_0xf93e19=_[_0x6dab('0x74')](_0x1e4389,'id');var _0x10a743;var _0x2f9e7a=squel['select']();_0x2f9e7a['from'](_0x54b72a[_0x6dab('0x77')]);for(var _0x21a2db=0x0;_0x21a2db<_0x1962f1[_0x6dab('0x3b')];_0x21a2db+=0x1){_0x10a743=_0x1962f1[_0x21a2db][_0x6dab('0x78')]?_0xf93e19[_0x1962f1[_0x21a2db]['MetricId']][_0x6dab('0xa9')]:_0x1962f1[_0x21a2db][_0x6dab('0x6d')];_0x10a743=_0x1962f1[_0x21a2db][_0x6dab('0x79')]?_[_0x6dab('0x7a')](_0xafb582[_0x1962f1[_0x21a2db][_0x6dab('0x79')]],'%s',_0x10a743):_0x10a743;_0x10a743=_0x1962f1[_0x21a2db][_0x6dab('0x7b')]?_['replace'](_0x4d6b79[_0x1962f1[_0x21a2db]['format']],'%s',_0x10a743):_0x10a743;if(_0x1962f1[_0x21a2db]['groupBy']){_0x2f9e7a['group'](_0x10a743);}_0x1962f1[_0x21a2db][_0x6dab('0x7c')]&&_0x2f9e7a[_0x6dab('0x3e')](_0x10a743,_0x1962f1[_0x21a2db]['orderBy']===_0x6dab('0x90')?![]:!![]);_0x2f9e7a[_0x6dab('0x6d')](_0x10a743,_0x1962f1[_0x21a2db][_0x6dab('0x7d')]||_0x10a743);}if(_0x54b72a[_0x6dab('0x7e')]){_0x54b72a[_0x6dab('0x7e')]=JSON[_0x6dab('0x7f')](_0x54b72a[_0x6dab('0x7e')]);for(var _0x14123b=0x0;_0x14123b<_0x54b72a[_0x6dab('0x7e')]['length'];_0x14123b+=0x1){if(_0x54b72a[_0x6dab('0x7e')][_0x14123b][_0x6dab('0x32')]&&_['includes'](_0x59aea4,_0x54b72a[_0x6dab('0x7e')][_0x14123b]['type'])&&_0x54b72a[_0x6dab('0x7e')][_0x14123b]['parentKey']&&_0x54b72a[_0x6dab('0x7e')][_0x14123b]['foreignTable']&&_0x54b72a[_0x6dab('0x7e')][_0x14123b][_0x6dab('0x81')]){_0x2f9e7a[_0x54b72a['joins'][_0x14123b][_0x6dab('0x32')]](_0x54b72a[_0x6dab('0x7e')][_0x14123b][_0x6dab('0x80')],null,util[_0x6dab('0x7b')](_0x6dab('0xaa'),_0x54b72a[_0x6dab('0x77')],_0x54b72a['joins'][_0x14123b][_0x6dab('0x91')],_0x54b72a['joins'][_0x14123b]['foreignTable'],_0x54b72a[_0x6dab('0x7e')][_0x14123b]['foreignKey']));}}}if(_0x54b72a[_0x6dab('0x82')]){_0x54b72a[_0x6dab('0x82')]=JSON[_0x6dab('0x7f')](_0x54b72a[_0x6dab('0x82')]);_0x2f9e7a[_0x6dab('0x40')](_0x416035(_0x54b72a[_0x6dab('0x82')][_0x6dab('0x6c')]));}_0x65f6b8=_0x2f9e7a[_0x6dab('0x83')]();_0x2f9e7a['limit'](_0x271600);_0x2f9e7a[_0x6dab('0x20')](0x0);logger[_0x6dab('0x84')](_0x6dab('0x85'),_0x2f9e7a[_0x6dab('0x86')]());return db[_0x6dab('0x87')][_0x6dab('0x34')](_0x2f9e7a[_0x6dab('0x86')](),{'type':db[_0x6dab('0x87')]['QueryTypes']['SELECT']});}})['then'](function(){return{'sql':_0x65f6b8[_0x6dab('0x86')]()};})[_0x6dab('0x28')](respondWithResult(_0x53d58f,null))[_0x6dab('0x57')](handleError(_0x53d58f,null));};