Built motion from commit f25620e4.|2.6.30
[motion2.git] / server / api / analyticCustomReport / analyticCustomReport.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 _0x52fb=['eml-format','zip-dir','fast-json-patch','request-promise','bluebird','mustache','path','to-csv','ejs','fs-extra','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','destroy','get','CustomReports','UserProfileResource','error','name','send','index','AnalyticCustomReport','rawAttributes','fieldName','key','model','map','query','keys','filters','intersection','fields','attributes','length','order','sort','where','pick','filter','type','merge','options','include','findAll','rows','catch','show','params','includeAll','find','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','Reports','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','preview','join','left_join','right_join','cross_join','COUNT(%s)','MIN(%s)','AVG(%s)','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','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','condition','value','getFields','Sequelize','Please\x20insert\x20at\x20least\x20one\x20field','AnalyticMetric','keyBy','select','from','table','MetricId','function','replace','format','groupBy','orderBy','DESC','field','alias','joins','parse','parentKey','foreignKey','foreignTable','%s.%s\x20=\x20%s.%s','conditions','clone','debug','toString','sequelize','QueryTypes','SELECT','SUM(%s)','COUNT(DISTINCT\x20%s)','MAX(%s)','SEC_TO_TIME(%s)','ROUND(%s)','metric','output','fullPath','%s-%s.%s','randomstring','generate','csv','custom','AnalyticExtractedReport','cdr','.calldate\x20BETWEEN\x20?\x20AND\x20?','startDate','endDate','.createdAt\x20BETWEEN\x20?\x20AND\x20?','info','Run\x20Query:','child_process','../../files/reports','savename','countTable','COUNT(*)','run','runReport','GROUP_CONCAT(%s)','ValidationErrorItem','Limited\x20Query:'];(function(_0x22e09f,_0x5f1211){var _0x3c96cb=function(_0x28dcf0){while(--_0x28dcf0){_0x22e09f['push'](_0x22e09f['shift']());}};_0x3c96cb(++_0x5f1211);}(_0x52fb,0xa8));var _0xb52f=function(_0x2a5bb0,_0x32b8fd){_0x2a5bb0=_0x2a5bb0-0x0;var _0x103464=_0x52fb[_0x2a5bb0];return _0x103464;};'use strict';var emlformat=require(_0xb52f('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xb52f('0x1'));var jsonpatch=require(_0xb52f('0x2'));var rp=require(_0xb52f('0x3'));var moment=require('moment');var BPromise=require(_0xb52f('0x4'));var Mustache=require(_0xb52f('0x5'));var util=require('util');var path=require(_0xb52f('0x6'));var sox=require('sox');var csv=require(_0xb52f('0x7'));var ejs=require(_0xb52f('0x8'));var fs=require('fs');var fs_extra=require(_0xb52f('0x9'));var _=require('lodash');var squel=require(_0xb52f('0xa'));var crypto=require('crypto');var jsforce=require(_0xb52f('0xb'));var deskjs=require(_0xb52f('0xc'));var toCsv=require(_0xb52f('0x7'));var querystring=require(_0xb52f('0xd'));var Papa=require(_0xb52f('0xe'));var Redis=require(_0xb52f('0xf'));var authService=require(_0xb52f('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0xb52f('0x11'));var hardwareService=require(_0xb52f('0x12'));var logger=require(_0xb52f('0x13'))(_0xb52f('0x14'));var utils=require(_0xb52f('0x15'));var config=require(_0xb52f('0x16'));var licenseUtil=require(_0xb52f('0x17'));var db=require('../../mysqldb')['db'];var dbH=require(_0xb52f('0x18'))['dbH'];function respondWithStatusCode(_0x10d473,_0x3ac766){_0x3ac766=_0x3ac766||0xcc;return function(_0x14def7){if(_0x14def7){return _0x10d473[_0xb52f('0x19')](_0x3ac766);}return _0x10d473[_0xb52f('0x1a')](_0x3ac766)[_0xb52f('0x1b')]();};}function respondWithResult(_0x1059ab,_0x29f95a){_0x29f95a=_0x29f95a||0xc8;return function(_0x490676){if(_0x490676){return _0x1059ab['status'](_0x29f95a)[_0xb52f('0x1c')](_0x490676);}};}function respondWithFilteredResult(_0x32e6ca,_0x593ab0){return function(_0x410f79){if(_0x410f79){var _0x3c211c=typeof _0x593ab0[_0xb52f('0x1d')]===_0xb52f('0x1e')&&typeof _0x593ab0[_0xb52f('0x1f')]===_0xb52f('0x1e');var _0x5b2417=_0x410f79[_0xb52f('0x20')];var _0x5c9cb6=_0x3c211c?0x0:_0x593ab0[_0xb52f('0x1d')];var _0x41454d=_0x3c211c?_0x410f79['count']:_0x593ab0[_0xb52f('0x1d')]+_0x593ab0['limit'];var _0x2dd0c6;if(_0x41454d>=_0x5b2417){_0x41454d=_0x5b2417;_0x2dd0c6=0xc8;}else{_0x2dd0c6=0xce;}_0x32e6ca[_0xb52f('0x1a')](_0x2dd0c6);return _0x32e6ca[_0xb52f('0x21')](_0xb52f('0x22'),_0x5c9cb6+'-'+_0x41454d+'/'+_0x5b2417)[_0xb52f('0x1c')](_0x410f79);}return null;};}function patchUpdates(_0x341536){return function(_0xeaca37){try{jsonpatch[_0xb52f('0x23')](_0xeaca37,_0x341536,!![]);}catch(_0x4fccc4){return BPromise[_0xb52f('0x24')](_0x4fccc4);}return _0xeaca37[_0xb52f('0x25')]();};}function saveUpdates(_0x314919,_0x4ea31b){return function(_0x3fa3f5){if(_0x3fa3f5){return _0x3fa3f5[_0xb52f('0x26')](_0x314919)[_0xb52f('0x27')](function(_0x3d8b06){return _0x3d8b06;});}return null;};}function removeEntity(_0x36341a,_0x788d3e){return function(_0x56c318){if(_0x56c318){return _0x56c318[_0xb52f('0x28')]()[_0xb52f('0x27')](function(){var _0xadd653=_0x56c318[_0xb52f('0x29')]({'plain':!![]});var _0xbf0dd2=_0xb52f('0x2a');return db[_0xb52f('0x2b')][_0xb52f('0x28')]({'where':{'type':_0xbf0dd2,'resourceId':_0xadd653['id']}})['then'](function(){return _0x56c318;});})[_0xb52f('0x27')](function(){_0x36341a['status'](0xcc)[_0xb52f('0x1b')]();});}};}function handleEntityNotFound(_0x48e06b,_0x27596c){return function(_0x32e9e6){if(!_0x32e9e6){_0x48e06b[_0xb52f('0x19')](0x194);}return _0x32e9e6;};}function handleError(_0x5d0072,_0x3ffc97){_0x3ffc97=_0x3ffc97||0x1f4;return function(_0x5bf407){logger[_0xb52f('0x2c')](_0x5bf407['stack']);if(_0x5bf407[_0xb52f('0x2d')]){delete _0x5bf407[_0xb52f('0x2d')];}_0x5d0072[_0xb52f('0x1a')](_0x3ffc97)[_0xb52f('0x2e')](_0x5bf407);};}exports[_0xb52f('0x2f')]=function(_0x1f87aa,_0x23caf9){var _0x533354={},_0x4c7ce5={},_0x55c6a1={'count':0x0,'rows':[]};var _0x86f6a6=_['map'](db[_0xb52f('0x30')][_0xb52f('0x31')],function(_0x1f3261){return{'name':_0x1f3261[_0xb52f('0x32')],'type':_0x1f3261['type'][_0xb52f('0x33')]};});_0x4c7ce5[_0xb52f('0x34')]=_[_0xb52f('0x35')](_0x86f6a6,_0xb52f('0x2d'));_0x4c7ce5[_0xb52f('0x36')]=_[_0xb52f('0x37')](_0x1f87aa[_0xb52f('0x36')]);_0x4c7ce5[_0xb52f('0x38')]=_['intersection'](_0x4c7ce5[_0xb52f('0x34')],_0x4c7ce5[_0xb52f('0x36')]);_0x533354['attributes']=_[_0xb52f('0x39')](_0x4c7ce5[_0xb52f('0x34')],qs['fields'](_0x1f87aa[_0xb52f('0x36')][_0xb52f('0x3a')]));_0x533354['attributes']=_0x533354[_0xb52f('0x3b')][_0xb52f('0x3c')]?_0x533354['attributes']:_0x4c7ce5[_0xb52f('0x34')];if(!_0x1f87aa[_0xb52f('0x36')]['hasOwnProperty']('nolimit')){_0x533354[_0xb52f('0x1f')]=qs[_0xb52f('0x1f')](_0x1f87aa[_0xb52f('0x36')][_0xb52f('0x1f')]);_0x533354[_0xb52f('0x1d')]=qs['offset'](_0x1f87aa['query']['offset']);}_0x533354[_0xb52f('0x3d')]=qs[_0xb52f('0x3e')](_0x1f87aa[_0xb52f('0x36')][_0xb52f('0x3e')]);_0x533354[_0xb52f('0x3f')]=qs[_0xb52f('0x38')](_[_0xb52f('0x40')](_0x1f87aa['query'],_0x4c7ce5[_0xb52f('0x38')]),_0x86f6a6);if(_0x1f87aa[_0xb52f('0x36')][_0xb52f('0x41')]){_0x533354[_0xb52f('0x3f')]=_['merge'](_0x533354['where'],{'$or':_[_0xb52f('0x35')](_0x86f6a6,function(_0x558d14){if(_0x558d14[_0xb52f('0x42')]!=='VIRTUAL'){var _0x58fed3={};_0x58fed3[_0x558d14[_0xb52f('0x2d')]]={'$like':'%'+_0x1f87aa[_0xb52f('0x36')][_0xb52f('0x41')]+'%'};return _0x58fed3;}})});}_0x533354=_[_0xb52f('0x43')]({},_0x533354,_0x1f87aa[_0xb52f('0x44')]);var _0xafa15d={'where':_0x533354['where']};return db[_0xb52f('0x30')]['count'](_0xafa15d)[_0xb52f('0x27')](function(_0x5a8ce2){_0x55c6a1[_0xb52f('0x20')]=_0x5a8ce2;if(_0x1f87aa[_0xb52f('0x36')]['includeAll']){_0x533354[_0xb52f('0x45')]=[{'all':!![]}];}return db['AnalyticCustomReport'][_0xb52f('0x46')](_0x533354);})[_0xb52f('0x27')](function(_0x180873){_0x55c6a1[_0xb52f('0x47')]=_0x180873;return _0x55c6a1;})['then'](respondWithFilteredResult(_0x23caf9,_0x533354))[_0xb52f('0x48')](handleError(_0x23caf9,null));};exports[_0xb52f('0x49')]=function(_0x9d4bfe,_0x531fbc){var _0x444933={'raw':![],'where':{'id':_0x9d4bfe[_0xb52f('0x4a')]['id']}},_0xda8ba5={};_0xda8ba5[_0xb52f('0x34')]=_[_0xb52f('0x37')](db[_0xb52f('0x30')][_0xb52f('0x31')]);_0xda8ba5[_0xb52f('0x36')]=_[_0xb52f('0x37')](_0x9d4bfe['query']);_0xda8ba5[_0xb52f('0x38')]=_[_0xb52f('0x39')](_0xda8ba5[_0xb52f('0x34')],_0xda8ba5[_0xb52f('0x36')]);_0x444933[_0xb52f('0x3b')]=_[_0xb52f('0x39')](_0xda8ba5[_0xb52f('0x34')],qs[_0xb52f('0x3a')](_0x9d4bfe[_0xb52f('0x36')][_0xb52f('0x3a')]));_0x444933['attributes']=_0x444933[_0xb52f('0x3b')][_0xb52f('0x3c')]?_0x444933[_0xb52f('0x3b')]:_0xda8ba5[_0xb52f('0x34')];if(_0x9d4bfe[_0xb52f('0x36')][_0xb52f('0x4b')]){_0x444933[_0xb52f('0x45')]=[{'all':!![]}];}_0x444933=_[_0xb52f('0x43')]({},_0x444933,_0x9d4bfe[_0xb52f('0x44')]);return db[_0xb52f('0x30')][_0xb52f('0x4c')](_0x444933)['then'](handleEntityNotFound(_0x531fbc,null))[_0xb52f('0x27')](respondWithResult(_0x531fbc,null))['catch'](handleError(_0x531fbc,null));};exports[_0xb52f('0x4d')]=function(_0xe8416d,_0x4b9318){return db[_0xb52f('0x30')][_0xb52f('0x4d')](_0xe8416d[_0xb52f('0x4e')],{})['then'](function(_0x2f1ffc){var _0x2953a1=_0xe8416d['user'][_0xb52f('0x29')]({'plain':!![]});if(!_0x2953a1)throw new Error(_0xb52f('0x4f'));if(_0x2953a1[_0xb52f('0x50')]==='user'){var _0x3dc54f=_0x2f1ffc['get']({'plain':!![]});var _0x2ce0f4=_0xb52f('0x51');return db['UserProfileSection'][_0xb52f('0x4c')]({'where':{'name':_0x2ce0f4,'userProfileId':_0x2953a1[_0xb52f('0x52')]},'raw':!![]})['then'](function(_0x36999c){if(_0x36999c&&_0x36999c['autoAssociation']===0x0){return db[_0xb52f('0x2b')][_0xb52f('0x4d')]({'name':_0x3dc54f['name'],'resourceId':_0x3dc54f['id'],'type':'CustomReports','sectionId':_0x36999c['id']},{})[_0xb52f('0x27')](function(){return _0x2f1ffc;});}else{return _0x2f1ffc;}})['catch'](function(_0x365a03){logger[_0xb52f('0x2c')](_0xb52f('0x53'),_0x365a03);throw _0x365a03;});}return _0x2f1ffc;})[_0xb52f('0x27')](respondWithResult(_0x4b9318,0xc9))[_0xb52f('0x48')](handleError(_0x4b9318,null));};exports['update']=function(_0x1a52f2,_0x4907e3){if(_0x1a52f2[_0xb52f('0x4e')]['id']){delete _0x1a52f2[_0xb52f('0x4e')]['id'];}return db[_0xb52f('0x30')][_0xb52f('0x4c')]({'where':{'id':_0x1a52f2[_0xb52f('0x4a')]['id']}})['then'](handleEntityNotFound(_0x4907e3,null))[_0xb52f('0x27')](saveUpdates(_0x1a52f2['body'],null))[_0xb52f('0x27')](respondWithResult(_0x4907e3,null))[_0xb52f('0x48')](handleError(_0x4907e3,null));};exports[_0xb52f('0x28')]=function(_0x8f9691,_0x16b8c2){return db[_0xb52f('0x30')]['find']({'where':{'id':_0x8f9691[_0xb52f('0x4a')]['id']}})[_0xb52f('0x27')](handleEntityNotFound(_0x16b8c2,null))['then'](removeEntity(_0x16b8c2,null))[_0xb52f('0x48')](handleError(_0x16b8c2,null));};exports[_0xb52f('0x54')]=function(_0x4871ba,_0x3aed6b){var _0x11fd6d=0xa;var _0x2b3abc=[_0xb52f('0x55'),_0xb52f('0x56'),_0xb52f('0x57'),_0xb52f('0x58')];var _0x3df563={'SUM':'SUM(%s)','COUNT':_0xb52f('0x59'),'COUNT DISTINCT':'COUNT(DISTINCT\x20%s)','MAX':'MAX(%s)','MIN':_0xb52f('0x5a'),'AVG':_0xb52f('0x5b'),'GROUP_CONCAT':'GROUP_CONCAT(%s)','GROUP_CONCAT ASC':_0xb52f('0x5c'),'GROUP_CONCAT DESC':_0xb52f('0x5d')};var _0x72d2e5={'SEC_TO_TIME':'SEC_TO_TIME(%s)','DATE':_0xb52f('0x5e'),'HOUR':_0xb52f('0x5f'),'ROUND':'ROUND(%s)','UNIX_TIMESTAMP':_0xb52f('0x60')};var _0x3d6bc3=function(_0x37569d){return!_[_0xb52f('0x61')]([_0xb52f('0x62'),_0xb52f('0x63'),_0xb52f('0x64'),_0xb52f('0x65')],_0x37569d);};var _0x372fca=function(_0x32bb70){if(!_0x32bb70||!_0x32bb70[_0xb52f('0x66')][_0xb52f('0x3c')]){return'';}for(var _0x244dac='(',_0x24c5b5=0x0;_0x24c5b5<_0x32bb70[_0xb52f('0x66')]['length'];_0x24c5b5+=0x1){_0x24c5b5>0x0&&(_0x244dac+='\x20'+_0x32bb70[_0xb52f('0x67')]+'\x20');_0x244dac+=_0x32bb70[_0xb52f('0x66')][_0x24c5b5][_0xb52f('0x68')]?_0x372fca(_0x32bb70[_0xb52f('0x66')][_0x24c5b5][_0xb52f('0x68')]):_0x32bb70[_0xb52f('0x66')][_0x24c5b5]['field']+'\x20'+_0x32bb70['rules'][_0x24c5b5][_0xb52f('0x69')]+(_0x3d6bc3(_0x32bb70[_0xb52f('0x66')][_0x24c5b5][_0xb52f('0x69')])?'\x20'+_0x32bb70[_0xb52f('0x66')][_0x24c5b5][_0xb52f('0x6a')]:'');}return _0x244dac+')';};var _0x5ef886={'where':{'id':_0x4871ba[_0xb52f('0x4a')]['id']}},_0x6a5c4c,_0x4ec04b,_0x4e909c,_0x306521,_0x54c971;_0x5ef886=_[_0xb52f('0x43')]({},_0x5ef886,_0x4871ba['options']);return db[_0xb52f('0x30')]['find'](_0x5ef886)[_0xb52f('0x27')](function(_0x1aaa3e){if(_0x1aaa3e){_0x6a5c4c=_0x1aaa3e;return _0x1aaa3e[_0xb52f('0x6b')]();}return null;})[_0xb52f('0x27')](function(_0x528a5b){if(_0x528a5b){if(!_0x528a5b[_0xb52f('0x3c')]){throw new db[(_0xb52f('0x6c'))]['ValidationErrorItem'](_0xb52f('0x6d'),0x193);}_0x4ec04b=_0x528a5b;return db[_0xb52f('0x6e')]['findAll']({'raw':!![]});}return null;})[_0xb52f('0x27')](function(_0x3a725c){if(_0x3a725c){_0x4e909c=_[_0xb52f('0x6f')](_0x3a725c,'id');var _0x5f0d0f;var _0x351524=squel[_0xb52f('0x70')]();_0x351524[_0xb52f('0x71')](_0x6a5c4c[_0xb52f('0x72')]);for(var _0x4fdb60=0x0;_0x4fdb60<_0x4ec04b['length'];_0x4fdb60+=0x1){_0x5f0d0f=_0x4ec04b[_0x4fdb60][_0xb52f('0x73')]?_0x4e909c[_0x4ec04b[_0x4fdb60]['MetricId']]['metric']:_0x4ec04b[_0x4fdb60]['field'];_0x5f0d0f=_0x4ec04b[_0x4fdb60][_0xb52f('0x74')]?_[_0xb52f('0x75')](_0x3df563[_0x4ec04b[_0x4fdb60][_0xb52f('0x74')]],'%s',_0x5f0d0f):_0x5f0d0f;_0x5f0d0f=_0x4ec04b[_0x4fdb60][_0xb52f('0x76')]?_['replace'](_0x72d2e5[_0x4ec04b[_0x4fdb60][_0xb52f('0x76')]],'%s',_0x5f0d0f):_0x5f0d0f;if(_0x4ec04b[_0x4fdb60][_0xb52f('0x77')]){_0x351524[_0xb52f('0x68')](_0x5f0d0f);}_0x4ec04b[_0x4fdb60][_0xb52f('0x78')]&&_0x351524[_0xb52f('0x3d')](_0x5f0d0f,_0x4ec04b[_0x4fdb60][_0xb52f('0x78')]===_0xb52f('0x79')?![]:!![]);_0x351524[_0xb52f('0x7a')](_0x5f0d0f,_0x4ec04b[_0x4fdb60][_0xb52f('0x7b')]||_0x5f0d0f);}if(_0x6a5c4c[_0xb52f('0x7c')]){_0x6a5c4c[_0xb52f('0x7c')]=JSON[_0xb52f('0x7d')](_0x6a5c4c[_0xb52f('0x7c')]);for(var _0x417bc1=0x0;_0x417bc1<_0x6a5c4c[_0xb52f('0x7c')][_0xb52f('0x3c')];_0x417bc1+=0x1){if(_0x6a5c4c['joins'][_0x417bc1][_0xb52f('0x42')]&&_[_0xb52f('0x61')](_0x2b3abc,_0x6a5c4c[_0xb52f('0x7c')][_0x417bc1][_0xb52f('0x42')])&&_0x6a5c4c['joins'][_0x417bc1][_0xb52f('0x7e')]&&_0x6a5c4c[_0xb52f('0x7c')][_0x417bc1]['foreignTable']&&_0x6a5c4c['joins'][_0x417bc1][_0xb52f('0x7f')]){_0x351524[_0x6a5c4c[_0xb52f('0x7c')][_0x417bc1][_0xb52f('0x42')]](_0x6a5c4c[_0xb52f('0x7c')][_0x417bc1][_0xb52f('0x80')],null,util[_0xb52f('0x76')](_0xb52f('0x81'),_0x6a5c4c[_0xb52f('0x72')],_0x6a5c4c['joins'][_0x417bc1][_0xb52f('0x7e')],_0x6a5c4c['joins'][_0x417bc1][_0xb52f('0x80')],_0x6a5c4c[_0xb52f('0x7c')][_0x417bc1]['foreignKey']));}}}if(_0x6a5c4c['conditions']){_0x6a5c4c[_0xb52f('0x82')]=JSON[_0xb52f('0x7d')](_0x6a5c4c[_0xb52f('0x82')]);_0x351524[_0xb52f('0x3f')](_0x372fca(_0x6a5c4c['conditions'][_0xb52f('0x68')]));}_0x54c971=_0x351524[_0xb52f('0x83')]();_0x351524[_0xb52f('0x1f')](_0x11fd6d);_0x351524['offset'](0x0);logger[_0xb52f('0x84')]('Limited\x20Query:',_0x351524[_0xb52f('0x85')]());return dbH[_0xb52f('0x86')][_0xb52f('0x36')](_0x351524[_0xb52f('0x85')](),{'type':dbH[_0xb52f('0x86')][_0xb52f('0x87')][_0xb52f('0x88')]});}})['then'](respondWithResult(_0x3aed6b,null))['catch'](handleError(_0x3aed6b,null));};function runReport(_0x18f5d9,_0x2c2f76,_0x36bb4a){var _0x29f5ba=_0x2c2f76[_0xb52f('0x2d')];var _0x3718f2=0xa;var _0x5d9a42=['join',_0xb52f('0x56'),_0xb52f('0x57'),'cross_join'];var _0x45060c={'SUM':_0xb52f('0x89'),'COUNT':_0xb52f('0x59'),'COUNT DISTINCT':_0xb52f('0x8a'),'MAX':_0xb52f('0x8b'),'MIN':'MIN(%s)','AVG':_0xb52f('0x5b'),'GROUP_CONCAT':'GROUP_CONCAT(%s)','GROUP_CONCAT ASC':_0xb52f('0x5c'),'GROUP_CONCAT DESC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)'};var _0xb60b8c={'SEC_TO_TIME':_0xb52f('0x8c'),'DATE':_0xb52f('0x5e'),'HOUR':_0xb52f('0x5f'),'ROUND':_0xb52f('0x8d'),'UNIX_TIMESTAMP':_0xb52f('0x60')};var _0x586c68=function(_0x1475e1){return!_['includes'](['IS\x20NULL','IS\x20NOT\x20NULL',_0xb52f('0x64'),_0xb52f('0x65')],_0x1475e1);};var _0x2450a6=function(_0x132adf){if(!_0x132adf||!_0x132adf[_0xb52f('0x66')]['length']){return'';}for(var _0x1a83d2='(',_0x542930=0x0;_0x542930<_0x132adf[_0xb52f('0x66')][_0xb52f('0x3c')];_0x542930+=0x1){_0x542930>0x0&&(_0x1a83d2+='\x20'+_0x132adf['operator']+'\x20');_0x1a83d2+=_0x132adf[_0xb52f('0x66')][_0x542930]['group']?_0x2450a6(_0x132adf[_0xb52f('0x66')][_0x542930][_0xb52f('0x68')]):_0x132adf['rules'][_0x542930][_0xb52f('0x7a')]+'\x20'+_0x132adf[_0xb52f('0x66')][_0x542930][_0xb52f('0x69')]+(_0x586c68(_0x132adf[_0xb52f('0x66')][_0x542930][_0xb52f('0x69')])?'\x20'+_0x132adf[_0xb52f('0x66')][_0x542930]['value']:'');}return _0x1a83d2+')';};var _0x250866={'where':{'id':_0x18f5d9['id']}},_0x500d0a,_0x318d76,_0x45b1e3,_0xf3015e,_0xee78e2;_0x250866=_['merge']({},_0x250866,_0x36bb4a);return db['AnalyticCustomReport'][_0xb52f('0x4c')](_0x250866)[_0xb52f('0x27')](function(_0x181998){if(_0x181998){_0x500d0a=_0x181998;return _0x181998[_0xb52f('0x6b')]();}return null;})[_0xb52f('0x27')](function(_0x49233d){if(_0x49233d){if(!_0x49233d[_0xb52f('0x3c')]){throw new db['Sequelize']['ValidationErrorItem'](_0xb52f('0x6d'),0x193);}_0x318d76=_0x49233d;return db[_0xb52f('0x6e')]['findAll']({'raw':!![]});}return null;})[_0xb52f('0x27')](function(_0x3d89b7){if(_0x3d89b7){_0x45b1e3=_[_0xb52f('0x6f')](_0x3d89b7,'id');var _0x520163;var _0x4c0f08=squel['select']();_0x4c0f08[_0xb52f('0x71')](_0x500d0a[_0xb52f('0x72')]);for(var _0x2cb195=0x0;_0x2cb195<_0x318d76[_0xb52f('0x3c')];_0x2cb195+=0x1){_0x520163=_0x318d76[_0x2cb195][_0xb52f('0x73')]?_0x45b1e3[_0x318d76[_0x2cb195][_0xb52f('0x73')]][_0xb52f('0x8e')]:_0x318d76[_0x2cb195]['field'];_0x520163=_0x318d76[_0x2cb195][_0xb52f('0x74')]?_['replace'](_0x45060c[_0x318d76[_0x2cb195][_0xb52f('0x74')]],'%s',_0x520163):_0x520163;_0x520163=_0x318d76[_0x2cb195][_0xb52f('0x76')]?_[_0xb52f('0x75')](_0xb60b8c[_0x318d76[_0x2cb195]['format']],'%s',_0x520163):_0x520163;if(_0x318d76[_0x2cb195]['groupBy']){_0x4c0f08[_0xb52f('0x68')](_0x520163);}_0x318d76[_0x2cb195][_0xb52f('0x78')]&&_0x4c0f08[_0xb52f('0x3d')](_0x520163,_0x318d76[_0x2cb195]['orderBy']===_0xb52f('0x79')?![]:!![]);_0x4c0f08[_0xb52f('0x7a')](_0x520163,_0x318d76[_0x2cb195]['alias']||_0x520163);}if(_0x500d0a[_0xb52f('0x7c')]){_0x500d0a[_0xb52f('0x7c')]=JSON[_0xb52f('0x7d')](_0x500d0a[_0xb52f('0x7c')]);for(var _0x30b034=0x0;_0x30b034<_0x500d0a[_0xb52f('0x7c')][_0xb52f('0x3c')];_0x30b034+=0x1){if(_0x500d0a[_0xb52f('0x7c')][_0x30b034][_0xb52f('0x42')]&&_[_0xb52f('0x61')](_0x5d9a42,_0x500d0a[_0xb52f('0x7c')][_0x30b034][_0xb52f('0x42')])&&_0x500d0a[_0xb52f('0x7c')][_0x30b034][_0xb52f('0x7e')]&&_0x500d0a['joins'][_0x30b034][_0xb52f('0x80')]&&_0x500d0a[_0xb52f('0x7c')][_0x30b034][_0xb52f('0x7f')]){_0x4c0f08[_0x500d0a[_0xb52f('0x7c')][_0x30b034][_0xb52f('0x42')]](_0x500d0a[_0xb52f('0x7c')][_0x30b034][_0xb52f('0x80')],null,util[_0xb52f('0x76')](_0xb52f('0x81'),_0x500d0a['table'],_0x500d0a[_0xb52f('0x7c')][_0x30b034]['parentKey'],_0x500d0a[_0xb52f('0x7c')][_0x30b034]['foreignTable'],_0x500d0a[_0xb52f('0x7c')][_0x30b034][_0xb52f('0x7f')]));}}}if(_0x500d0a[_0xb52f('0x82')]){_0x500d0a['conditions']=JSON[_0xb52f('0x7d')](_0x500d0a['conditions']);_0x4c0f08[_0xb52f('0x3f')](_0x2450a6(_0x500d0a[_0xb52f('0x82')][_0xb52f('0x68')]));}_0xee78e2=_0x4c0f08[_0xb52f('0x83')]();_0x4c0f08[_0xb52f('0x1f')](_0x3718f2);_0x4c0f08[_0xb52f('0x1d')](0x0);return;}})[_0xb52f('0x27')](function(){if(_0x2c2f76[_0xb52f('0x8f')]==='web'){return null;}var _0x3b122f=_['merge'](_0x2c2f76,{'name':_0x2c2f76[_0xb52f('0x90')]||_0x2c2f76['name']||_0x500d0a['name'],'basename':_0x29f5ba,'savename':util[_0xb52f('0x76')](_0xb52f('0x91'),_0x2c2f76[_0xb52f('0x2d')]||_0x500d0a[_0xb52f('0x2d')],require(_0xb52f('0x92'))[_0xb52f('0x93')](0x4),_0x2c2f76[_0xb52f('0x8f')]||_0xb52f('0x94')),'reportId':_0x500d0a['id'],'reportType':_0xb52f('0x95')});return db[_0xb52f('0x96')][_0xb52f('0x4d')](_0x3b122f,{'raw':!![]});})[_0xb52f('0x27')](function(_0x469f0d){if(_0x500d0a['table']===_0xb52f('0x97')){_0xee78e2['where'](_0x500d0a[_0xb52f('0x72')]+_0xb52f('0x98'),_0x2c2f76[_0xb52f('0x99')],_0x2c2f76[_0xb52f('0x9a')]);}else{_0xee78e2[_0xb52f('0x3f')](_0x500d0a['table']+_0xb52f('0x9b'),_0x2c2f76['startDate'],_0x2c2f76[_0xb52f('0x9a')]);}if(_0x469f0d){logger[_0xb52f('0x9c')](_0xb52f('0x9d'),_0xee78e2[_0xb52f('0x85')]());require(_0xb52f('0x9e'))['fork'](path['join'](__dirname,'../../components/export/',_0x469f0d[_0xb52f('0x8f')]),[_0x469f0d['id'],_0xee78e2[_0xb52f('0x85')](),path[_0xb52f('0x55')](__dirname,_0xb52f('0x9f'),_0x469f0d[_0xb52f('0xa0')]),_0x29f5ba]);return _0x469f0d;}else{var _0x223e5c=squel[_0xb52f('0x70')]();_0x223e5c[_0xb52f('0x71')]('('+_0xee78e2[_0xb52f('0x85')]()+')',_0xb52f('0xa1'));_0x223e5c['field'](_0xb52f('0xa2'),'count');_0xee78e2[_0xb52f('0x1f')](_0x2c2f76[_0xb52f('0x1f')]||_0x3718f2);_0xee78e2['offset'](_0x2c2f76[_0xb52f('0x1d')]||0x0);return dbH[_0xb52f('0x86')][_0xb52f('0x36')](_0x223e5c[_0xb52f('0x85')](),{'type':dbH[_0xb52f('0x86')][_0xb52f('0x87')][_0xb52f('0x88')]})['then'](function(_0x5a89de){if(!_0x5a89de[_0xb52f('0x3c')]){_0xf3015e=0x0;}else{_0xf3015e=_0x5a89de[0x0][_0xb52f('0x20')]||0x0;}return dbH[_0xb52f('0x86')][_0xb52f('0x36')](_0xee78e2[_0xb52f('0x85')](),{'type':dbH['sequelize']['QueryTypes'][_0xb52f('0x88')]});})[_0xb52f('0x27')](function(_0x4330bc){return{'rows':_0x4330bc||[],'count':_0xf3015e};});}});}exports[_0xb52f('0xa3')]=function(_0x1256df,_0x1c72ba){return runReport(_0x1256df['params'],_0x1256df[_0xb52f('0x36')],_0x1256df[_0xb52f('0x44')])[_0xb52f('0x27')](respondWithResult(_0x1c72ba,null))[_0xb52f('0x48')](handleError(_0x1c72ba,null));};exports[_0xb52f('0xa4')]=runReport;exports[_0xb52f('0x36')]=function(_0xe631b3,_0x342e06){var _0x129146=0xa;var _0x2f9f2c=[_0xb52f('0x55'),_0xb52f('0x56'),_0xb52f('0x57'),_0xb52f('0x58')];var _0xc159e2={'SUM':_0xb52f('0x89'),'COUNT':_0xb52f('0x59'),'COUNT DISTINCT':_0xb52f('0x8a'),'MAX':_0xb52f('0x8b'),'MIN':_0xb52f('0x5a'),'AVG':_0xb52f('0x5b'),'GROUP_CONCAT':_0xb52f('0xa5'),'GROUP_CONCAT ASC':_0xb52f('0x5c'),'GROUP_CONCAT DESC':_0xb52f('0x5d')};var _0x53313c={'SEC_TO_TIME':_0xb52f('0x8c'),'DATE':'DATE(%s)','HOUR':'HOUR(%s)','ROUND':'ROUND(%s)','UNIX_TIMESTAMP':_0xb52f('0x60')};var _0x521b58=function(_0x407c22){return!_[_0xb52f('0x61')]([_0xb52f('0x62'),'IS\x20NOT\x20NULL',_0xb52f('0x64'),_0xb52f('0x65')],_0x407c22);};var _0x34e416=function(_0x2fa0f5){if(!_0x2fa0f5||!_0x2fa0f5[_0xb52f('0x66')][_0xb52f('0x3c')]){return'';}for(var _0x5058c4='(',_0x2933e7=0x0;_0x2933e7<_0x2fa0f5['rules']['length'];_0x2933e7+=0x1){_0x2933e7>0x0&&(_0x5058c4+='\x20'+_0x2fa0f5[_0xb52f('0x67')]+'\x20');_0x5058c4+=_0x2fa0f5[_0xb52f('0x66')][_0x2933e7]['group']?_0x34e416(_0x2fa0f5[_0xb52f('0x66')][_0x2933e7][_0xb52f('0x68')]):_0x2fa0f5['rules'][_0x2933e7][_0xb52f('0x7a')]+'\x20'+_0x2fa0f5[_0xb52f('0x66')][_0x2933e7][_0xb52f('0x69')]+(_0x521b58(_0x2fa0f5[_0xb52f('0x66')][_0x2933e7][_0xb52f('0x69')])?'\x20'+_0x2fa0f5['rules'][_0x2933e7][_0xb52f('0x6a')]:'');}return _0x5058c4+')';};var _0x3b61ea={'where':{'id':_0xe631b3[_0xb52f('0x4a')]['id']}},_0x1c1d13,_0x39600d,_0x2b7f56,_0x56897,_0x5930b9;_0x3b61ea=_[_0xb52f('0x43')]({},_0x3b61ea,_0xe631b3[_0xb52f('0x44')]);return db['AnalyticCustomReport'][_0xb52f('0x4c')](_0x3b61ea)[_0xb52f('0x27')](function(_0x480f4e){if(_0x480f4e){_0x1c1d13=_0x480f4e;return _0x480f4e[_0xb52f('0x6b')]();}return null;})['then'](function(_0x21b2e2){if(_0x21b2e2){if(!_0x21b2e2['length']){throw new db[(_0xb52f('0x6c'))][(_0xb52f('0xa6'))](_0xb52f('0x6d'),0x193);}_0x39600d=_0x21b2e2;return db[_0xb52f('0x6e')][_0xb52f('0x46')]({'raw':!![]});}return null;})[_0xb52f('0x27')](function(_0x25cd29){if(_0x25cd29){_0x2b7f56=_[_0xb52f('0x6f')](_0x25cd29,'id');var _0x520bda;var _0x1db6cf=squel['select']();_0x1db6cf['from'](_0x1c1d13['table']);for(var _0x3f533e=0x0;_0x3f533e<_0x39600d['length'];_0x3f533e+=0x1){_0x520bda=_0x39600d[_0x3f533e]['MetricId']?_0x2b7f56[_0x39600d[_0x3f533e][_0xb52f('0x73')]][_0xb52f('0x8e')]:_0x39600d[_0x3f533e]['field'];_0x520bda=_0x39600d[_0x3f533e]['function']?_[_0xb52f('0x75')](_0xc159e2[_0x39600d[_0x3f533e][_0xb52f('0x74')]],'%s',_0x520bda):_0x520bda;_0x520bda=_0x39600d[_0x3f533e]['format']?_[_0xb52f('0x75')](_0x53313c[_0x39600d[_0x3f533e][_0xb52f('0x76')]],'%s',_0x520bda):_0x520bda;if(_0x39600d[_0x3f533e][_0xb52f('0x77')]){_0x1db6cf[_0xb52f('0x68')](_0x520bda);}_0x39600d[_0x3f533e]['orderBy']&&_0x1db6cf[_0xb52f('0x3d')](_0x520bda,_0x39600d[_0x3f533e][_0xb52f('0x78')]===_0xb52f('0x79')?![]:!![]);_0x1db6cf[_0xb52f('0x7a')](_0x520bda,_0x39600d[_0x3f533e]['alias']||_0x520bda);}if(_0x1c1d13[_0xb52f('0x7c')]){_0x1c1d13[_0xb52f('0x7c')]=JSON[_0xb52f('0x7d')](_0x1c1d13['joins']);for(var _0x286a8c=0x0;_0x286a8c<_0x1c1d13[_0xb52f('0x7c')]['length'];_0x286a8c+=0x1){if(_0x1c1d13['joins'][_0x286a8c][_0xb52f('0x42')]&&_[_0xb52f('0x61')](_0x2f9f2c,_0x1c1d13['joins'][_0x286a8c][_0xb52f('0x42')])&&_0x1c1d13['joins'][_0x286a8c]['parentKey']&&_0x1c1d13[_0xb52f('0x7c')][_0x286a8c][_0xb52f('0x80')]&&_0x1c1d13[_0xb52f('0x7c')][_0x286a8c][_0xb52f('0x7f')]){_0x1db6cf[_0x1c1d13[_0xb52f('0x7c')][_0x286a8c][_0xb52f('0x42')]](_0x1c1d13[_0xb52f('0x7c')][_0x286a8c][_0xb52f('0x80')],null,util[_0xb52f('0x76')](_0xb52f('0x81'),_0x1c1d13[_0xb52f('0x72')],_0x1c1d13[_0xb52f('0x7c')][_0x286a8c][_0xb52f('0x7e')],_0x1c1d13[_0xb52f('0x7c')][_0x286a8c][_0xb52f('0x80')],_0x1c1d13[_0xb52f('0x7c')][_0x286a8c][_0xb52f('0x7f')]));}}}if(_0x1c1d13[_0xb52f('0x82')]){_0x1c1d13[_0xb52f('0x82')]=JSON[_0xb52f('0x7d')](_0x1c1d13['conditions']);_0x1db6cf[_0xb52f('0x3f')](_0x34e416(_0x1c1d13[_0xb52f('0x82')]['group']));}_0x5930b9=_0x1db6cf[_0xb52f('0x83')]();_0x1db6cf[_0xb52f('0x1f')](_0x129146);_0x1db6cf[_0xb52f('0x1d')](0x0);logger[_0xb52f('0x84')](_0xb52f('0xa7'),_0x1db6cf[_0xb52f('0x85')]());return dbH[_0xb52f('0x86')][_0xb52f('0x36')](_0x1db6cf[_0xb52f('0x85')](),{'type':dbH[_0xb52f('0x86')][_0xb52f('0x87')][_0xb52f('0x88')]});}})[_0xb52f('0x27')](function(){return{'sql':_0x5930b9['toString']()};})[_0xb52f('0x27')](respondWithResult(_0x342e06,null))['catch'](handleError(_0x342e06,null));};