9df5b878ced07275c77c486b88829154609e4c30
[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 _0xd344=['type','key','model','query','keys','filters','intersection','fields','attributes','length','nolimit','order','sort','where','pick','merge','VIRTUAL','filter','options','count','includeAll','include','rows','catch','show','params','rawAttributes','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','Reports','find','userProfileId','DefaultReports','error','preview','join','left_join','right_join','SUM(%s)','COUNT(%s)','MAX(%s)','MIN(%s)','AVG(%s)','GROUP_CONCAT(%s)','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)','ROUND(%s)','UNIX_TIMESTAMP(%s)','includes','IS\x20NULL','IS\x20EMPTY','rules','group','field','condition','value','getFields','Sequelize','ValidationErrorItem','findAll','keyBy','select','from','table','MetricId','metric','function','replace','format','groupBy','orderBy','alias','joins','foreignTable','foreignKey','conditions','parse','clone','Limited\x20Query:','toString','sequelize','QueryTypes','SELECT','cross_join','COUNT(DISTINCT\x20%s)','SEC_TO_TIME(%s)','DATE(%s)','IS\x20NOT\x20NULL','IS\x20NOT\x20EMPTY','operator','AnalyticMetric','DESC','parentKey','output','fullPath','randomstring','generate','csv','default','AnalyticExtractedReport','cdr','.calldate\x20BETWEEN\x20?\x20AND\x20?','startDate','endDate','.createdAt\x20BETWEEN\x20?\x20AND\x20?','info','Run\x20Query:','child_process','../../components/export/','../../files/reports','savename','countTable','COUNT(*)','run','Please\x20insert\x20at\x20least\x20one\x20field','%s.%s\x20=\x20%s.%s','debug','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','dbH','sendStatus','status','json','offset','limit','set','Content-Range','reject','update','then','get','UserProfileResource','destroy','end','stack','name','send','index','AnalyticDefaultReport'];(function(_0x3900a3,_0x5410d2){var _0x4577c2=function(_0x49469b){while(--_0x49469b){_0x3900a3['push'](_0x3900a3['shift']());}};_0x4577c2(++_0x5410d2);}(_0xd344,0x78));var _0x4d34=function(_0x47b0b1,_0x61a1ed){_0x47b0b1=_0x47b0b1-0x0;var _0x28e38e=_0xd344[_0x47b0b1];return _0x28e38e;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x4d34('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0x4d34('0x1'));var rp=require(_0x4d34('0x2'));var moment=require(_0x4d34('0x3'));var BPromise=require(_0x4d34('0x4'));var Mustache=require(_0x4d34('0x5'));var util=require(_0x4d34('0x6'));var path=require(_0x4d34('0x7'));var sox=require(_0x4d34('0x8'));var csv=require(_0x4d34('0x9'));var ejs=require(_0x4d34('0xa'));var fs=require('fs');var fs_extra=require(_0x4d34('0xb'));var _=require(_0x4d34('0xc'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x4d34('0xd'));var deskjs=require(_0x4d34('0xe'));var toCsv=require(_0x4d34('0x9'));var querystring=require(_0x4d34('0xf'));var Papa=require(_0x4d34('0x10'));var Redis=require(_0x4d34('0x11'));var authService=require('../../components/auth/service');var qs=require(_0x4d34('0x12'));var as=require(_0x4d34('0x13'));var hardwareService=require(_0x4d34('0x14'));var logger=require(_0x4d34('0x15'))(_0x4d34('0x16'));var utils=require('../../config/utils');var config=require(_0x4d34('0x17'));var licenseUtil=require(_0x4d34('0x18'));var db=require(_0x4d34('0x19'))['db'];var dbH=require(_0x4d34('0x19'))[_0x4d34('0x1a')];function respondWithStatusCode(_0x4d5e22,_0x5ab243){_0x5ab243=_0x5ab243||0xcc;return function(_0x4c031b){if(_0x4c031b){return _0x4d5e22[_0x4d34('0x1b')](_0x5ab243);}return _0x4d5e22[_0x4d34('0x1c')](_0x5ab243)['end']();};}function respondWithResult(_0x5cdeba,_0x3feb1a){_0x3feb1a=_0x3feb1a||0xc8;return function(_0x19509c){if(_0x19509c){return _0x5cdeba[_0x4d34('0x1c')](_0x3feb1a)[_0x4d34('0x1d')](_0x19509c);}};}function respondWithFilteredResult(_0x188838,_0x590fca){return function(_0x1d1502){if(_0x1d1502){var _0x2db894=_0x1d1502['count'],_0x37aebd=_0x590fca['offset'],_0x818d94=_0x590fca[_0x4d34('0x1e')]+_0x590fca[_0x4d34('0x1f')],_0xd9b2b0;if(_0x818d94>=_0x2db894){_0x818d94=_0x2db894;_0xd9b2b0=0xc8;}else{_0xd9b2b0=0xce;}_0x188838[_0x4d34('0x1c')](_0xd9b2b0);return _0x188838[_0x4d34('0x20')](_0x4d34('0x21'),_0x37aebd+'-'+_0x818d94+'/'+_0x2db894)[_0x4d34('0x1d')](_0x1d1502);}return null;};}function patchUpdates(_0xbe81d2){return function(_0x52ac8d){try{jsonpatch['apply'](_0x52ac8d,_0xbe81d2,!![]);}catch(_0x4042d5){return BPromise[_0x4d34('0x22')](_0x4042d5);}return _0x52ac8d['save']();};}function saveUpdates(_0x1bdfd5,_0x39b2a5){return function(_0x4332a3){if(_0x4332a3){return _0x4332a3[_0x4d34('0x23')](_0x1bdfd5)[_0x4d34('0x24')](function(_0x1175c9){return _0x1175c9;});}return null;};}function removeEntity(_0x19a393,_0x3fa2e6){return function(_0x13d0a5){if(_0x13d0a5){return _0x13d0a5['destroy']()[_0x4d34('0x24')](function(){var _0x41a5c7=_0x13d0a5[_0x4d34('0x25')]({'plain':!![]});var _0x35ec6f='DefaultReports';return db[_0x4d34('0x26')][_0x4d34('0x27')]({'where':{'type':_0x35ec6f,'resourceId':_0x41a5c7['id']}})['then'](function(){return _0x13d0a5;});})['then'](function(){_0x19a393[_0x4d34('0x1c')](0xcc)[_0x4d34('0x28')]();});}};}function handleEntityNotFound(_0x2c42c2,_0x440728){return function(_0x1bec53){if(!_0x1bec53){_0x2c42c2['sendStatus'](0x194);}return _0x1bec53;};}function handleError(_0x774deb,_0x5d15e2){_0x5d15e2=_0x5d15e2||0x1f4;return function(_0x2ab138){logger['error'](_0x2ab138[_0x4d34('0x29')]);if(_0x2ab138[_0x4d34('0x2a')]){delete _0x2ab138[_0x4d34('0x2a')];}_0x774deb[_0x4d34('0x1c')](_0x5d15e2)[_0x4d34('0x2b')](_0x2ab138);};}exports[_0x4d34('0x2c')]=function(_0x27450a,_0x3a68e8){var _0x4e147c={},_0x7095fe={},_0x5d494f={'count':0x0,'rows':[]};var _0x3b1179=_['map'](db[_0x4d34('0x2d')]['rawAttributes'],function(_0x5d1ee3){return{'name':_0x5d1ee3['fieldName'],'type':_0x5d1ee3[_0x4d34('0x2e')][_0x4d34('0x2f')]};});_0x7095fe[_0x4d34('0x30')]=_['map'](_0x3b1179,_0x4d34('0x2a'));_0x7095fe[_0x4d34('0x31')]=_[_0x4d34('0x32')](_0x27450a[_0x4d34('0x31')]);_0x7095fe[_0x4d34('0x33')]=_[_0x4d34('0x34')](_0x7095fe[_0x4d34('0x30')],_0x7095fe['query']);_0x4e147c['attributes']=_[_0x4d34('0x34')](_0x7095fe['model'],qs[_0x4d34('0x35')](_0x27450a[_0x4d34('0x31')]['fields']));_0x4e147c[_0x4d34('0x36')]=_0x4e147c[_0x4d34('0x36')][_0x4d34('0x37')]?_0x4e147c['attributes']:_0x7095fe[_0x4d34('0x30')];if(!_0x27450a['query']['hasOwnProperty'](_0x4d34('0x38'))){_0x4e147c[_0x4d34('0x1f')]=qs[_0x4d34('0x1f')](_0x27450a[_0x4d34('0x31')][_0x4d34('0x1f')]);_0x4e147c['offset']=qs['offset'](_0x27450a[_0x4d34('0x31')][_0x4d34('0x1e')]);}_0x4e147c[_0x4d34('0x39')]=qs['sort'](_0x27450a[_0x4d34('0x31')][_0x4d34('0x3a')]);_0x4e147c[_0x4d34('0x3b')]=qs[_0x4d34('0x33')](_[_0x4d34('0x3c')](_0x27450a['query'],_0x7095fe[_0x4d34('0x33')]),_0x3b1179);if(_0x27450a[_0x4d34('0x31')]['filter']){_0x4e147c[_0x4d34('0x3b')]=_[_0x4d34('0x3d')](_0x4e147c[_0x4d34('0x3b')],{'$or':_['map'](_0x3b1179,function(_0x487728){if(_0x487728[_0x4d34('0x2e')]!==_0x4d34('0x3e')){var _0x230109={};_0x230109[_0x487728[_0x4d34('0x2a')]]={'$like':'%'+_0x27450a[_0x4d34('0x31')][_0x4d34('0x3f')]+'%'};return _0x230109;}})});}_0x4e147c=_[_0x4d34('0x3d')]({},_0x4e147c,_0x27450a[_0x4d34('0x40')]);var _0xdc2140={'where':_0x4e147c[_0x4d34('0x3b')]};return db[_0x4d34('0x2d')][_0x4d34('0x41')](_0xdc2140)[_0x4d34('0x24')](function(_0x33a0f2){_0x5d494f['count']=_0x33a0f2;if(_0x27450a[_0x4d34('0x31')][_0x4d34('0x42')]){_0x4e147c[_0x4d34('0x43')]=[{'all':!![]}];}return db[_0x4d34('0x2d')]['findAll'](_0x4e147c);})[_0x4d34('0x24')](function(_0x5af2c7){_0x5d494f[_0x4d34('0x44')]=_0x5af2c7;return _0x5d494f;})[_0x4d34('0x24')](respondWithFilteredResult(_0x3a68e8,_0x4e147c))[_0x4d34('0x45')](handleError(_0x3a68e8,null));};exports[_0x4d34('0x46')]=function(_0x13e7c1,_0x2737eb){var _0x1aa8e1={'raw':!![],'where':{'id':_0x13e7c1[_0x4d34('0x47')]['id']}},_0x89d0df={};_0x89d0df['model']=_['keys'](db['AnalyticDefaultReport'][_0x4d34('0x48')]);_0x89d0df['query']=_[_0x4d34('0x32')](_0x13e7c1[_0x4d34('0x31')]);_0x89d0df['filters']=_[_0x4d34('0x34')](_0x89d0df['model'],_0x89d0df[_0x4d34('0x31')]);_0x1aa8e1['attributes']=_['intersection'](_0x89d0df['model'],qs[_0x4d34('0x35')](_0x13e7c1[_0x4d34('0x31')]['fields']));_0x1aa8e1['attributes']=_0x1aa8e1[_0x4d34('0x36')][_0x4d34('0x37')]?_0x1aa8e1[_0x4d34('0x36')]:_0x89d0df['model'];if(_0x13e7c1[_0x4d34('0x31')][_0x4d34('0x42')]){_0x1aa8e1[_0x4d34('0x43')]=[{'all':!![]}];}_0x1aa8e1=_[_0x4d34('0x3d')]({},_0x1aa8e1,_0x13e7c1['options']);return db[_0x4d34('0x2d')]['find'](_0x1aa8e1)[_0x4d34('0x24')](handleEntityNotFound(_0x2737eb,null))[_0x4d34('0x24')](respondWithResult(_0x2737eb,null))[_0x4d34('0x45')](handleError(_0x2737eb,null));};exports[_0x4d34('0x49')]=function(_0x38b9d5,_0x2786e2){return db['AnalyticDefaultReport'][_0x4d34('0x49')](_0x38b9d5[_0x4d34('0x4a')],{})[_0x4d34('0x24')](function(_0x35c9ef){var _0x282902=_0x38b9d5[_0x4d34('0x4b')]['get']({'plain':!![]});if(!_0x282902)throw new Error(_0x4d34('0x4c'));if(_0x282902[_0x4d34('0x4d')]==='user'){var _0x1985b2=_0x35c9ef[_0x4d34('0x25')]({'plain':!![]});var _0xf30a7=_0x4d34('0x4e');return db['UserProfileSection'][_0x4d34('0x4f')]({'where':{'name':_0xf30a7,'userProfileId':_0x282902[_0x4d34('0x50')]},'raw':!![]})[_0x4d34('0x24')](function(_0x4a119c){if(_0x4a119c&&_0x4a119c['autoAssociation']===0x0){return db[_0x4d34('0x26')]['create']({'name':_0x1985b2[_0x4d34('0x2a')],'resourceId':_0x1985b2['id'],'type':_0x4d34('0x51'),'sectionId':_0x4a119c['id']},{})[_0x4d34('0x24')](function(){return _0x35c9ef;});}else{return _0x35c9ef;}})[_0x4d34('0x45')](function(_0x334160){logger[_0x4d34('0x52')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x334160);throw _0x334160;});}return _0x35c9ef;})[_0x4d34('0x24')](respondWithResult(_0x2786e2,0xc9))['catch'](handleError(_0x2786e2,null));};exports[_0x4d34('0x23')]=function(_0x23def3,_0x404235){if(_0x23def3[_0x4d34('0x4a')]['id']){delete _0x23def3[_0x4d34('0x4a')]['id'];}return db[_0x4d34('0x2d')][_0x4d34('0x4f')]({'where':{'id':_0x23def3[_0x4d34('0x47')]['id']}})['then'](handleEntityNotFound(_0x404235,null))['then'](saveUpdates(_0x23def3[_0x4d34('0x4a')],null))[_0x4d34('0x24')](respondWithResult(_0x404235,null))[_0x4d34('0x45')](handleError(_0x404235,null));};exports['destroy']=function(_0x14dc64,_0x251690){return db['AnalyticDefaultReport'][_0x4d34('0x4f')]({'where':{'id':_0x14dc64['params']['id']}})[_0x4d34('0x24')](handleEntityNotFound(_0x251690,null))['then'](removeEntity(_0x251690,null))[_0x4d34('0x45')](handleError(_0x251690,null));};exports[_0x4d34('0x53')]=function(_0x23cc04,_0x53974d){var _0x494f04=0xa;var _0x21d332=[_0x4d34('0x54'),_0x4d34('0x55'),_0x4d34('0x56'),'cross_join'];var _0x380264={'SUM':_0x4d34('0x57'),'COUNT':_0x4d34('0x58'),'COUNT DISTINCT':'COUNT(DISTINCT\x20%s)','MAX':_0x4d34('0x59'),'MIN':_0x4d34('0x5a'),'AVG':_0x4d34('0x5b'),'GROUP_CONCAT':_0x4d34('0x5c'),'GROUP_CONCAT ASC':_0x4d34('0x5d'),'GROUP_CONCAT DESC':_0x4d34('0x5e')};var _0x444f20={'SEC_TO_TIME':'SEC_TO_TIME(%s)','DATE':'DATE(%s)','HOUR':'HOUR(%s)','ROUND':_0x4d34('0x5f'),'UNIX_TIMESTAMP':_0x4d34('0x60')};var _0x336428=function(_0x2de0f2){return!_[_0x4d34('0x61')]([_0x4d34('0x62'),'IS\x20NOT\x20NULL',_0x4d34('0x63'),'IS\x20NOT\x20EMPTY'],_0x2de0f2);};var _0x13d2ce=function(_0x30d96c){if(!_0x30d96c||!_0x30d96c[_0x4d34('0x64')][_0x4d34('0x37')]){return'';}for(var _0x269075='(',_0x3c0ae4=0x0;_0x3c0ae4<_0x30d96c[_0x4d34('0x64')][_0x4d34('0x37')];_0x3c0ae4+=0x1){_0x3c0ae4>0x0&&(_0x269075+='\x20'+_0x30d96c['operator']+'\x20');_0x269075+=_0x30d96c[_0x4d34('0x64')][_0x3c0ae4][_0x4d34('0x65')]?_0x13d2ce(_0x30d96c[_0x4d34('0x64')][_0x3c0ae4][_0x4d34('0x65')]):_0x30d96c[_0x4d34('0x64')][_0x3c0ae4][_0x4d34('0x66')]+'\x20'+_0x30d96c['rules'][_0x3c0ae4]['condition']+(_0x336428(_0x30d96c[_0x4d34('0x64')][_0x3c0ae4][_0x4d34('0x67')])?'\x20'+_0x30d96c[_0x4d34('0x64')][_0x3c0ae4][_0x4d34('0x68')]:'');}return _0x269075+')';};var _0x989558={'where':{'id':_0x23cc04[_0x4d34('0x47')]['id']}},_0x22d72d,_0x12a545,_0x2389ad,_0xe5a463,_0x1838bd;_0x989558=_[_0x4d34('0x3d')]({},_0x989558,_0x23cc04['options']);return db['AnalyticDefaultReport'][_0x4d34('0x4f')](_0x989558)[_0x4d34('0x24')](function(_0x5b2c9a){if(_0x5b2c9a){_0x22d72d=_0x5b2c9a;return _0x5b2c9a[_0x4d34('0x69')]();}return null;})[_0x4d34('0x24')](function(_0x135cf7){if(_0x135cf7){if(!_0x135cf7[_0x4d34('0x37')]){throw new db[(_0x4d34('0x6a'))][(_0x4d34('0x6b'))]('Please\x20insert\x20at\x20least\x20one\x20field',0x193);}_0x12a545=_0x135cf7;return db['AnalyticMetric'][_0x4d34('0x6c')]({'raw':!![]});}return null;})[_0x4d34('0x24')](function(_0x1aa811){if(_0x1aa811){_0x2389ad=_[_0x4d34('0x6d')](_0x1aa811,'id');var _0x4f42d7;var _0x359be1=squel[_0x4d34('0x6e')]();_0x359be1[_0x4d34('0x6f')](_0x22d72d[_0x4d34('0x70')]);for(var _0xe7fd7b=0x0;_0xe7fd7b<_0x12a545[_0x4d34('0x37')];_0xe7fd7b+=0x1){_0x4f42d7=_0x12a545[_0xe7fd7b]['MetricId']?_0x2389ad[_0x12a545[_0xe7fd7b][_0x4d34('0x71')]][_0x4d34('0x72')]:_0x12a545[_0xe7fd7b][_0x4d34('0x66')];_0x4f42d7=_0x12a545[_0xe7fd7b][_0x4d34('0x73')]?_[_0x4d34('0x74')](_0x380264[_0x12a545[_0xe7fd7b][_0x4d34('0x73')]],'%s',_0x4f42d7):_0x4f42d7;_0x4f42d7=_0x12a545[_0xe7fd7b]['format']?_[_0x4d34('0x74')](_0x444f20[_0x12a545[_0xe7fd7b][_0x4d34('0x75')]],'%s',_0x4f42d7):_0x4f42d7;if(_0x12a545[_0xe7fd7b][_0x4d34('0x76')]){_0x359be1['group'](_0x4f42d7);}_0x12a545[_0xe7fd7b][_0x4d34('0x77')]&&_0x359be1[_0x4d34('0x39')](_0x4f42d7,_0x12a545[_0xe7fd7b][_0x4d34('0x77')]==='DESC'?![]:!![]);_0x359be1[_0x4d34('0x66')](_0x4f42d7,_0x12a545[_0xe7fd7b][_0x4d34('0x78')]||_0x4f42d7);}if(_0x22d72d['joins']){_0x22d72d[_0x4d34('0x79')]=JSON['parse'](_0x22d72d[_0x4d34('0x79')]);for(var _0x525896=0x0;_0x525896<_0x22d72d[_0x4d34('0x79')][_0x4d34('0x37')];_0x525896+=0x1){if(_0x22d72d[_0x4d34('0x79')][_0x525896]['type']&&_[_0x4d34('0x61')](_0x21d332,_0x22d72d[_0x4d34('0x79')][_0x525896]['type'])&&_0x22d72d['joins'][_0x525896]['parentKey']&&_0x22d72d[_0x4d34('0x79')][_0x525896][_0x4d34('0x7a')]&&_0x22d72d[_0x4d34('0x79')][_0x525896][_0x4d34('0x7b')]){_0x359be1[_0x22d72d['joins'][_0x525896][_0x4d34('0x2e')]](_0x22d72d[_0x4d34('0x79')][_0x525896][_0x4d34('0x7a')],null,util[_0x4d34('0x75')]('%s.%s\x20=\x20%s.%s',_0x22d72d['table'],_0x22d72d[_0x4d34('0x79')][_0x525896]['parentKey'],_0x22d72d[_0x4d34('0x79')][_0x525896][_0x4d34('0x7a')],_0x22d72d[_0x4d34('0x79')][_0x525896][_0x4d34('0x7b')]));}}}if(_0x22d72d[_0x4d34('0x7c')]){_0x22d72d[_0x4d34('0x7c')]=JSON[_0x4d34('0x7d')](_0x22d72d[_0x4d34('0x7c')]);_0x359be1['where'](_0x13d2ce(_0x22d72d['conditions'][_0x4d34('0x65')]));}_0x1838bd=_0x359be1[_0x4d34('0x7e')]();_0x359be1[_0x4d34('0x1f')](_0x494f04);_0x359be1['offset'](0x0);logger['debug'](_0x4d34('0x7f'),_0x359be1[_0x4d34('0x80')]());return dbH[_0x4d34('0x81')][_0x4d34('0x31')](_0x359be1[_0x4d34('0x80')](),{'type':dbH[_0x4d34('0x81')][_0x4d34('0x82')][_0x4d34('0x83')]});}})[_0x4d34('0x24')](respondWithResult(_0x53974d,null))['catch'](handleError(_0x53974d,null));};function runReport(_0x587394,_0x3f9af7,_0x46a025){var _0x43103b=_0x3f9af7[_0x4d34('0x2a')];var _0x57cfa4=0xa;var _0x2b093e=[_0x4d34('0x54'),_0x4d34('0x55'),_0x4d34('0x56'),_0x4d34('0x84')];var _0x38efa8={'SUM':_0x4d34('0x57'),'COUNT':'COUNT(%s)','COUNT DISTINCT':_0x4d34('0x85'),'MAX':_0x4d34('0x59'),'MIN':_0x4d34('0x5a'),'AVG':_0x4d34('0x5b'),'GROUP_CONCAT':_0x4d34('0x5c'),'GROUP_CONCAT ASC':_0x4d34('0x5d'),'GROUP_CONCAT DESC':_0x4d34('0x5e')};var _0x221512={'SEC_TO_TIME':_0x4d34('0x86'),'DATE':_0x4d34('0x87'),'HOUR':'HOUR(%s)','ROUND':_0x4d34('0x5f'),'UNIX_TIMESTAMP':_0x4d34('0x60')};var _0xe36978=function(_0x9ea875){return!_[_0x4d34('0x61')]([_0x4d34('0x62'),_0x4d34('0x88'),_0x4d34('0x63'),_0x4d34('0x89')],_0x9ea875);};var _0x4d4f00=function(_0x5c6b54){if(!_0x5c6b54||!_0x5c6b54['rules'][_0x4d34('0x37')]){return'';}for(var _0x5c32e0='(',_0x4468d4=0x0;_0x4468d4<_0x5c6b54[_0x4d34('0x64')]['length'];_0x4468d4+=0x1){_0x4468d4>0x0&&(_0x5c32e0+='\x20'+_0x5c6b54[_0x4d34('0x8a')]+'\x20');_0x5c32e0+=_0x5c6b54[_0x4d34('0x64')][_0x4468d4]['group']?_0x4d4f00(_0x5c6b54[_0x4d34('0x64')][_0x4468d4][_0x4d34('0x65')]):_0x5c6b54['rules'][_0x4468d4][_0x4d34('0x66')]+'\x20'+_0x5c6b54['rules'][_0x4468d4][_0x4d34('0x67')]+(_0xe36978(_0x5c6b54[_0x4d34('0x64')][_0x4468d4][_0x4d34('0x67')])?'\x20'+_0x5c6b54[_0x4d34('0x64')][_0x4468d4][_0x4d34('0x68')]:'');}return _0x5c32e0+')';};var _0x59aa7f={'where':{'id':_0x587394['id']}},_0x1b092d,_0x5682ff,_0x17c859,_0x374d09,_0x14e1f2;_0x59aa7f=_[_0x4d34('0x3d')]({},_0x59aa7f,_0x46a025);return db[_0x4d34('0x2d')][_0x4d34('0x4f')](_0x59aa7f)['then'](function(_0x49866c){if(_0x49866c){_0x1b092d=_0x49866c;return _0x49866c[_0x4d34('0x69')]();}return null;})[_0x4d34('0x24')](function(_0x1c477d){if(_0x1c477d){if(!_0x1c477d[_0x4d34('0x37')]){throw new db[(_0x4d34('0x6a'))][(_0x4d34('0x6b'))]('Please\x20insert\x20at\x20least\x20one\x20field',0x193);}_0x5682ff=_0x1c477d;return db[_0x4d34('0x8b')][_0x4d34('0x6c')]({'raw':!![]});}return null;})['then'](function(_0x55267b){if(_0x55267b){_0x17c859=_[_0x4d34('0x6d')](_0x55267b,'id');var _0x37343b;var _0x1e52e4=squel[_0x4d34('0x6e')]();_0x1e52e4[_0x4d34('0x6f')](_0x1b092d[_0x4d34('0x70')]);for(var _0x458cea=0x0;_0x458cea<_0x5682ff[_0x4d34('0x37')];_0x458cea+=0x1){_0x37343b=_0x5682ff[_0x458cea][_0x4d34('0x71')]?_0x17c859[_0x5682ff[_0x458cea]['MetricId']][_0x4d34('0x72')]:_0x5682ff[_0x458cea][_0x4d34('0x66')];_0x37343b=_0x5682ff[_0x458cea]['function']?_[_0x4d34('0x74')](_0x38efa8[_0x5682ff[_0x458cea][_0x4d34('0x73')]],'%s',_0x37343b):_0x37343b;_0x37343b=_0x5682ff[_0x458cea]['format']?_[_0x4d34('0x74')](_0x221512[_0x5682ff[_0x458cea][_0x4d34('0x75')]],'%s',_0x37343b):_0x37343b;if(_0x5682ff[_0x458cea][_0x4d34('0x76')]){_0x1e52e4[_0x4d34('0x65')](_0x37343b);}_0x5682ff[_0x458cea][_0x4d34('0x77')]&&_0x1e52e4[_0x4d34('0x39')](_0x37343b,_0x5682ff[_0x458cea][_0x4d34('0x77')]===_0x4d34('0x8c')?![]:!![]);_0x1e52e4[_0x4d34('0x66')](_0x37343b,_0x5682ff[_0x458cea][_0x4d34('0x78')]||_0x37343b);}if(_0x1b092d[_0x4d34('0x79')]){_0x1b092d[_0x4d34('0x79')]=JSON['parse'](_0x1b092d[_0x4d34('0x79')]);for(var _0x223ba0=0x0;_0x223ba0<_0x1b092d[_0x4d34('0x79')][_0x4d34('0x37')];_0x223ba0+=0x1){if(_0x1b092d['joins'][_0x223ba0][_0x4d34('0x2e')]&&_[_0x4d34('0x61')](_0x2b093e,_0x1b092d[_0x4d34('0x79')][_0x223ba0][_0x4d34('0x2e')])&&_0x1b092d['joins'][_0x223ba0][_0x4d34('0x8d')]&&_0x1b092d['joins'][_0x223ba0][_0x4d34('0x7a')]&&_0x1b092d[_0x4d34('0x79')][_0x223ba0][_0x4d34('0x7b')]){_0x1e52e4[_0x1b092d[_0x4d34('0x79')][_0x223ba0][_0x4d34('0x2e')]](_0x1b092d[_0x4d34('0x79')][_0x223ba0][_0x4d34('0x7a')],null,util[_0x4d34('0x75')]('%s.%s\x20=\x20%s.%s',_0x1b092d[_0x4d34('0x70')],_0x1b092d[_0x4d34('0x79')][_0x223ba0]['parentKey'],_0x1b092d[_0x4d34('0x79')][_0x223ba0]['foreignTable'],_0x1b092d[_0x4d34('0x79')][_0x223ba0][_0x4d34('0x7b')]));}}}if(_0x1b092d['conditions']){_0x1b092d[_0x4d34('0x7c')]=JSON[_0x4d34('0x7d')](_0x1b092d[_0x4d34('0x7c')]);_0x1e52e4[_0x4d34('0x3b')](_0x4d4f00(_0x1b092d[_0x4d34('0x7c')]['group']));}_0x14e1f2=_0x1e52e4[_0x4d34('0x7e')]();_0x1e52e4[_0x4d34('0x1f')](_0x57cfa4);_0x1e52e4['offset'](0x0);return;}})[_0x4d34('0x24')](function(){if(_0x3f9af7[_0x4d34('0x8e')]==='web'){return null;}var _0x4d5568=_[_0x4d34('0x3d')](_0x3f9af7,{'name':_0x3f9af7[_0x4d34('0x8f')]||_0x3f9af7[_0x4d34('0x2a')]||_0x1b092d['name'],'basename':_0x43103b,'savename':util[_0x4d34('0x75')]('%s-%s.%s',_0x3f9af7[_0x4d34('0x2a')]||_0x1b092d[_0x4d34('0x2a')],require(_0x4d34('0x90'))[_0x4d34('0x91')](0x4),_0x3f9af7[_0x4d34('0x8e')]||_0x4d34('0x92')),'reportId':_0x1b092d['id'],'reportType':_0x4d34('0x93')});return db[_0x4d34('0x94')][_0x4d34('0x49')](_0x4d5568,{'raw':!![]});})['then'](function(_0x49a56f){if(_0x1b092d[_0x4d34('0x70')]===_0x4d34('0x95')){_0x14e1f2[_0x4d34('0x3b')](_0x1b092d[_0x4d34('0x70')]+_0x4d34('0x96'),_0x3f9af7[_0x4d34('0x97')],_0x3f9af7[_0x4d34('0x98')]);}else{_0x14e1f2[_0x4d34('0x3b')](_0x1b092d[_0x4d34('0x70')]+_0x4d34('0x99'),_0x3f9af7[_0x4d34('0x97')],_0x3f9af7[_0x4d34('0x98')]);}if(_0x49a56f){logger[_0x4d34('0x9a')](_0x4d34('0x9b'),_0x14e1f2[_0x4d34('0x80')]());require(_0x4d34('0x9c'))['fork'](path['join'](__dirname,_0x4d34('0x9d'),_0x49a56f[_0x4d34('0x8e')]),[_0x49a56f['id'],_0x14e1f2[_0x4d34('0x80')](),path[_0x4d34('0x54')](__dirname,_0x4d34('0x9e'),_0x49a56f[_0x4d34('0x9f')]),_0x43103b]);return _0x49a56f;}else{var _0x212c2f=squel['select']();_0x212c2f[_0x4d34('0x6f')]('('+_0x14e1f2[_0x4d34('0x80')]()+')',_0x4d34('0xa0'));_0x212c2f[_0x4d34('0x66')](_0x4d34('0xa1'),'count');_0x14e1f2[_0x4d34('0x1f')](_0x3f9af7[_0x4d34('0x1f')]||_0x57cfa4);_0x14e1f2['offset'](_0x3f9af7['offset']||0x0);return dbH['sequelize'][_0x4d34('0x31')](_0x212c2f[_0x4d34('0x80')](),{'type':dbH[_0x4d34('0x81')]['QueryTypes'][_0x4d34('0x83')]})['then'](function(_0x3b6070){if(!_0x3b6070['length']){_0x374d09=0x0;}else{_0x374d09=_0x3b6070[0x0][_0x4d34('0x41')]||0x0;}return dbH[_0x4d34('0x81')]['query'](_0x14e1f2[_0x4d34('0x80')](),{'type':dbH['sequelize']['QueryTypes']['SELECT']});})[_0x4d34('0x24')](function(_0xbe7ecd){return{'rows':_0xbe7ecd||[],'count':_0x374d09};});}});}exports[_0x4d34('0xa2')]=function(_0x17cf99,_0x45381c){return runReport(_0x17cf99['params'],_0x17cf99[_0x4d34('0x31')],_0x17cf99[_0x4d34('0x40')])[_0x4d34('0x24')](respondWithResult(_0x45381c,null))['catch'](handleError(_0x45381c,null));};exports['runReport']=runReport;exports['query']=function(_0x560186,_0x1cd77a){var _0x352a6b=0xa;var _0x55b3a1=['join','left_join',_0x4d34('0x56'),'cross_join'];var _0x582147={'SUM':_0x4d34('0x57'),'COUNT':_0x4d34('0x58'),'COUNT DISTINCT':_0x4d34('0x85'),'MAX':'MAX(%s)','MIN':'MIN(%s)','AVG':'AVG(%s)','GROUP_CONCAT':_0x4d34('0x5c'),'GROUP_CONCAT ASC':_0x4d34('0x5d'),'GROUP_CONCAT DESC':_0x4d34('0x5e')};var _0x1fdc76={'SEC_TO_TIME':_0x4d34('0x86'),'DATE':'DATE(%s)','HOUR':'HOUR(%s)','ROUND':_0x4d34('0x5f'),'UNIX_TIMESTAMP':_0x4d34('0x60')};var _0x509551=function(_0x1a7a04){return!_[_0x4d34('0x61')]([_0x4d34('0x62'),_0x4d34('0x88'),_0x4d34('0x63'),'IS\x20NOT\x20EMPTY'],_0x1a7a04);};var _0x53aed9=function(_0x442a29){if(!_0x442a29||!_0x442a29[_0x4d34('0x64')][_0x4d34('0x37')]){return'';}for(var _0x1f4516='(',_0x7273f8=0x0;_0x7273f8<_0x442a29[_0x4d34('0x64')][_0x4d34('0x37')];_0x7273f8+=0x1){_0x7273f8>0x0&&(_0x1f4516+='\x20'+_0x442a29[_0x4d34('0x8a')]+'\x20');_0x1f4516+=_0x442a29['rules'][_0x7273f8][_0x4d34('0x65')]?_0x53aed9(_0x442a29[_0x4d34('0x64')][_0x7273f8][_0x4d34('0x65')]):_0x442a29['rules'][_0x7273f8][_0x4d34('0x66')]+'\x20'+_0x442a29[_0x4d34('0x64')][_0x7273f8][_0x4d34('0x67')]+(_0x509551(_0x442a29[_0x4d34('0x64')][_0x7273f8]['condition'])?'\x20'+_0x442a29[_0x4d34('0x64')][_0x7273f8]['value']:'');}return _0x1f4516+')';};var _0x18c371={'where':{'id':_0x560186[_0x4d34('0x47')]['id']}},_0x4f22fb,_0x456622,_0x4f61be,_0x1127a3,_0x35598e;_0x18c371=_[_0x4d34('0x3d')]({},_0x18c371,_0x560186[_0x4d34('0x40')]);return db['AnalyticDefaultReport'][_0x4d34('0x4f')](_0x18c371)[_0x4d34('0x24')](function(_0x5bd3aa){if(_0x5bd3aa){_0x4f22fb=_0x5bd3aa;return _0x5bd3aa[_0x4d34('0x69')]();}return null;})['then'](function(_0xd50949){if(_0xd50949){if(!_0xd50949[_0x4d34('0x37')]){throw new db['Sequelize'][(_0x4d34('0x6b'))](_0x4d34('0xa3'),0x193);}_0x456622=_0xd50949;return db[_0x4d34('0x8b')]['findAll']({'raw':!![]});}return null;})[_0x4d34('0x24')](function(_0x4d4c9a){if(_0x4d4c9a){_0x4f61be=_['keyBy'](_0x4d4c9a,'id');var _0x2ec16a;var _0xd3c071=squel[_0x4d34('0x6e')]();_0xd3c071[_0x4d34('0x6f')](_0x4f22fb[_0x4d34('0x70')]);for(var _0x1a987f=0x0;_0x1a987f<_0x456622[_0x4d34('0x37')];_0x1a987f+=0x1){_0x2ec16a=_0x456622[_0x1a987f]['MetricId']?_0x4f61be[_0x456622[_0x1a987f][_0x4d34('0x71')]][_0x4d34('0x72')]:_0x456622[_0x1a987f][_0x4d34('0x66')];_0x2ec16a=_0x456622[_0x1a987f][_0x4d34('0x73')]?_['replace'](_0x582147[_0x456622[_0x1a987f][_0x4d34('0x73')]],'%s',_0x2ec16a):_0x2ec16a;_0x2ec16a=_0x456622[_0x1a987f]['format']?_[_0x4d34('0x74')](_0x1fdc76[_0x456622[_0x1a987f][_0x4d34('0x75')]],'%s',_0x2ec16a):_0x2ec16a;if(_0x456622[_0x1a987f][_0x4d34('0x76')]){_0xd3c071[_0x4d34('0x65')](_0x2ec16a);}_0x456622[_0x1a987f][_0x4d34('0x77')]&&_0xd3c071['order'](_0x2ec16a,_0x456622[_0x1a987f][_0x4d34('0x77')]==='DESC'?![]:!![]);_0xd3c071[_0x4d34('0x66')](_0x2ec16a,_0x456622[_0x1a987f][_0x4d34('0x78')]||_0x2ec16a);}if(_0x4f22fb[_0x4d34('0x79')]){_0x4f22fb[_0x4d34('0x79')]=JSON[_0x4d34('0x7d')](_0x4f22fb[_0x4d34('0x79')]);for(var _0x5487e4=0x0;_0x5487e4<_0x4f22fb['joins']['length'];_0x5487e4+=0x1){if(_0x4f22fb[_0x4d34('0x79')][_0x5487e4][_0x4d34('0x2e')]&&_[_0x4d34('0x61')](_0x55b3a1,_0x4f22fb['joins'][_0x5487e4]['type'])&&_0x4f22fb[_0x4d34('0x79')][_0x5487e4][_0x4d34('0x8d')]&&_0x4f22fb['joins'][_0x5487e4][_0x4d34('0x7a')]&&_0x4f22fb[_0x4d34('0x79')][_0x5487e4][_0x4d34('0x7b')]){_0xd3c071[_0x4f22fb[_0x4d34('0x79')][_0x5487e4]['type']](_0x4f22fb['joins'][_0x5487e4][_0x4d34('0x7a')],null,util['format'](_0x4d34('0xa4'),_0x4f22fb[_0x4d34('0x70')],_0x4f22fb[_0x4d34('0x79')][_0x5487e4][_0x4d34('0x8d')],_0x4f22fb['joins'][_0x5487e4][_0x4d34('0x7a')],_0x4f22fb[_0x4d34('0x79')][_0x5487e4][_0x4d34('0x7b')]));}}}if(_0x4f22fb[_0x4d34('0x7c')]){_0x4f22fb[_0x4d34('0x7c')]=JSON[_0x4d34('0x7d')](_0x4f22fb[_0x4d34('0x7c')]);_0xd3c071[_0x4d34('0x3b')](_0x53aed9(_0x4f22fb[_0x4d34('0x7c')]['group']));}_0x35598e=_0xd3c071[_0x4d34('0x7e')]();_0xd3c071[_0x4d34('0x1f')](_0x352a6b);_0xd3c071['offset'](0x0);logger[_0x4d34('0xa5')]('Limited\x20Query:',_0xd3c071[_0x4d34('0x80')]());return dbH[_0x4d34('0x81')]['query'](_0xd3c071[_0x4d34('0x80')](),{'type':dbH[_0x4d34('0x81')][_0x4d34('0x82')][_0x4d34('0x83')]});}})[_0x4d34('0x24')](function(){return{'sql':_0x35598e[_0x4d34('0x80')]()};})[_0x4d34('0x24')](respondWithResult(_0x1cd77a,null))['catch'](handleError(_0x1cd77a,null));};