Built motion from commit (unavailable).|2.5.1
[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 _0xb5a3=['options','AnalyticDefaultReport','includeAll','include','findAll','catch','show','keys','rawAttributes','length','find','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','Reports','UserProfileSection','userProfileId','autoAssociation','DefaultReports','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','preview','join','left_join','right_join','cross_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)','SEC_TO_TIME(%s)','DATE(%s)','HOUR(%s)','ROUND(%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','table','MetricId','function','replace','format','groupBy','orderBy','DESC','joins','parse','foreignTable','foreignKey','parentKey','conditions','clone','Limited\x20Query:','toString','sequelize','QueryTypes','SELECT','COUNT(DISTINCT\x20%s)','Please\x20insert\x20at\x20least\x20one\x20field','select','metric','order','debug','No\x20available\x20data','output','web','fullPath','%s-%s.%s','randomstring','generate','csv','default','AnalyticExtractedReport','cdr','.calldate\x20BETWEEN\x20?\x20AND\x20?','endDate','.createdAt\x20BETWEEN\x20?\x20AND\x20?','startDate','info','Run\x20Query:','child_process','fork','../../components/export/','savename','countTable','COUNT(*)','run','runReport','from','alias','%s.%s\x20=\x20%s.%s','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','dbH','status','end','count','offset','limit','set','Content-Range','json','apply','reject','save','update','then','destroy','UserProfileResource','error','stack','name','map','type','key','model','query','intersection','attributes','fields','nolimit','sort','where','filters','merge','filter'];(function(_0x79b649,_0x2115b3){var _0x1af9b1=function(_0x153c9f){while(--_0x153c9f){_0x79b649['push'](_0x79b649['shift']());}};_0x1af9b1(++_0x2115b3);}(_0xb5a3,0x70));var _0x3b5a=function(_0x3d27ba,_0x2671a3){_0x3d27ba=_0x3d27ba-0x0;var _0xf01885=_0xb5a3[_0x3d27ba];return _0xf01885;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x3b5a('0x0'));var rimraf=require(_0x3b5a('0x1'));var zipdir=require(_0x3b5a('0x2'));var jsonpatch=require(_0x3b5a('0x3'));var rp=require(_0x3b5a('0x4'));var moment=require(_0x3b5a('0x5'));var BPromise=require(_0x3b5a('0x6'));var Mustache=require('mustache');var util=require(_0x3b5a('0x7'));var path=require(_0x3b5a('0x8'));var sox=require(_0x3b5a('0x9'));var csv=require(_0x3b5a('0xa'));var ejs=require(_0x3b5a('0xb'));var fs=require('fs');var _=require('lodash');var squel=require(_0x3b5a('0xc'));var crypto=require(_0x3b5a('0xd'));var jsforce=require(_0x3b5a('0xe'));var deskjs=require(_0x3b5a('0xf'));var toCsv=require('to-csv');var querystring=require(_0x3b5a('0x10'));var Papa=require(_0x3b5a('0x11'));var Redis=require(_0x3b5a('0x12'));var authService=require('../../components/auth/service');var qs=require(_0x3b5a('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x3b5a('0x14'));var logger=require(_0x3b5a('0x15'))('api');var utils=require(_0x3b5a('0x16'));var config=require(_0x3b5a('0x17'));var db=require('../../mysqldb')['db'];var dbH=require('../../mysqldb')[_0x3b5a('0x18')];function respondWithStatusCode(_0x43d412,_0x16c30e){_0x16c30e=_0x16c30e||0xcc;return function(_0x489887){if(_0x489887){return _0x43d412['sendStatus'](_0x16c30e);}return _0x43d412[_0x3b5a('0x19')](_0x16c30e)[_0x3b5a('0x1a')]();};}function respondWithResult(_0x309a58,_0x5f1a7c){_0x5f1a7c=_0x5f1a7c||0xc8;return function(_0x167b29){if(_0x167b29){return _0x309a58[_0x3b5a('0x19')](_0x5f1a7c)['json'](_0x167b29);}};}function respondWithFilteredResult(_0x14a273,_0x24dc9d){return function(_0xc6e615){if(_0xc6e615){var _0xef6107=_0xc6e615[_0x3b5a('0x1b')],_0x584c09=_0x24dc9d['offset'],_0x4c1ca3=_0x24dc9d[_0x3b5a('0x1c')]+_0x24dc9d[_0x3b5a('0x1d')],_0x22c080;if(_0x4c1ca3>=_0xef6107){_0x4c1ca3=_0xef6107;_0x22c080=0xc8;}else{_0x22c080=0xce;}_0x14a273[_0x3b5a('0x19')](_0x22c080);return _0x14a273[_0x3b5a('0x1e')](_0x3b5a('0x1f'),_0x584c09+'-'+_0x4c1ca3+'/'+_0xef6107)[_0x3b5a('0x20')](_0xc6e615);}return null;};}function patchUpdates(_0x4bf988){return function(_0x48b8b0){try{jsonpatch[_0x3b5a('0x21')](_0x48b8b0,_0x4bf988,!![]);}catch(_0xce56a7){return BPromise[_0x3b5a('0x22')](_0xce56a7);}return _0x48b8b0[_0x3b5a('0x23')]();};}function saveUpdates(_0xdf56be,_0x382479){return function(_0x565ef3){if(_0x565ef3){return _0x565ef3[_0x3b5a('0x24')](_0xdf56be)[_0x3b5a('0x25')](function(_0x5eefdb){return _0x5eefdb;});}return null;};}function removeEntity(_0x410608,_0x2ecb7e){return function(_0x56d9c8){if(_0x56d9c8){return _0x56d9c8[_0x3b5a('0x26')]()['then'](function(){var _0x8729b7=_0x56d9c8['get']({'plain':!![]});var _0x39f1ca='DefaultReports';return db[_0x3b5a('0x27')][_0x3b5a('0x26')]({'where':{'type':_0x39f1ca,'resourceId':_0x8729b7['id']}})[_0x3b5a('0x25')](function(){return _0x56d9c8;});})[_0x3b5a('0x25')](function(){_0x410608[_0x3b5a('0x19')](0xcc)[_0x3b5a('0x1a')]();});}};}function handleEntityNotFound(_0x35f31a,_0x4a7c96){return function(_0x465a1b){if(!_0x465a1b){_0x35f31a['sendStatus'](0x194);}return _0x465a1b;};}function handleError(_0x49e2ed,_0x5dd028){_0x5dd028=_0x5dd028||0x1f4;return function(_0x5a4ea4){logger[_0x3b5a('0x28')](_0x5a4ea4[_0x3b5a('0x29')]);if(_0x5a4ea4[_0x3b5a('0x2a')]){delete _0x5a4ea4[_0x3b5a('0x2a')];}_0x49e2ed[_0x3b5a('0x19')](_0x5dd028)['send'](_0x5a4ea4);};}exports['index']=function(_0x2be42b,_0x1e9ea5){var _0x5913e0={},_0x47ea9e={},_0x295ee3={'count':0x0,'rows':[]};var _0x16a25b=_[_0x3b5a('0x2b')](db['AnalyticDefaultReport']['rawAttributes'],function(_0x4da800){return{'name':_0x4da800['fieldName'],'type':_0x4da800[_0x3b5a('0x2c')][_0x3b5a('0x2d')]};});_0x47ea9e[_0x3b5a('0x2e')]=_[_0x3b5a('0x2b')](_0x16a25b,_0x3b5a('0x2a'));_0x47ea9e[_0x3b5a('0x2f')]=_['keys'](_0x2be42b[_0x3b5a('0x2f')]);_0x47ea9e['filters']=_[_0x3b5a('0x30')](_0x47ea9e['model'],_0x47ea9e[_0x3b5a('0x2f')]);_0x5913e0[_0x3b5a('0x31')]=_[_0x3b5a('0x30')](_0x47ea9e[_0x3b5a('0x2e')],qs[_0x3b5a('0x32')](_0x2be42b[_0x3b5a('0x2f')][_0x3b5a('0x32')]));_0x5913e0[_0x3b5a('0x31')]=_0x5913e0['attributes']['length']?_0x5913e0[_0x3b5a('0x31')]:_0x47ea9e[_0x3b5a('0x2e')];if(!_0x2be42b[_0x3b5a('0x2f')]['hasOwnProperty'](_0x3b5a('0x33'))){_0x5913e0[_0x3b5a('0x1d')]=qs[_0x3b5a('0x1d')](_0x2be42b[_0x3b5a('0x2f')]['limit']);_0x5913e0[_0x3b5a('0x1c')]=qs[_0x3b5a('0x1c')](_0x2be42b[_0x3b5a('0x2f')]['offset']);}_0x5913e0['order']=qs[_0x3b5a('0x34')](_0x2be42b[_0x3b5a('0x2f')][_0x3b5a('0x34')]);_0x5913e0[_0x3b5a('0x35')]=qs[_0x3b5a('0x36')](_['pick'](_0x2be42b[_0x3b5a('0x2f')],_0x47ea9e[_0x3b5a('0x36')]),_0x16a25b);if(_0x2be42b[_0x3b5a('0x2f')]['filter']){_0x5913e0[_0x3b5a('0x35')]=_[_0x3b5a('0x37')](_0x5913e0[_0x3b5a('0x35')],{'$or':_['map'](_0x16a25b,function(_0x4aaa20){if(_0x4aaa20[_0x3b5a('0x2c')]!=='VIRTUAL'){var _0x1aa709={};_0x1aa709[_0x4aaa20[_0x3b5a('0x2a')]]={'$like':'%'+_0x2be42b[_0x3b5a('0x2f')][_0x3b5a('0x38')]+'%'};return _0x1aa709;}})});}_0x5913e0=_['merge']({},_0x5913e0,_0x2be42b[_0x3b5a('0x39')]);var _0x3a6b65={'where':_0x5913e0['where']};return db[_0x3b5a('0x3a')][_0x3b5a('0x1b')](_0x3a6b65)[_0x3b5a('0x25')](function(_0x40bf2c){_0x295ee3['count']=_0x40bf2c;if(_0x2be42b['query'][_0x3b5a('0x3b')]){_0x5913e0[_0x3b5a('0x3c')]=[{'all':!![]}];}return db[_0x3b5a('0x3a')][_0x3b5a('0x3d')](_0x5913e0);})[_0x3b5a('0x25')](function(_0x5d7a6c){_0x295ee3['rows']=_0x5d7a6c;return _0x295ee3;})[_0x3b5a('0x25')](respondWithFilteredResult(_0x1e9ea5,_0x5913e0))[_0x3b5a('0x3e')](handleError(_0x1e9ea5,null));};exports[_0x3b5a('0x3f')]=function(_0x1f52b5,_0x1cd8be){var _0x50e567={'raw':!![],'where':{'id':_0x1f52b5['params']['id']}},_0x14dc7f={};_0x14dc7f['model']=_[_0x3b5a('0x40')](db['AnalyticDefaultReport'][_0x3b5a('0x41')]);_0x14dc7f[_0x3b5a('0x2f')]=_[_0x3b5a('0x40')](_0x1f52b5[_0x3b5a('0x2f')]);_0x14dc7f[_0x3b5a('0x36')]=_['intersection'](_0x14dc7f[_0x3b5a('0x2e')],_0x14dc7f['query']);_0x50e567['attributes']=_[_0x3b5a('0x30')](_0x14dc7f[_0x3b5a('0x2e')],qs[_0x3b5a('0x32')](_0x1f52b5[_0x3b5a('0x2f')][_0x3b5a('0x32')]));_0x50e567['attributes']=_0x50e567[_0x3b5a('0x31')][_0x3b5a('0x42')]?_0x50e567[_0x3b5a('0x31')]:_0x14dc7f[_0x3b5a('0x2e')];if(_0x1f52b5[_0x3b5a('0x2f')][_0x3b5a('0x3b')]){_0x50e567[_0x3b5a('0x3c')]=[{'all':!![]}];}_0x50e567=_[_0x3b5a('0x37')]({},_0x50e567,_0x1f52b5[_0x3b5a('0x39')]);return db[_0x3b5a('0x3a')][_0x3b5a('0x43')](_0x50e567)[_0x3b5a('0x25')](handleEntityNotFound(_0x1cd8be,null))[_0x3b5a('0x25')](respondWithResult(_0x1cd8be,null))['catch'](handleError(_0x1cd8be,null));};exports[_0x3b5a('0x44')]=function(_0x6bacc4,_0x598eaf){return db[_0x3b5a('0x3a')][_0x3b5a('0x44')](_0x6bacc4[_0x3b5a('0x45')],{})[_0x3b5a('0x25')](function(_0x19fe89){var _0x5338e2=_0x6bacc4[_0x3b5a('0x46')][_0x3b5a('0x47')]({'plain':!![]});if(!_0x5338e2)throw new Error(_0x3b5a('0x48'));if(_0x5338e2[_0x3b5a('0x49')]===_0x3b5a('0x46')){var _0x2ca302=_0x19fe89[_0x3b5a('0x47')]({'plain':!![]});var _0x5ec442=_0x3b5a('0x4a');return db[_0x3b5a('0x4b')]['find']({'where':{'name':_0x5ec442,'userProfileId':_0x5338e2[_0x3b5a('0x4c')]},'raw':!![]})[_0x3b5a('0x25')](function(_0x260883){if(_0x260883&&_0x260883[_0x3b5a('0x4d')]===0x0){return db[_0x3b5a('0x27')][_0x3b5a('0x44')]({'name':_0x2ca302[_0x3b5a('0x2a')],'resourceId':_0x2ca302['id'],'type':_0x3b5a('0x4e'),'sectionId':_0x260883['id']},{})[_0x3b5a('0x25')](function(){return _0x19fe89;});}else{return _0x19fe89;}})[_0x3b5a('0x3e')](function(_0x175e7a){logger[_0x3b5a('0x28')](_0x3b5a('0x4f'),_0x175e7a);throw _0x175e7a;});}return _0x19fe89;})['then'](respondWithResult(_0x598eaf,0xc9))[_0x3b5a('0x3e')](handleError(_0x598eaf,null));};exports['update']=function(_0x2a9364,_0x1452f7){if(_0x2a9364[_0x3b5a('0x45')]['id']){delete _0x2a9364[_0x3b5a('0x45')]['id'];}return db['AnalyticDefaultReport']['find']({'where':{'id':_0x2a9364['params']['id']}})[_0x3b5a('0x25')](handleEntityNotFound(_0x1452f7,null))[_0x3b5a('0x25')](saveUpdates(_0x2a9364['body'],null))[_0x3b5a('0x25')](respondWithResult(_0x1452f7,null))[_0x3b5a('0x3e')](handleError(_0x1452f7,null));};exports[_0x3b5a('0x26')]=function(_0x47e7bc,_0x4c3937){return db[_0x3b5a('0x3a')][_0x3b5a('0x43')]({'where':{'id':_0x47e7bc[_0x3b5a('0x50')]['id']}})[_0x3b5a('0x25')](handleEntityNotFound(_0x4c3937,null))['then'](removeEntity(_0x4c3937,null))[_0x3b5a('0x3e')](handleError(_0x4c3937,null));};exports[_0x3b5a('0x51')]=function(_0x26fd7e,_0x2ec20c){var _0x297a57=0xa;var _0x1cbcfb=[_0x3b5a('0x52'),_0x3b5a('0x53'),_0x3b5a('0x54'),_0x3b5a('0x55')];var _0x1333cb={'SUM':_0x3b5a('0x56'),'COUNT':_0x3b5a('0x57'),'COUNT DISTINCT':'COUNT(DISTINCT\x20%s)','MAX':_0x3b5a('0x58'),'MIN':_0x3b5a('0x59'),'AVG':_0x3b5a('0x5a'),'GROUP_CONCAT':_0x3b5a('0x5b'),'GROUP_CONCAT ASC':_0x3b5a('0x5c'),'GROUP_CONCAT DESC':_0x3b5a('0x5d')};var _0x95fb69={'SEC_TO_TIME':_0x3b5a('0x5e'),'DATE':_0x3b5a('0x5f'),'HOUR':_0x3b5a('0x60'),'ROUND':_0x3b5a('0x61'),'UNIX_TIMESTAMP':_0x3b5a('0x62')};var _0x240480=function(_0x23961f){return!_[_0x3b5a('0x63')]([_0x3b5a('0x64'),_0x3b5a('0x65'),_0x3b5a('0x66'),_0x3b5a('0x67')],_0x23961f);};var _0x2c87bf=function(_0x464162){if(!_0x464162||!_0x464162[_0x3b5a('0x68')][_0x3b5a('0x42')]){return'';}for(var _0x2814a9='(',_0x5ee76a=0x0;_0x5ee76a<_0x464162[_0x3b5a('0x68')][_0x3b5a('0x42')];_0x5ee76a+=0x1){_0x5ee76a>0x0&&(_0x2814a9+='\x20'+_0x464162[_0x3b5a('0x69')]+'\x20');_0x2814a9+=_0x464162[_0x3b5a('0x68')][_0x5ee76a][_0x3b5a('0x6a')]?_0x2c87bf(_0x464162[_0x3b5a('0x68')][_0x5ee76a]['group']):_0x464162[_0x3b5a('0x68')][_0x5ee76a][_0x3b5a('0x6b')]+'\x20'+_0x464162[_0x3b5a('0x68')][_0x5ee76a]['condition']+(_0x240480(_0x464162[_0x3b5a('0x68')][_0x5ee76a][_0x3b5a('0x6c')])?'\x20'+_0x464162[_0x3b5a('0x68')][_0x5ee76a][_0x3b5a('0x6d')]:'');}return _0x2814a9+')';};var _0x3fecb7={'where':{'id':_0x26fd7e[_0x3b5a('0x50')]['id']}},_0x14867b,_0x30e29e,_0xb31360,_0x1c06b4,_0x489d7a;_0x3fecb7=_[_0x3b5a('0x37')]({},_0x3fecb7,_0x26fd7e[_0x3b5a('0x39')]);return db['AnalyticDefaultReport']['find'](_0x3fecb7)[_0x3b5a('0x25')](function(_0x5312a8){if(_0x5312a8){_0x14867b=_0x5312a8;return _0x5312a8[_0x3b5a('0x6e')]();}return null;})['then'](function(_0x1c61b3){if(_0x1c61b3){if(!_0x1c61b3[_0x3b5a('0x42')]){throw new db[(_0x3b5a('0x6f'))][(_0x3b5a('0x70'))]('Please\x20insert\x20at\x20least\x20one\x20field',0x193);}_0x30e29e=_0x1c61b3;return db[_0x3b5a('0x71')][_0x3b5a('0x3d')]({'raw':!![]});}return null;})[_0x3b5a('0x25')](function(_0x22bdd8){if(_0x22bdd8){_0xb31360=_[_0x3b5a('0x72')](_0x22bdd8,'id');var _0x27c246;var _0x4628b9=squel['select']();_0x4628b9['from'](_0x14867b[_0x3b5a('0x73')]);for(var _0x42185b=0x0;_0x42185b<_0x30e29e['length'];_0x42185b+=0x1){_0x27c246=_0x30e29e[_0x42185b][_0x3b5a('0x74')]?_0xb31360[_0x30e29e[_0x42185b][_0x3b5a('0x74')]]['metric']:_0x30e29e[_0x42185b][_0x3b5a('0x6b')];_0x27c246=_0x30e29e[_0x42185b][_0x3b5a('0x75')]?_[_0x3b5a('0x76')](_0x1333cb[_0x30e29e[_0x42185b][_0x3b5a('0x75')]],'%s',_0x27c246):_0x27c246;_0x27c246=_0x30e29e[_0x42185b][_0x3b5a('0x77')]?_[_0x3b5a('0x76')](_0x95fb69[_0x30e29e[_0x42185b]['format']],'%s',_0x27c246):_0x27c246;if(_0x30e29e[_0x42185b][_0x3b5a('0x78')]){_0x4628b9[_0x3b5a('0x6a')](_0x27c246);}_0x30e29e[_0x42185b][_0x3b5a('0x79')]&&_0x4628b9['order'](_0x27c246,_0x30e29e[_0x42185b][_0x3b5a('0x79')]===_0x3b5a('0x7a')?![]:!![]);_0x4628b9['field'](_0x27c246,_0x30e29e[_0x42185b]['alias']||_0x27c246);}if(_0x14867b[_0x3b5a('0x7b')]){_0x14867b[_0x3b5a('0x7b')]=JSON[_0x3b5a('0x7c')](_0x14867b[_0x3b5a('0x7b')]);for(var _0x568239=0x0;_0x568239<_0x14867b[_0x3b5a('0x7b')]['length'];_0x568239+=0x1){if(_0x14867b[_0x3b5a('0x7b')][_0x568239][_0x3b5a('0x2c')]&&_[_0x3b5a('0x63')](_0x1cbcfb,_0x14867b[_0x3b5a('0x7b')][_0x568239]['type'])&&_0x14867b[_0x3b5a('0x7b')][_0x568239]['parentKey']&&_0x14867b[_0x3b5a('0x7b')][_0x568239][_0x3b5a('0x7d')]&&_0x14867b['joins'][_0x568239][_0x3b5a('0x7e')]){_0x4628b9[_0x14867b[_0x3b5a('0x7b')][_0x568239][_0x3b5a('0x2c')]](_0x14867b[_0x3b5a('0x7b')][_0x568239]['foreignTable'],null,util[_0x3b5a('0x77')]('%s.%s\x20=\x20%s.%s',_0x14867b['table'],_0x14867b['joins'][_0x568239][_0x3b5a('0x7f')],_0x14867b['joins'][_0x568239][_0x3b5a('0x7d')],_0x14867b['joins'][_0x568239]['foreignKey']));}}}if(_0x14867b[_0x3b5a('0x80')]){_0x14867b['conditions']=JSON[_0x3b5a('0x7c')](_0x14867b['conditions']);_0x4628b9[_0x3b5a('0x35')](_0x2c87bf(_0x14867b[_0x3b5a('0x80')][_0x3b5a('0x6a')]));}_0x489d7a=_0x4628b9[_0x3b5a('0x81')]();_0x4628b9[_0x3b5a('0x1d')](_0x297a57);_0x4628b9[_0x3b5a('0x1c')](0x0);logger['debug'](_0x3b5a('0x82'),_0x4628b9[_0x3b5a('0x83')]());return db['sequelize'][_0x3b5a('0x2f')](_0x4628b9[_0x3b5a('0x83')](),{'type':db[_0x3b5a('0x84')][_0x3b5a('0x85')][_0x3b5a('0x86')]});}})['then'](respondWithResult(_0x2ec20c,null))[_0x3b5a('0x3e')](handleError(_0x2ec20c,null));};function runReport(_0x311e9e,_0x25e74b,_0x1b1342){var _0x2b2f1c=_0x25e74b[_0x3b5a('0x2a')];var _0x15dc26=0xa;var _0x518c1d=[_0x3b5a('0x52'),'left_join',_0x3b5a('0x54'),'cross_join'];var _0x16dbc6={'SUM':_0x3b5a('0x56'),'COUNT':_0x3b5a('0x57'),'COUNT DISTINCT':_0x3b5a('0x87'),'MAX':_0x3b5a('0x58'),'MIN':_0x3b5a('0x59'),'AVG':_0x3b5a('0x5a'),'GROUP_CONCAT':_0x3b5a('0x5b'),'GROUP_CONCAT ASC':_0x3b5a('0x5c'),'GROUP_CONCAT DESC':_0x3b5a('0x5d')};var _0x103946={'SEC_TO_TIME':_0x3b5a('0x5e'),'DATE':_0x3b5a('0x5f'),'HOUR':_0x3b5a('0x60'),'ROUND':'ROUND(%s)','UNIX_TIMESTAMP':_0x3b5a('0x62')};var _0x43591d=function(_0x17d9fb){return!_[_0x3b5a('0x63')]([_0x3b5a('0x64'),_0x3b5a('0x65'),'IS\x20EMPTY','IS\x20NOT\x20EMPTY'],_0x17d9fb);};var _0x11dd9e=function(_0x519dca){if(!_0x519dca||!_0x519dca[_0x3b5a('0x68')][_0x3b5a('0x42')]){return'';}for(var _0xaf853c='(',_0xdf73c0=0x0;_0xdf73c0<_0x519dca[_0x3b5a('0x68')]['length'];_0xdf73c0+=0x1){_0xdf73c0>0x0&&(_0xaf853c+='\x20'+_0x519dca['operator']+'\x20');_0xaf853c+=_0x519dca[_0x3b5a('0x68')][_0xdf73c0][_0x3b5a('0x6a')]?_0x11dd9e(_0x519dca[_0x3b5a('0x68')][_0xdf73c0][_0x3b5a('0x6a')]):_0x519dca[_0x3b5a('0x68')][_0xdf73c0]['field']+'\x20'+_0x519dca[_0x3b5a('0x68')][_0xdf73c0][_0x3b5a('0x6c')]+(_0x43591d(_0x519dca[_0x3b5a('0x68')][_0xdf73c0][_0x3b5a('0x6c')])?'\x20'+_0x519dca[_0x3b5a('0x68')][_0xdf73c0][_0x3b5a('0x6d')]:'');}return _0xaf853c+')';};var _0x1c0fb5={'where':{'id':_0x311e9e['id']}},_0xc3e09d,_0x36f8a8,_0x509a5c,_0x114e4c,_0x11a583;_0x1c0fb5=_[_0x3b5a('0x37')]({},_0x1c0fb5,_0x1b1342);return db[_0x3b5a('0x3a')][_0x3b5a('0x43')](_0x1c0fb5)[_0x3b5a('0x25')](function(_0x2937dd){if(_0x2937dd){_0xc3e09d=_0x2937dd;return _0x2937dd['getFields']();}return null;})[_0x3b5a('0x25')](function(_0x569867){if(_0x569867){if(!_0x569867['length']){throw new db['Sequelize']['ValidationErrorItem'](_0x3b5a('0x88'),0x193);}_0x36f8a8=_0x569867;return db[_0x3b5a('0x71')][_0x3b5a('0x3d')]({'raw':!![]});}return null;})[_0x3b5a('0x25')](function(_0x521135){if(_0x521135){_0x509a5c=_[_0x3b5a('0x72')](_0x521135,'id');var _0x273f53;var _0x377445=squel[_0x3b5a('0x89')]();_0x377445['from'](_0xc3e09d[_0x3b5a('0x73')]);for(var _0x4a8bae=0x0;_0x4a8bae<_0x36f8a8[_0x3b5a('0x42')];_0x4a8bae+=0x1){_0x273f53=_0x36f8a8[_0x4a8bae][_0x3b5a('0x74')]?_0x509a5c[_0x36f8a8[_0x4a8bae]['MetricId']][_0x3b5a('0x8a')]:_0x36f8a8[_0x4a8bae][_0x3b5a('0x6b')];_0x273f53=_0x36f8a8[_0x4a8bae][_0x3b5a('0x75')]?_[_0x3b5a('0x76')](_0x16dbc6[_0x36f8a8[_0x4a8bae][_0x3b5a('0x75')]],'%s',_0x273f53):_0x273f53;_0x273f53=_0x36f8a8[_0x4a8bae][_0x3b5a('0x77')]?_[_0x3b5a('0x76')](_0x103946[_0x36f8a8[_0x4a8bae]['format']],'%s',_0x273f53):_0x273f53;if(_0x36f8a8[_0x4a8bae][_0x3b5a('0x78')]){_0x377445[_0x3b5a('0x6a')](_0x273f53);}_0x36f8a8[_0x4a8bae][_0x3b5a('0x79')]&&_0x377445[_0x3b5a('0x8b')](_0x273f53,_0x36f8a8[_0x4a8bae][_0x3b5a('0x79')]===_0x3b5a('0x7a')?![]:!![]);_0x377445[_0x3b5a('0x6b')](_0x273f53,_0x36f8a8[_0x4a8bae]['alias']||_0x273f53);}if(_0xc3e09d['joins']){_0xc3e09d[_0x3b5a('0x7b')]=JSON[_0x3b5a('0x7c')](_0xc3e09d[_0x3b5a('0x7b')]);for(var _0x457565=0x0;_0x457565<_0xc3e09d[_0x3b5a('0x7b')]['length'];_0x457565+=0x1){if(_0xc3e09d[_0x3b5a('0x7b')][_0x457565][_0x3b5a('0x2c')]&&_['includes'](_0x518c1d,_0xc3e09d['joins'][_0x457565]['type'])&&_0xc3e09d[_0x3b5a('0x7b')][_0x457565]['parentKey']&&_0xc3e09d[_0x3b5a('0x7b')][_0x457565][_0x3b5a('0x7d')]&&_0xc3e09d[_0x3b5a('0x7b')][_0x457565][_0x3b5a('0x7e')]){_0x377445[_0xc3e09d[_0x3b5a('0x7b')][_0x457565]['type']](_0xc3e09d['joins'][_0x457565][_0x3b5a('0x7d')],null,util['format']('%s.%s\x20=\x20%s.%s',_0xc3e09d[_0x3b5a('0x73')],_0xc3e09d[_0x3b5a('0x7b')][_0x457565][_0x3b5a('0x7f')],_0xc3e09d['joins'][_0x457565][_0x3b5a('0x7d')],_0xc3e09d[_0x3b5a('0x7b')][_0x457565][_0x3b5a('0x7e')]));}}}if(_0xc3e09d[_0x3b5a('0x80')]){_0xc3e09d[_0x3b5a('0x80')]=JSON[_0x3b5a('0x7c')](_0xc3e09d[_0x3b5a('0x80')]);_0x377445[_0x3b5a('0x35')](_0x11dd9e(_0xc3e09d[_0x3b5a('0x80')][_0x3b5a('0x6a')]));}_0x11a583=_0x377445['clone']();_0x377445[_0x3b5a('0x1d')](_0x15dc26);_0x377445[_0x3b5a('0x1c')](0x0);logger[_0x3b5a('0x8c')](_0x3b5a('0x82'),_0x377445[_0x3b5a('0x83')]());return db[_0x3b5a('0x84')][_0x3b5a('0x2f')](_0x377445[_0x3b5a('0x83')](),{'type':db[_0x3b5a('0x84')][_0x3b5a('0x85')][_0x3b5a('0x86')]});}})[_0x3b5a('0x25')](function(_0x3951f2){if(!_0x3951f2[_0x3b5a('0x42')]){throw new db[(_0x3b5a('0x6f'))][(_0x3b5a('0x70'))](_0x3b5a('0x8d'),0xcc);}if(_0x25e74b[_0x3b5a('0x8e')]===_0x3b5a('0x8f')){return null;}var _0x45e81f=_['merge'](_0x25e74b,{'name':_0x25e74b[_0x3b5a('0x90')]||_0x25e74b['name']||_0xc3e09d[_0x3b5a('0x2a')],'basename':_0x2b2f1c,'savename':util[_0x3b5a('0x77')](_0x3b5a('0x91'),_0x25e74b[_0x3b5a('0x2a')]||_0xc3e09d['name'],require(_0x3b5a('0x92'))[_0x3b5a('0x93')](0x4),_0x25e74b[_0x3b5a('0x8e')]||_0x3b5a('0x94')),'reportId':_0xc3e09d['id'],'reportType':_0x3b5a('0x95')});return db[_0x3b5a('0x96')]['create'](_0x45e81f,{'raw':!![]});})[_0x3b5a('0x25')](function(_0x3a7571){if(_0xc3e09d[_0x3b5a('0x73')]===_0x3b5a('0x97')){_0x11a583[_0x3b5a('0x35')](_0xc3e09d[_0x3b5a('0x73')]+_0x3b5a('0x98'),_0x25e74b['startDate'],_0x25e74b[_0x3b5a('0x99')]);}else{_0x11a583[_0x3b5a('0x35')](_0xc3e09d[_0x3b5a('0x73')]+_0x3b5a('0x9a'),_0x25e74b[_0x3b5a('0x9b')],_0x25e74b[_0x3b5a('0x99')]);}if(_0x3a7571){logger[_0x3b5a('0x9c')](_0x3b5a('0x9d'),_0x11a583[_0x3b5a('0x83')]());require(_0x3b5a('0x9e'))[_0x3b5a('0x9f')](path['join'](__dirname,_0x3b5a('0xa0'),_0x3a7571['output']),[_0x3a7571['id'],_0x11a583['toString'](),path[_0x3b5a('0x52')](__dirname,'../../files/reports',_0x3a7571[_0x3b5a('0xa1')]),_0x2b2f1c]);return _0x3a7571;}else{var _0x4dc5cc=squel[_0x3b5a('0x89')]();_0x4dc5cc['from']('('+_0x11a583[_0x3b5a('0x83')]()+')',_0x3b5a('0xa2'));_0x4dc5cc[_0x3b5a('0x6b')](_0x3b5a('0xa3'),_0x3b5a('0x1b'));_0x11a583[_0x3b5a('0x1d')](_0x25e74b[_0x3b5a('0x1d')]||_0x15dc26);_0x11a583['offset'](_0x25e74b[_0x3b5a('0x1c')]||0x0);return dbH[_0x3b5a('0x84')][_0x3b5a('0x2f')](_0x4dc5cc[_0x3b5a('0x83')](),{'type':dbH[_0x3b5a('0x84')]['QueryTypes'][_0x3b5a('0x86')]})[_0x3b5a('0x25')](function(_0x5adbed){if(!_0x5adbed[_0x3b5a('0x42')]){_0x114e4c=0x0;}else{_0x114e4c=_0x5adbed[0x0]['count']||0x0;}return dbH[_0x3b5a('0x84')][_0x3b5a('0x2f')](_0x11a583['toString'](),{'type':dbH[_0x3b5a('0x84')][_0x3b5a('0x85')][_0x3b5a('0x86')]});})[_0x3b5a('0x25')](function(_0x353a54){return{'rows':_0x353a54||[],'count':_0x114e4c};});}});}exports[_0x3b5a('0xa4')]=function(_0x3f143c,_0x1bdd9f){return runReport(_0x3f143c[_0x3b5a('0x50')],_0x3f143c['query'],_0x3f143c[_0x3b5a('0x39')])[_0x3b5a('0x25')](respondWithResult(_0x1bdd9f,null))['catch'](handleError(_0x1bdd9f,null));};exports[_0x3b5a('0xa5')]=runReport;exports['query']=function(_0x2b333e,_0x4fc43b){var _0x5d5855=0xa;var _0x5f2058=[_0x3b5a('0x52'),'left_join',_0x3b5a('0x54'),_0x3b5a('0x55')];var _0x39c44c={'SUM':_0x3b5a('0x56'),'COUNT':_0x3b5a('0x57'),'COUNT DISTINCT':_0x3b5a('0x87'),'MAX':_0x3b5a('0x58'),'MIN':_0x3b5a('0x59'),'AVG':_0x3b5a('0x5a'),'GROUP_CONCAT':_0x3b5a('0x5b'),'GROUP_CONCAT ASC':_0x3b5a('0x5c'),'GROUP_CONCAT DESC':_0x3b5a('0x5d')};var _0x21803e={'SEC_TO_TIME':_0x3b5a('0x5e'),'DATE':'DATE(%s)','HOUR':_0x3b5a('0x60'),'ROUND':_0x3b5a('0x61'),'UNIX_TIMESTAMP':_0x3b5a('0x62')};var _0x531b04=function(_0x129d2e){return!_['includes'](['IS\x20NULL',_0x3b5a('0x65'),_0x3b5a('0x66'),'IS\x20NOT\x20EMPTY'],_0x129d2e);};var _0x382c8e=function(_0x1c49e2){if(!_0x1c49e2||!_0x1c49e2['rules'][_0x3b5a('0x42')]){return'';}for(var _0x40c20a='(',_0x11aa2c=0x0;_0x11aa2c<_0x1c49e2[_0x3b5a('0x68')][_0x3b5a('0x42')];_0x11aa2c+=0x1){_0x11aa2c>0x0&&(_0x40c20a+='\x20'+_0x1c49e2['operator']+'\x20');_0x40c20a+=_0x1c49e2[_0x3b5a('0x68')][_0x11aa2c][_0x3b5a('0x6a')]?_0x382c8e(_0x1c49e2['rules'][_0x11aa2c][_0x3b5a('0x6a')]):_0x1c49e2[_0x3b5a('0x68')][_0x11aa2c][_0x3b5a('0x6b')]+'\x20'+_0x1c49e2['rules'][_0x11aa2c][_0x3b5a('0x6c')]+(_0x531b04(_0x1c49e2[_0x3b5a('0x68')][_0x11aa2c]['condition'])?'\x20'+_0x1c49e2['rules'][_0x11aa2c][_0x3b5a('0x6d')]:'');}return _0x40c20a+')';};var _0x3032cc={'where':{'id':_0x2b333e[_0x3b5a('0x50')]['id']}},_0x426934,_0x5cd80b,_0x2ebbf0,_0x3f4b0b,_0x329dcc;_0x3032cc=_[_0x3b5a('0x37')]({},_0x3032cc,_0x2b333e[_0x3b5a('0x39')]);return db['AnalyticDefaultReport'][_0x3b5a('0x43')](_0x3032cc)[_0x3b5a('0x25')](function(_0x3c4607){if(_0x3c4607){_0x426934=_0x3c4607;return _0x3c4607[_0x3b5a('0x6e')]();}return null;})[_0x3b5a('0x25')](function(_0x3c8ff4){if(_0x3c8ff4){if(!_0x3c8ff4[_0x3b5a('0x42')]){throw new db[(_0x3b5a('0x6f'))]['ValidationErrorItem'](_0x3b5a('0x88'),0x193);}_0x5cd80b=_0x3c8ff4;return db[_0x3b5a('0x71')][_0x3b5a('0x3d')]({'raw':!![]});}return null;})[_0x3b5a('0x25')](function(_0xa01a13){if(_0xa01a13){_0x2ebbf0=_[_0x3b5a('0x72')](_0xa01a13,'id');var _0x56f9b0;var _0x4ed91c=squel[_0x3b5a('0x89')]();_0x4ed91c[_0x3b5a('0xa6')](_0x426934[_0x3b5a('0x73')]);for(var _0x577846=0x0;_0x577846<_0x5cd80b[_0x3b5a('0x42')];_0x577846+=0x1){_0x56f9b0=_0x5cd80b[_0x577846][_0x3b5a('0x74')]?_0x2ebbf0[_0x5cd80b[_0x577846][_0x3b5a('0x74')]]['metric']:_0x5cd80b[_0x577846][_0x3b5a('0x6b')];_0x56f9b0=_0x5cd80b[_0x577846]['function']?_[_0x3b5a('0x76')](_0x39c44c[_0x5cd80b[_0x577846]['function']],'%s',_0x56f9b0):_0x56f9b0;_0x56f9b0=_0x5cd80b[_0x577846][_0x3b5a('0x77')]?_[_0x3b5a('0x76')](_0x21803e[_0x5cd80b[_0x577846][_0x3b5a('0x77')]],'%s',_0x56f9b0):_0x56f9b0;if(_0x5cd80b[_0x577846][_0x3b5a('0x78')]){_0x4ed91c[_0x3b5a('0x6a')](_0x56f9b0);}_0x5cd80b[_0x577846][_0x3b5a('0x79')]&&_0x4ed91c[_0x3b5a('0x8b')](_0x56f9b0,_0x5cd80b[_0x577846][_0x3b5a('0x79')]===_0x3b5a('0x7a')?![]:!![]);_0x4ed91c[_0x3b5a('0x6b')](_0x56f9b0,_0x5cd80b[_0x577846][_0x3b5a('0xa7')]||_0x56f9b0);}if(_0x426934[_0x3b5a('0x7b')]){_0x426934[_0x3b5a('0x7b')]=JSON[_0x3b5a('0x7c')](_0x426934['joins']);for(var _0x12fd84=0x0;_0x12fd84<_0x426934[_0x3b5a('0x7b')][_0x3b5a('0x42')];_0x12fd84+=0x1){if(_0x426934[_0x3b5a('0x7b')][_0x12fd84][_0x3b5a('0x2c')]&&_[_0x3b5a('0x63')](_0x5f2058,_0x426934[_0x3b5a('0x7b')][_0x12fd84]['type'])&&_0x426934[_0x3b5a('0x7b')][_0x12fd84]['parentKey']&&_0x426934[_0x3b5a('0x7b')][_0x12fd84]['foreignTable']&&_0x426934[_0x3b5a('0x7b')][_0x12fd84][_0x3b5a('0x7e')]){_0x4ed91c[_0x426934[_0x3b5a('0x7b')][_0x12fd84][_0x3b5a('0x2c')]](_0x426934[_0x3b5a('0x7b')][_0x12fd84][_0x3b5a('0x7d')],null,util[_0x3b5a('0x77')](_0x3b5a('0xa8'),_0x426934['table'],_0x426934[_0x3b5a('0x7b')][_0x12fd84]['parentKey'],_0x426934[_0x3b5a('0x7b')][_0x12fd84][_0x3b5a('0x7d')],_0x426934[_0x3b5a('0x7b')][_0x12fd84]['foreignKey']));}}}if(_0x426934[_0x3b5a('0x80')]){_0x426934[_0x3b5a('0x80')]=JSON[_0x3b5a('0x7c')](_0x426934[_0x3b5a('0x80')]);_0x4ed91c[_0x3b5a('0x35')](_0x382c8e(_0x426934[_0x3b5a('0x80')][_0x3b5a('0x6a')]));}_0x329dcc=_0x4ed91c[_0x3b5a('0x81')]();_0x4ed91c[_0x3b5a('0x1d')](_0x5d5855);_0x4ed91c['offset'](0x0);logger[_0x3b5a('0x8c')]('Limited\x20Query:',_0x4ed91c[_0x3b5a('0x83')]());return db['sequelize'][_0x3b5a('0x2f')](_0x4ed91c[_0x3b5a('0x83')](),{'type':db[_0x3b5a('0x84')][_0x3b5a('0x85')]['SELECT']});}})[_0x3b5a('0x25')](function(){return{'sql':_0x329dcc[_0x3b5a('0x83')]()};})[_0x3b5a('0x25')](respondWithResult(_0x4fc43b,null))['catch'](handleError(_0x4fc43b,null));};