Built motion from commit (unavailable).|2.5.23
[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 _0x3299=['Content-Range','json','apply','reject','update','then','UserProfileResource','destroy','error','name','send','index','map','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','order','sort','where','filter','merge','VIRTUAL','options','AnalyticDefaultReport','include','findAll','catch','params','keys','includeAll','create','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','Reports','UserProfileSection','find','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','preview','left_join','right_join','cross_join','SUM(%s)','COUNT(%s)','COUNT(DISTINCT\x20%s)','AVG(%s)','GROUP_CONCAT(%s)','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)','DATE(%s)','HOUR(%s)','UNIX_TIMESTAMP(%s)','includes','IS\x20NULL','IS\x20NOT\x20NULL','IS\x20EMPTY','IS\x20NOT\x20EMPTY','rules','operator','group','field','condition','value','getFields','Sequelize','ValidationErrorItem','AnalyticMetric','keyBy','from','metric','replace','function','format','groupBy','orderBy','DESC','alias','joins','foreignKey','foreignTable','%s.%s\x20=\x20%s.%s','table','parentKey','conditions','parse','clone','debug','Limited\x20Query:','toString','sequelize','QueryTypes','join','MAX(%s)','MIN(%s)','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','ROUND(%s)','Please\x20insert\x20at\x20least\x20one\x20field','select','MetricId','output','web','fullPath','%s-%s.%s','randomstring','generate','default','cdr','.calldate\x20BETWEEN\x20?\x20AND\x20?','endDate','info','fork','../../components/export/','../../files/reports','savename','countTable','COUNT(*)','SELECT','runReport','SEC_TO_TIME(%s)','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','count','offset','set'];(function(_0xb34524,_0xea8bde){var _0x4ba7f4=function(_0x42d0ad){while(--_0x42d0ad){_0xb34524['push'](_0xb34524['shift']());}};_0x4ba7f4(++_0xea8bde);}(_0x3299,0x85));var _0x9329=function(_0x2081db,_0x32adf8){_0x2081db=_0x2081db-0x0;var _0x35905f=_0x3299[_0x2081db];return _0x35905f;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x9329('0x0'));var rimraf=require(_0x9329('0x1'));var zipdir=require(_0x9329('0x2'));var jsonpatch=require(_0x9329('0x3'));var rp=require('request-promise');var moment=require(_0x9329('0x4'));var BPromise=require(_0x9329('0x5'));var Mustache=require('mustache');var util=require('util');var path=require(_0x9329('0x6'));var sox=require(_0x9329('0x7'));var csv=require(_0x9329('0x8'));var ejs=require(_0x9329('0x9'));var fs=require('fs');var _=require(_0x9329('0xa'));var squel=require(_0x9329('0xb'));var crypto=require(_0x9329('0xc'));var jsforce=require(_0x9329('0xd'));var deskjs=require('desk.js');var toCsv=require(_0x9329('0x8'));var querystring=require(_0x9329('0xe'));var Papa=require('papaparse');var Redis=require(_0x9329('0xf'));var authService=require(_0x9329('0x10'));var qs=require(_0x9329('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x9329('0x12'));var logger=require('../../config/logger')(_0x9329('0x13'));var utils=require(_0x9329('0x14'));var config=require(_0x9329('0x15'));var licenseUtil=require(_0x9329('0x16'));var db=require(_0x9329('0x17'))['db'];var dbH=require(_0x9329('0x17'))['dbH'];function respondWithStatusCode(_0x282fd3,_0x2f603c){_0x2f603c=_0x2f603c||0xcc;return function(_0x44d7e9){if(_0x44d7e9){return _0x282fd3[_0x9329('0x18')](_0x2f603c);}return _0x282fd3['status'](_0x2f603c)[_0x9329('0x19')]();};}function respondWithResult(_0x3ac7cb,_0x36bff4){_0x36bff4=_0x36bff4||0xc8;return function(_0x1d4f0d){if(_0x1d4f0d){return _0x3ac7cb[_0x9329('0x1a')](_0x36bff4)['json'](_0x1d4f0d);}};}function respondWithFilteredResult(_0x2a7231,_0x159c9f){return function(_0x57f81d){if(_0x57f81d){var _0x36393e=_0x57f81d[_0x9329('0x1b')],_0x4786f8=_0x159c9f[_0x9329('0x1c')],_0x280621=_0x159c9f[_0x9329('0x1c')]+_0x159c9f['limit'],_0x46eb90;if(_0x280621>=_0x36393e){_0x280621=_0x36393e;_0x46eb90=0xc8;}else{_0x46eb90=0xce;}_0x2a7231[_0x9329('0x1a')](_0x46eb90);return _0x2a7231[_0x9329('0x1d')](_0x9329('0x1e'),_0x4786f8+'-'+_0x280621+'/'+_0x36393e)[_0x9329('0x1f')](_0x57f81d);}return null;};}function patchUpdates(_0x1e35cb){return function(_0x11e73b){try{jsonpatch[_0x9329('0x20')](_0x11e73b,_0x1e35cb,!![]);}catch(_0xb4caf7){return BPromise[_0x9329('0x21')](_0xb4caf7);}return _0x11e73b['save']();};}function saveUpdates(_0x12ad68,_0x564311){return function(_0x3d55f8){if(_0x3d55f8){return _0x3d55f8[_0x9329('0x22')](_0x12ad68)[_0x9329('0x23')](function(_0x164f05){return _0x164f05;});}return null;};}function removeEntity(_0x3530db,_0x4b8340){return function(_0x1e0e43){if(_0x1e0e43){return _0x1e0e43['destroy']()[_0x9329('0x23')](function(){var _0x573457=_0x1e0e43['get']({'plain':!![]});var _0x1151ce='DefaultReports';return db[_0x9329('0x24')][_0x9329('0x25')]({'where':{'type':_0x1151ce,'resourceId':_0x573457['id']}})[_0x9329('0x23')](function(){return _0x1e0e43;});})[_0x9329('0x23')](function(){_0x3530db[_0x9329('0x1a')](0xcc)[_0x9329('0x19')]();});}};}function handleEntityNotFound(_0x49dfce,_0x229856){return function(_0x1fc4a6){if(!_0x1fc4a6){_0x49dfce[_0x9329('0x18')](0x194);}return _0x1fc4a6;};}function handleError(_0x32b3b9,_0x3069a2){_0x3069a2=_0x3069a2||0x1f4;return function(_0x27f046){logger[_0x9329('0x26')](_0x27f046['stack']);if(_0x27f046[_0x9329('0x27')]){delete _0x27f046[_0x9329('0x27')];}_0x32b3b9['status'](_0x3069a2)[_0x9329('0x28')](_0x27f046);};}exports[_0x9329('0x29')]=function(_0x17b9a6,_0x3d61ff){var _0x59e436={},_0x2ba940={},_0x214d86={'count':0x0,'rows':[]};var _0x358c0a=_[_0x9329('0x2a')](db['AnalyticDefaultReport'][_0x9329('0x2b')],function(_0x219ded){return{'name':_0x219ded[_0x9329('0x2c')],'type':_0x219ded[_0x9329('0x2d')][_0x9329('0x2e')]};});_0x2ba940[_0x9329('0x2f')]=_['map'](_0x358c0a,_0x9329('0x27'));_0x2ba940[_0x9329('0x30')]=_['keys'](_0x17b9a6['query']);_0x2ba940[_0x9329('0x31')]=_[_0x9329('0x32')](_0x2ba940[_0x9329('0x2f')],_0x2ba940[_0x9329('0x30')]);_0x59e436[_0x9329('0x33')]=_['intersection'](_0x2ba940[_0x9329('0x2f')],qs[_0x9329('0x34')](_0x17b9a6[_0x9329('0x30')][_0x9329('0x34')]));_0x59e436[_0x9329('0x33')]=_0x59e436[_0x9329('0x33')][_0x9329('0x35')]?_0x59e436[_0x9329('0x33')]:_0x2ba940[_0x9329('0x2f')];if(!_0x17b9a6[_0x9329('0x30')][_0x9329('0x36')](_0x9329('0x37'))){_0x59e436[_0x9329('0x38')]=qs[_0x9329('0x38')](_0x17b9a6[_0x9329('0x30')][_0x9329('0x38')]);_0x59e436[_0x9329('0x1c')]=qs[_0x9329('0x1c')](_0x17b9a6[_0x9329('0x30')]['offset']);}_0x59e436[_0x9329('0x39')]=qs['sort'](_0x17b9a6[_0x9329('0x30')][_0x9329('0x3a')]);_0x59e436[_0x9329('0x3b')]=qs[_0x9329('0x31')](_['pick'](_0x17b9a6[_0x9329('0x30')],_0x2ba940[_0x9329('0x31')]),_0x358c0a);if(_0x17b9a6[_0x9329('0x30')][_0x9329('0x3c')]){_0x59e436['where']=_[_0x9329('0x3d')](_0x59e436['where'],{'$or':_['map'](_0x358c0a,function(_0x1661b2){if(_0x1661b2[_0x9329('0x2d')]!==_0x9329('0x3e')){var _0x1754d2={};_0x1754d2[_0x1661b2[_0x9329('0x27')]]={'$like':'%'+_0x17b9a6[_0x9329('0x30')][_0x9329('0x3c')]+'%'};return _0x1754d2;}})});}_0x59e436=_['merge']({},_0x59e436,_0x17b9a6[_0x9329('0x3f')]);var _0x31fe12={'where':_0x59e436[_0x9329('0x3b')]};return db[_0x9329('0x40')][_0x9329('0x1b')](_0x31fe12)[_0x9329('0x23')](function(_0x25629f){_0x214d86[_0x9329('0x1b')]=_0x25629f;if(_0x17b9a6[_0x9329('0x30')]['includeAll']){_0x59e436[_0x9329('0x41')]=[{'all':!![]}];}return db[_0x9329('0x40')][_0x9329('0x42')](_0x59e436);})[_0x9329('0x23')](function(_0x2472e2){_0x214d86['rows']=_0x2472e2;return _0x214d86;})['then'](respondWithFilteredResult(_0x3d61ff,_0x59e436))[_0x9329('0x43')](handleError(_0x3d61ff,null));};exports['show']=function(_0x507df8,_0x331590){var _0x335af6={'raw':!![],'where':{'id':_0x507df8[_0x9329('0x44')]['id']}},_0x576021={};_0x576021['model']=_[_0x9329('0x45')](db[_0x9329('0x40')]['rawAttributes']);_0x576021[_0x9329('0x30')]=_[_0x9329('0x45')](_0x507df8[_0x9329('0x30')]);_0x576021[_0x9329('0x31')]=_[_0x9329('0x32')](_0x576021['model'],_0x576021[_0x9329('0x30')]);_0x335af6['attributes']=_[_0x9329('0x32')](_0x576021['model'],qs[_0x9329('0x34')](_0x507df8[_0x9329('0x30')][_0x9329('0x34')]));_0x335af6[_0x9329('0x33')]=_0x335af6[_0x9329('0x33')][_0x9329('0x35')]?_0x335af6[_0x9329('0x33')]:_0x576021['model'];if(_0x507df8[_0x9329('0x30')][_0x9329('0x46')]){_0x335af6[_0x9329('0x41')]=[{'all':!![]}];}_0x335af6=_['merge']({},_0x335af6,_0x507df8['options']);return db[_0x9329('0x40')]['find'](_0x335af6)['then'](handleEntityNotFound(_0x331590,null))[_0x9329('0x23')](respondWithResult(_0x331590,null))[_0x9329('0x43')](handleError(_0x331590,null));};exports[_0x9329('0x47')]=function(_0x1f84ff,_0x48eef6){return db[_0x9329('0x40')]['create'](_0x1f84ff['body'],{})[_0x9329('0x23')](function(_0x4bf345){var _0x1264bf=_0x1f84ff[_0x9329('0x48')][_0x9329('0x49')]({'plain':!![]});if(!_0x1264bf)throw new Error(_0x9329('0x4a'));if(_0x1264bf[_0x9329('0x4b')]===_0x9329('0x48')){var _0xfe435f=_0x4bf345[_0x9329('0x49')]({'plain':!![]});var _0x10a79c=_0x9329('0x4c');return db[_0x9329('0x4d')][_0x9329('0x4e')]({'where':{'name':_0x10a79c,'userProfileId':_0x1264bf[_0x9329('0x4f')]},'raw':!![]})[_0x9329('0x23')](function(_0x14b537){if(_0x14b537&&_0x14b537[_0x9329('0x50')]===0x0){return db[_0x9329('0x24')][_0x9329('0x47')]({'name':_0xfe435f['name'],'resourceId':_0xfe435f['id'],'type':'DefaultReports','sectionId':_0x14b537['id']},{})[_0x9329('0x23')](function(){return _0x4bf345;});}else{return _0x4bf345;}})[_0x9329('0x43')](function(_0x23db5d){logger[_0x9329('0x26')](_0x9329('0x51'),_0x23db5d);throw _0x23db5d;});}return _0x4bf345;})[_0x9329('0x23')](respondWithResult(_0x48eef6,0xc9))[_0x9329('0x43')](handleError(_0x48eef6,null));};exports[_0x9329('0x22')]=function(_0x234b9b,_0x63b193){if(_0x234b9b[_0x9329('0x52')]['id']){delete _0x234b9b['body']['id'];}return db[_0x9329('0x40')][_0x9329('0x4e')]({'where':{'id':_0x234b9b[_0x9329('0x44')]['id']}})[_0x9329('0x23')](handleEntityNotFound(_0x63b193,null))[_0x9329('0x23')](saveUpdates(_0x234b9b['body'],null))[_0x9329('0x23')](respondWithResult(_0x63b193,null))['catch'](handleError(_0x63b193,null));};exports[_0x9329('0x25')]=function(_0x1b1cb6,_0x14b0d5){return db[_0x9329('0x40')][_0x9329('0x4e')]({'where':{'id':_0x1b1cb6[_0x9329('0x44')]['id']}})[_0x9329('0x23')](handleEntityNotFound(_0x14b0d5,null))[_0x9329('0x23')](removeEntity(_0x14b0d5,null))[_0x9329('0x43')](handleError(_0x14b0d5,null));};exports[_0x9329('0x53')]=function(_0x171867,_0x33e58d){var _0x2c4152=0xa;var _0x36566=['join',_0x9329('0x54'),_0x9329('0x55'),_0x9329('0x56')];var _0x49bf9c={'SUM':_0x9329('0x57'),'COUNT':_0x9329('0x58'),'COUNT DISTINCT':_0x9329('0x59'),'MAX':'MAX(%s)','MIN':'MIN(%s)','AVG':_0x9329('0x5a'),'GROUP_CONCAT':_0x9329('0x5b'),'GROUP_CONCAT ASC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','GROUP_CONCAT DESC':_0x9329('0x5c')};var _0x3dec4c={'SEC_TO_TIME':'SEC_TO_TIME(%s)','DATE':_0x9329('0x5d'),'HOUR':_0x9329('0x5e'),'ROUND':'ROUND(%s)','UNIX_TIMESTAMP':_0x9329('0x5f')};var _0xdf1893=function(_0x209d91){return!_[_0x9329('0x60')]([_0x9329('0x61'),_0x9329('0x62'),_0x9329('0x63'),_0x9329('0x64')],_0x209d91);};var _0x48dc25=function(_0x21e630){if(!_0x21e630||!_0x21e630[_0x9329('0x65')][_0x9329('0x35')]){return'';}for(var _0x5d8cce='(',_0x3c9428=0x0;_0x3c9428<_0x21e630[_0x9329('0x65')][_0x9329('0x35')];_0x3c9428+=0x1){_0x3c9428>0x0&&(_0x5d8cce+='\x20'+_0x21e630[_0x9329('0x66')]+'\x20');_0x5d8cce+=_0x21e630[_0x9329('0x65')][_0x3c9428][_0x9329('0x67')]?_0x48dc25(_0x21e630[_0x9329('0x65')][_0x3c9428]['group']):_0x21e630[_0x9329('0x65')][_0x3c9428][_0x9329('0x68')]+'\x20'+_0x21e630[_0x9329('0x65')][_0x3c9428][_0x9329('0x69')]+(_0xdf1893(_0x21e630[_0x9329('0x65')][_0x3c9428][_0x9329('0x69')])?'\x20'+_0x21e630['rules'][_0x3c9428][_0x9329('0x6a')]:'');}return _0x5d8cce+')';};var _0xecc9e={'where':{'id':_0x171867['params']['id']}},_0x4ef875,_0x2f0271,_0xba5fac,_0x1dbea8,_0x3bcf06;_0xecc9e=_[_0x9329('0x3d')]({},_0xecc9e,_0x171867[_0x9329('0x3f')]);return db['AnalyticDefaultReport']['find'](_0xecc9e)['then'](function(_0x163a5b){if(_0x163a5b){_0x4ef875=_0x163a5b;return _0x163a5b[_0x9329('0x6b')]();}return null;})[_0x9329('0x23')](function(_0xc308e1){if(_0xc308e1){if(!_0xc308e1['length']){throw new db[(_0x9329('0x6c'))][(_0x9329('0x6d'))]('Please\x20insert\x20at\x20least\x20one\x20field',0x193);}_0x2f0271=_0xc308e1;return db[_0x9329('0x6e')]['findAll']({'raw':!![]});}return null;})[_0x9329('0x23')](function(_0x2a46f0){if(_0x2a46f0){_0xba5fac=_[_0x9329('0x6f')](_0x2a46f0,'id');var _0x40e9f4;var _0x4a6399=squel['select']();_0x4a6399[_0x9329('0x70')](_0x4ef875['table']);for(var _0x10fd72=0x0;_0x10fd72<_0x2f0271['length'];_0x10fd72+=0x1){_0x40e9f4=_0x2f0271[_0x10fd72]['MetricId']?_0xba5fac[_0x2f0271[_0x10fd72]['MetricId']][_0x9329('0x71')]:_0x2f0271[_0x10fd72]['field'];_0x40e9f4=_0x2f0271[_0x10fd72]['function']?_[_0x9329('0x72')](_0x49bf9c[_0x2f0271[_0x10fd72][_0x9329('0x73')]],'%s',_0x40e9f4):_0x40e9f4;_0x40e9f4=_0x2f0271[_0x10fd72]['format']?_[_0x9329('0x72')](_0x3dec4c[_0x2f0271[_0x10fd72][_0x9329('0x74')]],'%s',_0x40e9f4):_0x40e9f4;if(_0x2f0271[_0x10fd72][_0x9329('0x75')]){_0x4a6399[_0x9329('0x67')](_0x40e9f4);}_0x2f0271[_0x10fd72][_0x9329('0x76')]&&_0x4a6399[_0x9329('0x39')](_0x40e9f4,_0x2f0271[_0x10fd72][_0x9329('0x76')]===_0x9329('0x77')?![]:!![]);_0x4a6399[_0x9329('0x68')](_0x40e9f4,_0x2f0271[_0x10fd72][_0x9329('0x78')]||_0x40e9f4);}if(_0x4ef875[_0x9329('0x79')]){_0x4ef875[_0x9329('0x79')]=JSON['parse'](_0x4ef875[_0x9329('0x79')]);for(var _0x3209fb=0x0;_0x3209fb<_0x4ef875[_0x9329('0x79')][_0x9329('0x35')];_0x3209fb+=0x1){if(_0x4ef875['joins'][_0x3209fb][_0x9329('0x2d')]&&_[_0x9329('0x60')](_0x36566,_0x4ef875[_0x9329('0x79')][_0x3209fb]['type'])&&_0x4ef875[_0x9329('0x79')][_0x3209fb]['parentKey']&&_0x4ef875['joins'][_0x3209fb]['foreignTable']&&_0x4ef875['joins'][_0x3209fb][_0x9329('0x7a')]){_0x4a6399[_0x4ef875[_0x9329('0x79')][_0x3209fb]['type']](_0x4ef875[_0x9329('0x79')][_0x3209fb][_0x9329('0x7b')],null,util['format'](_0x9329('0x7c'),_0x4ef875[_0x9329('0x7d')],_0x4ef875[_0x9329('0x79')][_0x3209fb][_0x9329('0x7e')],_0x4ef875[_0x9329('0x79')][_0x3209fb][_0x9329('0x7b')],_0x4ef875['joins'][_0x3209fb][_0x9329('0x7a')]));}}}if(_0x4ef875[_0x9329('0x7f')]){_0x4ef875['conditions']=JSON[_0x9329('0x80')](_0x4ef875[_0x9329('0x7f')]);_0x4a6399[_0x9329('0x3b')](_0x48dc25(_0x4ef875[_0x9329('0x7f')][_0x9329('0x67')]));}_0x3bcf06=_0x4a6399[_0x9329('0x81')]();_0x4a6399[_0x9329('0x38')](_0x2c4152);_0x4a6399[_0x9329('0x1c')](0x0);logger[_0x9329('0x82')](_0x9329('0x83'),_0x4a6399[_0x9329('0x84')]());return dbH['sequelize'][_0x9329('0x30')](_0x4a6399[_0x9329('0x84')](),{'type':dbH[_0x9329('0x85')][_0x9329('0x86')]['SELECT']});}})['then'](respondWithResult(_0x33e58d,null))[_0x9329('0x43')](handleError(_0x33e58d,null));};function runReport(_0x558b79,_0x59be5a,_0xea8054){var _0x3aa971=_0x59be5a[_0x9329('0x27')];var _0x30ea44=0xa;var _0x2d16e3=[_0x9329('0x87'),'left_join',_0x9329('0x55'),_0x9329('0x56')];var _0x5872dd={'SUM':_0x9329('0x57'),'COUNT':_0x9329('0x58'),'COUNT DISTINCT':'COUNT(DISTINCT\x20%s)','MAX':_0x9329('0x88'),'MIN':_0x9329('0x89'),'AVG':_0x9329('0x5a'),'GROUP_CONCAT':'GROUP_CONCAT(%s)','GROUP_CONCAT ASC':_0x9329('0x8a'),'GROUP_CONCAT DESC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)'};var _0xc6035e={'SEC_TO_TIME':'SEC_TO_TIME(%s)','DATE':'DATE(%s)','HOUR':_0x9329('0x5e'),'ROUND':_0x9329('0x8b'),'UNIX_TIMESTAMP':_0x9329('0x5f')};var _0x1efebd=function(_0x303e52){return!_[_0x9329('0x60')]([_0x9329('0x61'),_0x9329('0x62'),_0x9329('0x63'),'IS\x20NOT\x20EMPTY'],_0x303e52);};var _0x2c3579=function(_0xb562a6){if(!_0xb562a6||!_0xb562a6[_0x9329('0x65')]['length']){return'';}for(var _0x21840d='(',_0x515778=0x0;_0x515778<_0xb562a6[_0x9329('0x65')][_0x9329('0x35')];_0x515778+=0x1){_0x515778>0x0&&(_0x21840d+='\x20'+_0xb562a6[_0x9329('0x66')]+'\x20');_0x21840d+=_0xb562a6[_0x9329('0x65')][_0x515778]['group']?_0x2c3579(_0xb562a6[_0x9329('0x65')][_0x515778][_0x9329('0x67')]):_0xb562a6[_0x9329('0x65')][_0x515778][_0x9329('0x68')]+'\x20'+_0xb562a6[_0x9329('0x65')][_0x515778]['condition']+(_0x1efebd(_0xb562a6[_0x9329('0x65')][_0x515778][_0x9329('0x69')])?'\x20'+_0xb562a6[_0x9329('0x65')][_0x515778][_0x9329('0x6a')]:'');}return _0x21840d+')';};var _0x328a13={'where':{'id':_0x558b79['id']}},_0x48bfad,_0x39a5e5,_0x4ee0e9,_0x3d3da9,_0x5bfdf8;_0x328a13=_[_0x9329('0x3d')]({},_0x328a13,_0xea8054);return db[_0x9329('0x40')][_0x9329('0x4e')](_0x328a13)['then'](function(_0x2695d2){if(_0x2695d2){_0x48bfad=_0x2695d2;return _0x2695d2['getFields']();}return null;})[_0x9329('0x23')](function(_0x16d2ad){if(_0x16d2ad){if(!_0x16d2ad[_0x9329('0x35')]){throw new db[(_0x9329('0x6c'))][(_0x9329('0x6d'))](_0x9329('0x8c'),0x193);}_0x39a5e5=_0x16d2ad;return db[_0x9329('0x6e')][_0x9329('0x42')]({'raw':!![]});}return null;})[_0x9329('0x23')](function(_0x283e29){if(_0x283e29){_0x4ee0e9=_[_0x9329('0x6f')](_0x283e29,'id');var _0x2b9a9f;var _0x3df5fa=squel[_0x9329('0x8d')]();_0x3df5fa['from'](_0x48bfad[_0x9329('0x7d')]);for(var _0x1472fd=0x0;_0x1472fd<_0x39a5e5[_0x9329('0x35')];_0x1472fd+=0x1){_0x2b9a9f=_0x39a5e5[_0x1472fd]['MetricId']?_0x4ee0e9[_0x39a5e5[_0x1472fd][_0x9329('0x8e')]][_0x9329('0x71')]:_0x39a5e5[_0x1472fd][_0x9329('0x68')];_0x2b9a9f=_0x39a5e5[_0x1472fd][_0x9329('0x73')]?_['replace'](_0x5872dd[_0x39a5e5[_0x1472fd][_0x9329('0x73')]],'%s',_0x2b9a9f):_0x2b9a9f;_0x2b9a9f=_0x39a5e5[_0x1472fd][_0x9329('0x74')]?_['replace'](_0xc6035e[_0x39a5e5[_0x1472fd]['format']],'%s',_0x2b9a9f):_0x2b9a9f;if(_0x39a5e5[_0x1472fd][_0x9329('0x75')]){_0x3df5fa[_0x9329('0x67')](_0x2b9a9f);}_0x39a5e5[_0x1472fd][_0x9329('0x76')]&&_0x3df5fa[_0x9329('0x39')](_0x2b9a9f,_0x39a5e5[_0x1472fd]['orderBy']===_0x9329('0x77')?![]:!![]);_0x3df5fa[_0x9329('0x68')](_0x2b9a9f,_0x39a5e5[_0x1472fd]['alias']||_0x2b9a9f);}if(_0x48bfad[_0x9329('0x79')]){_0x48bfad[_0x9329('0x79')]=JSON[_0x9329('0x80')](_0x48bfad[_0x9329('0x79')]);for(var _0x19dd5d=0x0;_0x19dd5d<_0x48bfad[_0x9329('0x79')][_0x9329('0x35')];_0x19dd5d+=0x1){if(_0x48bfad[_0x9329('0x79')][_0x19dd5d][_0x9329('0x2d')]&&_[_0x9329('0x60')](_0x2d16e3,_0x48bfad[_0x9329('0x79')][_0x19dd5d]['type'])&&_0x48bfad['joins'][_0x19dd5d][_0x9329('0x7e')]&&_0x48bfad[_0x9329('0x79')][_0x19dd5d][_0x9329('0x7b')]&&_0x48bfad[_0x9329('0x79')][_0x19dd5d]['foreignKey']){_0x3df5fa[_0x48bfad[_0x9329('0x79')][_0x19dd5d]['type']](_0x48bfad[_0x9329('0x79')][_0x19dd5d][_0x9329('0x7b')],null,util[_0x9329('0x74')](_0x9329('0x7c'),_0x48bfad[_0x9329('0x7d')],_0x48bfad[_0x9329('0x79')][_0x19dd5d][_0x9329('0x7e')],_0x48bfad[_0x9329('0x79')][_0x19dd5d][_0x9329('0x7b')],_0x48bfad[_0x9329('0x79')][_0x19dd5d][_0x9329('0x7a')]));}}}if(_0x48bfad[_0x9329('0x7f')]){_0x48bfad[_0x9329('0x7f')]=JSON[_0x9329('0x80')](_0x48bfad[_0x9329('0x7f')]);_0x3df5fa[_0x9329('0x3b')](_0x2c3579(_0x48bfad['conditions'][_0x9329('0x67')]));}_0x5bfdf8=_0x3df5fa['clone']();_0x3df5fa[_0x9329('0x38')](_0x30ea44);_0x3df5fa[_0x9329('0x1c')](0x0);return;}})['then'](function(){if(_0x59be5a[_0x9329('0x8f')]===_0x9329('0x90')){return null;}var _0x58b41f=_[_0x9329('0x3d')](_0x59be5a,{'name':_0x59be5a[_0x9329('0x91')]||_0x59be5a[_0x9329('0x27')]||_0x48bfad[_0x9329('0x27')],'basename':_0x3aa971,'savename':util['format'](_0x9329('0x92'),_0x59be5a[_0x9329('0x27')]||_0x48bfad[_0x9329('0x27')],require(_0x9329('0x93'))[_0x9329('0x94')](0x4),_0x59be5a[_0x9329('0x8f')]||'csv'),'reportId':_0x48bfad['id'],'reportType':_0x9329('0x95')});return db['AnalyticExtractedReport'][_0x9329('0x47')](_0x58b41f,{'raw':!![]});})[_0x9329('0x23')](function(_0xa7599c){if(_0x48bfad[_0x9329('0x7d')]===_0x9329('0x96')){_0x5bfdf8[_0x9329('0x3b')](_0x48bfad['table']+_0x9329('0x97'),_0x59be5a['startDate'],_0x59be5a[_0x9329('0x98')]);}else{_0x5bfdf8[_0x9329('0x3b')](_0x48bfad[_0x9329('0x7d')]+'.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0x59be5a['startDate'],_0x59be5a[_0x9329('0x98')]);}if(_0xa7599c){logger[_0x9329('0x99')]('Run\x20Query:',_0x5bfdf8[_0x9329('0x84')]());require('child_process')[_0x9329('0x9a')](path[_0x9329('0x87')](__dirname,_0x9329('0x9b'),_0xa7599c['output']),[_0xa7599c['id'],_0x5bfdf8[_0x9329('0x84')](),path[_0x9329('0x87')](__dirname,_0x9329('0x9c'),_0xa7599c[_0x9329('0x9d')]),_0x3aa971]);return _0xa7599c;}else{var _0x4a9a86=squel['select']();_0x4a9a86[_0x9329('0x70')]('('+_0x5bfdf8[_0x9329('0x84')]()+')',_0x9329('0x9e'));_0x4a9a86[_0x9329('0x68')](_0x9329('0x9f'),_0x9329('0x1b'));_0x5bfdf8[_0x9329('0x38')](_0x59be5a[_0x9329('0x38')]||_0x30ea44);_0x5bfdf8[_0x9329('0x1c')](_0x59be5a[_0x9329('0x1c')]||0x0);return dbH[_0x9329('0x85')]['query'](_0x4a9a86[_0x9329('0x84')](),{'type':dbH[_0x9329('0x85')][_0x9329('0x86')]['SELECT']})['then'](function(_0x475d99){if(!_0x475d99[_0x9329('0x35')]){_0x3d3da9=0x0;}else{_0x3d3da9=_0x475d99[0x0][_0x9329('0x1b')]||0x0;}return dbH['sequelize'][_0x9329('0x30')](_0x5bfdf8[_0x9329('0x84')](),{'type':dbH['sequelize'][_0x9329('0x86')][_0x9329('0xa0')]});})['then'](function(_0x4d5d03){return{'rows':_0x4d5d03||[],'count':_0x3d3da9};});}});}exports['run']=function(_0x35970f,_0x6abb6a){return runReport(_0x35970f[_0x9329('0x44')],_0x35970f[_0x9329('0x30')],_0x35970f[_0x9329('0x3f')])[_0x9329('0x23')](respondWithResult(_0x6abb6a,null))[_0x9329('0x43')](handleError(_0x6abb6a,null));};exports[_0x9329('0xa1')]=runReport;exports['query']=function(_0x3481e0,_0x47ca48){var _0x5ba83e=0xa;var _0x7468e5=[_0x9329('0x87'),_0x9329('0x54'),_0x9329('0x55'),_0x9329('0x56')];var _0x5254f3={'SUM':'SUM(%s)','COUNT':_0x9329('0x58'),'COUNT DISTINCT':_0x9329('0x59'),'MAX':_0x9329('0x88'),'MIN':_0x9329('0x89'),'AVG':_0x9329('0x5a'),'GROUP_CONCAT':_0x9329('0x5b'),'GROUP_CONCAT ASC':_0x9329('0x8a'),'GROUP_CONCAT DESC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)'};var _0x2b0a33={'SEC_TO_TIME':_0x9329('0xa2'),'DATE':_0x9329('0x5d'),'HOUR':_0x9329('0x5e'),'ROUND':_0x9329('0x8b'),'UNIX_TIMESTAMP':_0x9329('0x5f')};var _0x3d68e8=function(_0x6b1885){return!_[_0x9329('0x60')](['IS\x20NULL','IS\x20NOT\x20NULL',_0x9329('0x63'),_0x9329('0x64')],_0x6b1885);};var _0x43da59=function(_0x1dd9ec){if(!_0x1dd9ec||!_0x1dd9ec[_0x9329('0x65')][_0x9329('0x35')]){return'';}for(var _0xac2172='(',_0xd5ede9=0x0;_0xd5ede9<_0x1dd9ec['rules'][_0x9329('0x35')];_0xd5ede9+=0x1){_0xd5ede9>0x0&&(_0xac2172+='\x20'+_0x1dd9ec[_0x9329('0x66')]+'\x20');_0xac2172+=_0x1dd9ec['rules'][_0xd5ede9]['group']?_0x43da59(_0x1dd9ec[_0x9329('0x65')][_0xd5ede9]['group']):_0x1dd9ec[_0x9329('0x65')][_0xd5ede9]['field']+'\x20'+_0x1dd9ec[_0x9329('0x65')][_0xd5ede9]['condition']+(_0x3d68e8(_0x1dd9ec['rules'][_0xd5ede9]['condition'])?'\x20'+_0x1dd9ec[_0x9329('0x65')][_0xd5ede9][_0x9329('0x6a')]:'');}return _0xac2172+')';};var _0x41cb1a={'where':{'id':_0x3481e0[_0x9329('0x44')]['id']}},_0x130008,_0x55f092,_0x156f0d,_0x53a289,_0x47abfb;_0x41cb1a=_[_0x9329('0x3d')]({},_0x41cb1a,_0x3481e0[_0x9329('0x3f')]);return db[_0x9329('0x40')]['find'](_0x41cb1a)[_0x9329('0x23')](function(_0x2c7bf1){if(_0x2c7bf1){_0x130008=_0x2c7bf1;return _0x2c7bf1[_0x9329('0x6b')]();}return null;})[_0x9329('0x23')](function(_0x24924e){if(_0x24924e){if(!_0x24924e[_0x9329('0x35')]){throw new db['Sequelize'][(_0x9329('0x6d'))](_0x9329('0x8c'),0x193);}_0x55f092=_0x24924e;return db[_0x9329('0x6e')][_0x9329('0x42')]({'raw':!![]});}return null;})[_0x9329('0x23')](function(_0x3fa1c0){if(_0x3fa1c0){_0x156f0d=_[_0x9329('0x6f')](_0x3fa1c0,'id');var _0x171125;var _0x73738e=squel[_0x9329('0x8d')]();_0x73738e[_0x9329('0x70')](_0x130008['table']);for(var _0x23dc1e=0x0;_0x23dc1e<_0x55f092[_0x9329('0x35')];_0x23dc1e+=0x1){_0x171125=_0x55f092[_0x23dc1e][_0x9329('0x8e')]?_0x156f0d[_0x55f092[_0x23dc1e][_0x9329('0x8e')]][_0x9329('0x71')]:_0x55f092[_0x23dc1e][_0x9329('0x68')];_0x171125=_0x55f092[_0x23dc1e][_0x9329('0x73')]?_[_0x9329('0x72')](_0x5254f3[_0x55f092[_0x23dc1e]['function']],'%s',_0x171125):_0x171125;_0x171125=_0x55f092[_0x23dc1e]['format']?_['replace'](_0x2b0a33[_0x55f092[_0x23dc1e][_0x9329('0x74')]],'%s',_0x171125):_0x171125;if(_0x55f092[_0x23dc1e][_0x9329('0x75')]){_0x73738e[_0x9329('0x67')](_0x171125);}_0x55f092[_0x23dc1e][_0x9329('0x76')]&&_0x73738e['order'](_0x171125,_0x55f092[_0x23dc1e][_0x9329('0x76')]===_0x9329('0x77')?![]:!![]);_0x73738e[_0x9329('0x68')](_0x171125,_0x55f092[_0x23dc1e][_0x9329('0x78')]||_0x171125);}if(_0x130008['joins']){_0x130008[_0x9329('0x79')]=JSON['parse'](_0x130008['joins']);for(var _0x53f9c8=0x0;_0x53f9c8<_0x130008[_0x9329('0x79')][_0x9329('0x35')];_0x53f9c8+=0x1){if(_0x130008['joins'][_0x53f9c8][_0x9329('0x2d')]&&_[_0x9329('0x60')](_0x7468e5,_0x130008['joins'][_0x53f9c8][_0x9329('0x2d')])&&_0x130008[_0x9329('0x79')][_0x53f9c8][_0x9329('0x7e')]&&_0x130008[_0x9329('0x79')][_0x53f9c8]['foreignTable']&&_0x130008[_0x9329('0x79')][_0x53f9c8][_0x9329('0x7a')]){_0x73738e[_0x130008[_0x9329('0x79')][_0x53f9c8][_0x9329('0x2d')]](_0x130008[_0x9329('0x79')][_0x53f9c8][_0x9329('0x7b')],null,util['format']('%s.%s\x20=\x20%s.%s',_0x130008[_0x9329('0x7d')],_0x130008[_0x9329('0x79')][_0x53f9c8][_0x9329('0x7e')],_0x130008['joins'][_0x53f9c8][_0x9329('0x7b')],_0x130008[_0x9329('0x79')][_0x53f9c8][_0x9329('0x7a')]));}}}if(_0x130008[_0x9329('0x7f')]){_0x130008[_0x9329('0x7f')]=JSON[_0x9329('0x80')](_0x130008[_0x9329('0x7f')]);_0x73738e[_0x9329('0x3b')](_0x43da59(_0x130008[_0x9329('0x7f')][_0x9329('0x67')]));}_0x47abfb=_0x73738e['clone']();_0x73738e['limit'](_0x5ba83e);_0x73738e[_0x9329('0x1c')](0x0);logger[_0x9329('0x82')]('Limited\x20Query:',_0x73738e[_0x9329('0x84')]());return dbH[_0x9329('0x85')]['query'](_0x73738e[_0x9329('0x84')](),{'type':dbH[_0x9329('0x85')]['QueryTypes'][_0x9329('0xa0')]});}})['then'](function(){return{'sql':_0x47abfb[_0x9329('0x84')]()};})[_0x9329('0x23')](respondWithResult(_0x47ca48,null))['catch'](handleError(_0x47ca48,null));};