Built motion from commit (unavailable).|2.4.21
[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 _0xfdeb=['error','stack','name','map','rawAttributes','fieldName','key','keys','filters','model','attributes','fields','length','query','hasOwnProperty','sort','pick','where','merge','type','filter','options','includeAll','rows','catch','params','AnalyticDefaultReport','intersection','include','find','create','body','get','Reports','UserProfileSection','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','preview','join','left_join','cross_join','SUM(%s)','COUNT(%s)','MAX(%s)','MIN(%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','group','field','condition','value','ValidationErrorItem','Please\x20insert\x20at\x20least\x20one\x20field','AnalyticMetric','findAll','select','from','table','MetricId','metric','function','format','replace','groupBy','orderBy','DESC','alias','joins','parse','parentKey','foreignTable','foreignKey','conditions','clone','debug','Limited\x20Query:','toString','sequelize','QueryTypes','SELECT','right_join','COUNT(DISTINCT\x20%s)','AVG(%s)','GROUP_CONCAT(%s)','getFields','keyBy','order','%s.%s\x20=\x20%s.%s','Sequelize','No\x20available\x20data','output','web','fullPath','%s-%s.%s','generate','AnalyticExtractedReport','cdr','.calldate\x20BETWEEN\x20?\x20AND\x20?','.createdAt\x20BETWEEN\x20?\x20AND\x20?','startDate','info','Run\x20Query:','child_process','fork','../../components/export/','../../files/reports','savename','countTable','runReport','operator','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','util','sox','ejs','squel','crypto','jsforce','desk.js','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','dbH','sendStatus','status','end','json','count','offset','limit','set','apply','reject','save','update','then','destroy','DefaultReports','UserProfileResource'];(function(_0x523fab,_0x5346b1){var _0x5d5b66=function(_0x447684){while(--_0x447684){_0x523fab['push'](_0x523fab['shift']());}};_0x5d5b66(++_0x5346b1);}(_0xfdeb,0x1b9));var _0xbfde=function(_0x55cc58,_0x5ce0af){_0x55cc58=_0x55cc58-0x0;var _0x26062e=_0xfdeb[_0x55cc58];return _0x26062e;};'use strict';var pdf=require(_0xbfde('0x0'));var emlformat=require(_0xbfde('0x1'));var rimraf=require(_0xbfde('0x2'));var zipdir=require(_0xbfde('0x3'));var jsonpatch=require(_0xbfde('0x4'));var rp=require('request-promise');var moment=require(_0xbfde('0x5'));var BPromise=require(_0xbfde('0x6'));var Mustache=require('mustache');var util=require(_0xbfde('0x7'));var path=require('path');var sox=require(_0xbfde('0x8'));var csv=require('to-csv');var ejs=require(_0xbfde('0x9'));var fs=require('fs');var _=require('lodash');var squel=require(_0xbfde('0xa'));var crypto=require(_0xbfde('0xb'));var jsforce=require(_0xbfde('0xc'));var deskjs=require(_0xbfde('0xd'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0xbfde('0xe'));var Redis=require('ioredis');var authService=require(_0xbfde('0xf'));var qs=require(_0xbfde('0x10'));var as=require(_0xbfde('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xbfde('0x12'))('api');var utils=require(_0xbfde('0x13'));var config=require(_0xbfde('0x14'));var db=require(_0xbfde('0x15'))['db'];var dbH=require(_0xbfde('0x15'))[_0xbfde('0x16')];function respondWithStatusCode(_0x4b70a,_0x53c3da){_0x53c3da=_0x53c3da||0xcc;return function(_0x42782c){if(_0x42782c){return _0x4b70a[_0xbfde('0x17')](_0x53c3da);}return _0x4b70a[_0xbfde('0x18')](_0x53c3da)[_0xbfde('0x19')]();};}function respondWithResult(_0x3f9711,_0x14c8a1){_0x14c8a1=_0x14c8a1||0xc8;return function(_0x3b7d32){if(_0x3b7d32){return _0x3f9711['status'](_0x14c8a1)[_0xbfde('0x1a')](_0x3b7d32);}};}function respondWithFilteredResult(_0x1b0317,_0x52404e){return function(_0x1d4822){if(_0x1d4822){var _0x4f3124=_0x1d4822[_0xbfde('0x1b')],_0x51b593=_0x52404e[_0xbfde('0x1c')],_0x41af11=_0x52404e[_0xbfde('0x1c')]+_0x52404e[_0xbfde('0x1d')],_0x31f0e1;if(_0x41af11>=_0x4f3124){_0x41af11=_0x4f3124;_0x31f0e1=0xc8;}else{_0x31f0e1=0xce;}_0x1b0317['status'](_0x31f0e1);return _0x1b0317[_0xbfde('0x1e')]('Content-Range',_0x51b593+'-'+_0x41af11+'/'+_0x4f3124)[_0xbfde('0x1a')](_0x1d4822);}return null;};}function patchUpdates(_0x58c8a0){return function(_0x33bc1d){try{jsonpatch[_0xbfde('0x1f')](_0x33bc1d,_0x58c8a0,!![]);}catch(_0x4b2748){return BPromise[_0xbfde('0x20')](_0x4b2748);}return _0x33bc1d[_0xbfde('0x21')]();};}function saveUpdates(_0x16da92,_0x21eb4b){return function(_0x5a97c7){if(_0x5a97c7){return _0x5a97c7[_0xbfde('0x22')](_0x16da92)[_0xbfde('0x23')](function(_0x109e34){return _0x109e34;});}return null;};}function removeEntity(_0xb8ed07,_0x16dcea){return function(_0x3d2100){if(_0x3d2100){return _0x3d2100[_0xbfde('0x24')]()[_0xbfde('0x23')](function(){var _0x4dbfdb=_0x3d2100['get']({'plain':!![]});var _0x1ecbda=_0xbfde('0x25');return db[_0xbfde('0x26')]['destroy']({'where':{'type':_0x1ecbda,'resourceId':_0x4dbfdb['id']}})[_0xbfde('0x23')](function(){return _0x3d2100;});})['then'](function(){_0xb8ed07[_0xbfde('0x18')](0xcc)[_0xbfde('0x19')]();});}};}function handleEntityNotFound(_0xaf5a31,_0xeb8543){return function(_0x360165){if(!_0x360165){_0xaf5a31[_0xbfde('0x17')](0x194);}return _0x360165;};}function handleError(_0x318f43,_0x38ed43){_0x38ed43=_0x38ed43||0x1f4;return function(_0x12d2ad){logger[_0xbfde('0x27')](_0x12d2ad[_0xbfde('0x28')]);if(_0x12d2ad[_0xbfde('0x29')]){delete _0x12d2ad['name'];}_0x318f43['status'](_0x38ed43)['send'](_0x12d2ad);};}exports['index']=function(_0x482c64,_0x6dccb6){var _0x59f73d={},_0x31e268={},_0x4581d1={'count':0x0,'rows':[]};var _0x3ae4d2=_[_0xbfde('0x2a')](db['AnalyticDefaultReport'][_0xbfde('0x2b')],function(_0x440f58){return{'name':_0x440f58[_0xbfde('0x2c')],'type':_0x440f58['type'][_0xbfde('0x2d')]};});_0x31e268['model']=_[_0xbfde('0x2a')](_0x3ae4d2,_0xbfde('0x29'));_0x31e268['query']=_[_0xbfde('0x2e')](_0x482c64['query']);_0x31e268[_0xbfde('0x2f')]=_['intersection'](_0x31e268[_0xbfde('0x30')],_0x31e268['query']);_0x59f73d[_0xbfde('0x31')]=_['intersection'](_0x31e268[_0xbfde('0x30')],qs['fields'](_0x482c64['query'][_0xbfde('0x32')]));_0x59f73d[_0xbfde('0x31')]=_0x59f73d['attributes'][_0xbfde('0x33')]?_0x59f73d['attributes']:_0x31e268[_0xbfde('0x30')];if(!_0x482c64[_0xbfde('0x34')][_0xbfde('0x35')]('nolimit')){_0x59f73d[_0xbfde('0x1d')]=qs[_0xbfde('0x1d')](_0x482c64[_0xbfde('0x34')]['limit']);_0x59f73d[_0xbfde('0x1c')]=qs[_0xbfde('0x1c')](_0x482c64[_0xbfde('0x34')][_0xbfde('0x1c')]);}_0x59f73d['order']=qs[_0xbfde('0x36')](_0x482c64['query'][_0xbfde('0x36')]);_0x59f73d['where']=qs[_0xbfde('0x2f')](_[_0xbfde('0x37')](_0x482c64['query'],_0x31e268['filters']));if(_0x482c64[_0xbfde('0x34')]['filter']){_0x59f73d[_0xbfde('0x38')]=_[_0xbfde('0x39')](_0x59f73d[_0xbfde('0x38')],{'$or':_[_0xbfde('0x2a')](_0x3ae4d2,function(_0x40ef55){if(_0x40ef55[_0xbfde('0x3a')]!=='VIRTUAL'){var _0x7aa2f={};_0x7aa2f[_0x40ef55[_0xbfde('0x29')]]={'$like':'%'+_0x482c64[_0xbfde('0x34')][_0xbfde('0x3b')]+'%'};return _0x7aa2f;}})});}_0x59f73d=_['merge']({},_0x59f73d,_0x482c64[_0xbfde('0x3c')]);var _0x4679fc={'where':_0x59f73d[_0xbfde('0x38')]};return db['AnalyticDefaultReport'][_0xbfde('0x1b')](_0x4679fc)[_0xbfde('0x23')](function(_0x1c5407){_0x4581d1[_0xbfde('0x1b')]=_0x1c5407;if(_0x482c64[_0xbfde('0x34')][_0xbfde('0x3d')]){_0x59f73d['include']=[{'all':!![]}];}return db['AnalyticDefaultReport']['findAll'](_0x59f73d);})['then'](function(_0x51706f){_0x4581d1[_0xbfde('0x3e')]=_0x51706f;return _0x4581d1;})[_0xbfde('0x23')](respondWithFilteredResult(_0x6dccb6,_0x59f73d))[_0xbfde('0x3f')](handleError(_0x6dccb6,null));};exports['show']=function(_0x4320ec,_0x4d7306){var _0x5ac540={'raw':!![],'where':{'id':_0x4320ec[_0xbfde('0x40')]['id']}},_0xca6ebf={};_0xca6ebf[_0xbfde('0x30')]=_[_0xbfde('0x2e')](db[_0xbfde('0x41')][_0xbfde('0x2b')]);_0xca6ebf[_0xbfde('0x34')]=_[_0xbfde('0x2e')](_0x4320ec[_0xbfde('0x34')]);_0xca6ebf[_0xbfde('0x2f')]=_[_0xbfde('0x42')](_0xca6ebf[_0xbfde('0x30')],_0xca6ebf['query']);_0x5ac540['attributes']=_[_0xbfde('0x42')](_0xca6ebf[_0xbfde('0x30')],qs[_0xbfde('0x32')](_0x4320ec[_0xbfde('0x34')][_0xbfde('0x32')]));_0x5ac540['attributes']=_0x5ac540['attributes']['length']?_0x5ac540[_0xbfde('0x31')]:_0xca6ebf[_0xbfde('0x30')];if(_0x4320ec[_0xbfde('0x34')][_0xbfde('0x3d')]){_0x5ac540[_0xbfde('0x43')]=[{'all':!![]}];}_0x5ac540=_['merge']({},_0x5ac540,_0x4320ec[_0xbfde('0x3c')]);return db[_0xbfde('0x41')][_0xbfde('0x44')](_0x5ac540)[_0xbfde('0x23')](handleEntityNotFound(_0x4d7306,null))['then'](respondWithResult(_0x4d7306,null))[_0xbfde('0x3f')](handleError(_0x4d7306,null));};exports['create']=function(_0xc8df89,_0x5af6f8){return db[_0xbfde('0x41')][_0xbfde('0x45')](_0xc8df89[_0xbfde('0x46')],{})[_0xbfde('0x23')](function(_0x20d571){var _0x122ca9=_0xc8df89['user']['get']({'plain':!![]});if(!_0x122ca9)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x122ca9['role']==='user'){var _0x1af3c7=_0x20d571[_0xbfde('0x47')]({'plain':!![]});var _0x3830a4=_0xbfde('0x48');return db[_0xbfde('0x49')]['find']({'where':{'name':_0x3830a4,'userProfileId':_0x122ca9[_0xbfde('0x4a')]},'raw':!![]})[_0xbfde('0x23')](function(_0x40553f){if(_0x40553f&&_0x40553f['autoAssociation']===0x0){return db['UserProfileResource'][_0xbfde('0x45')]({'name':_0x1af3c7['name'],'resourceId':_0x1af3c7['id'],'type':'DefaultReports','sectionId':_0x40553f['id']},{})[_0xbfde('0x23')](function(){return _0x20d571;});}else{return _0x20d571;}})['catch'](function(_0x5ee4b3){logger[_0xbfde('0x27')](_0xbfde('0x4b'),_0x5ee4b3);throw _0x5ee4b3;});}return _0x20d571;})[_0xbfde('0x23')](respondWithResult(_0x5af6f8,0xc9))[_0xbfde('0x3f')](handleError(_0x5af6f8,null));};exports[_0xbfde('0x22')]=function(_0x1b660b,_0x4d57c0){if(_0x1b660b[_0xbfde('0x46')]['id']){delete _0x1b660b[_0xbfde('0x46')]['id'];}return db[_0xbfde('0x41')][_0xbfde('0x44')]({'where':{'id':_0x1b660b['params']['id']}})[_0xbfde('0x23')](handleEntityNotFound(_0x4d57c0,null))[_0xbfde('0x23')](saveUpdates(_0x1b660b[_0xbfde('0x46')],null))[_0xbfde('0x23')](respondWithResult(_0x4d57c0,null))[_0xbfde('0x3f')](handleError(_0x4d57c0,null));};exports[_0xbfde('0x24')]=function(_0x92cbb2,_0x5cdae3){return db[_0xbfde('0x41')][_0xbfde('0x44')]({'where':{'id':_0x92cbb2['params']['id']}})['then'](handleEntityNotFound(_0x5cdae3,null))[_0xbfde('0x23')](removeEntity(_0x5cdae3,null))['catch'](handleError(_0x5cdae3,null));};exports[_0xbfde('0x4c')]=function(_0x26a727,_0x4945f2){var _0x1b2689=0xa;var _0x1b8357=[_0xbfde('0x4d'),_0xbfde('0x4e'),'right_join',_0xbfde('0x4f')];var _0x31179b={'SUM':_0xbfde('0x50'),'COUNT':_0xbfde('0x51'),'COUNT DISTINCT':'COUNT(DISTINCT\x20%s)','MAX':_0xbfde('0x52'),'MIN':_0xbfde('0x53'),'AVG':'AVG(%s)','GROUP_CONCAT':'GROUP_CONCAT(%s)','GROUP_CONCAT ASC':_0xbfde('0x54'),'GROUP_CONCAT DESC':_0xbfde('0x55')};var _0x258f21={'SEC_TO_TIME':_0xbfde('0x56'),'DATE':_0xbfde('0x57'),'HOUR':_0xbfde('0x58'),'ROUND':_0xbfde('0x59'),'UNIX_TIMESTAMP':_0xbfde('0x5a')};var _0x33aba5=function(_0x2a9b1c){return!_[_0xbfde('0x5b')]([_0xbfde('0x5c'),_0xbfde('0x5d'),_0xbfde('0x5e'),_0xbfde('0x5f')],_0x2a9b1c);};var _0x54276d=function(_0x3c5b40){if(!_0x3c5b40||!_0x3c5b40[_0xbfde('0x60')][_0xbfde('0x33')]){return'';}for(var _0x26b800='(',_0x3b85ad=0x0;_0x3b85ad<_0x3c5b40['rules']['length'];_0x3b85ad+=0x1){_0x3b85ad>0x0&&(_0x26b800+='\x20'+_0x3c5b40['operator']+'\x20');_0x26b800+=_0x3c5b40['rules'][_0x3b85ad][_0xbfde('0x61')]?_0x54276d(_0x3c5b40[_0xbfde('0x60')][_0x3b85ad][_0xbfde('0x61')]):_0x3c5b40['rules'][_0x3b85ad][_0xbfde('0x62')]+'\x20'+_0x3c5b40[_0xbfde('0x60')][_0x3b85ad][_0xbfde('0x63')]+(_0x33aba5(_0x3c5b40[_0xbfde('0x60')][_0x3b85ad][_0xbfde('0x63')])?'\x20'+_0x3c5b40[_0xbfde('0x60')][_0x3b85ad][_0xbfde('0x64')]:'');}return _0x26b800+')';};var _0x6a033f={'where':{'id':_0x26a727[_0xbfde('0x40')]['id']}},_0x3ba11c,_0x5dbd19,_0xab1608,_0x1eeda4,_0x12fdaa;_0x6a033f=_[_0xbfde('0x39')]({},_0x6a033f,_0x26a727[_0xbfde('0x3c')]);return db[_0xbfde('0x41')]['find'](_0x6a033f)[_0xbfde('0x23')](function(_0x176493){if(_0x176493){_0x3ba11c=_0x176493;return _0x176493['getFields']();}return null;})['then'](function(_0x3cd00c){if(_0x3cd00c){if(!_0x3cd00c[_0xbfde('0x33')]){throw new db['Sequelize'][(_0xbfde('0x65'))](_0xbfde('0x66'),0x193);}_0x5dbd19=_0x3cd00c;return db[_0xbfde('0x67')][_0xbfde('0x68')]({'raw':!![]});}return null;})[_0xbfde('0x23')](function(_0x59ab9f){if(_0x59ab9f){_0xab1608=_['keyBy'](_0x59ab9f,'id');var _0x3a6594;var _0x267ef5=squel[_0xbfde('0x69')]();_0x267ef5[_0xbfde('0x6a')](_0x3ba11c[_0xbfde('0x6b')]);for(var _0xff73e3=0x0;_0xff73e3<_0x5dbd19[_0xbfde('0x33')];_0xff73e3+=0x1){_0x3a6594=_0x5dbd19[_0xff73e3][_0xbfde('0x6c')]?_0xab1608[_0x5dbd19[_0xff73e3]['MetricId']][_0xbfde('0x6d')]:_0x5dbd19[_0xff73e3][_0xbfde('0x62')];_0x3a6594=_0x5dbd19[_0xff73e3]['function']?_['replace'](_0x31179b[_0x5dbd19[_0xff73e3][_0xbfde('0x6e')]],'%s',_0x3a6594):_0x3a6594;_0x3a6594=_0x5dbd19[_0xff73e3][_0xbfde('0x6f')]?_[_0xbfde('0x70')](_0x258f21[_0x5dbd19[_0xff73e3][_0xbfde('0x6f')]],'%s',_0x3a6594):_0x3a6594;if(_0x5dbd19[_0xff73e3][_0xbfde('0x71')]){_0x267ef5[_0xbfde('0x61')](_0x3a6594);}_0x5dbd19[_0xff73e3][_0xbfde('0x72')]&&_0x267ef5['order'](_0x3a6594,_0x5dbd19[_0xff73e3]['orderBy']===_0xbfde('0x73')?![]:!![]);_0x267ef5[_0xbfde('0x62')](_0x3a6594,_0x5dbd19[_0xff73e3][_0xbfde('0x74')]||_0x3a6594);}if(_0x3ba11c['joins']){_0x3ba11c[_0xbfde('0x75')]=JSON[_0xbfde('0x76')](_0x3ba11c[_0xbfde('0x75')]);for(var _0x4145a5=0x0;_0x4145a5<_0x3ba11c[_0xbfde('0x75')][_0xbfde('0x33')];_0x4145a5+=0x1){if(_0x3ba11c[_0xbfde('0x75')][_0x4145a5][_0xbfde('0x3a')]&&_[_0xbfde('0x5b')](_0x1b8357,_0x3ba11c[_0xbfde('0x75')][_0x4145a5][_0xbfde('0x3a')])&&_0x3ba11c[_0xbfde('0x75')][_0x4145a5][_0xbfde('0x77')]&&_0x3ba11c[_0xbfde('0x75')][_0x4145a5][_0xbfde('0x78')]&&_0x3ba11c[_0xbfde('0x75')][_0x4145a5][_0xbfde('0x79')]){_0x267ef5[_0x3ba11c[_0xbfde('0x75')][_0x4145a5][_0xbfde('0x3a')]](_0x3ba11c[_0xbfde('0x75')][_0x4145a5]['foreignTable'],null,util[_0xbfde('0x6f')]('%s.%s\x20=\x20%s.%s',_0x3ba11c[_0xbfde('0x6b')],_0x3ba11c['joins'][_0x4145a5][_0xbfde('0x77')],_0x3ba11c[_0xbfde('0x75')][_0x4145a5]['foreignTable'],_0x3ba11c[_0xbfde('0x75')][_0x4145a5][_0xbfde('0x79')]));}}}if(_0x3ba11c[_0xbfde('0x7a')]){_0x3ba11c[_0xbfde('0x7a')]=JSON[_0xbfde('0x76')](_0x3ba11c['conditions']);_0x267ef5['where'](_0x54276d(_0x3ba11c[_0xbfde('0x7a')][_0xbfde('0x61')]));}_0x12fdaa=_0x267ef5[_0xbfde('0x7b')]();_0x267ef5[_0xbfde('0x1d')](_0x1b2689);_0x267ef5['offset'](0x0);logger[_0xbfde('0x7c')](_0xbfde('0x7d'),_0x267ef5[_0xbfde('0x7e')]());return db[_0xbfde('0x7f')][_0xbfde('0x34')](_0x267ef5[_0xbfde('0x7e')](),{'type':db[_0xbfde('0x7f')][_0xbfde('0x80')][_0xbfde('0x81')]});}})[_0xbfde('0x23')](respondWithResult(_0x4945f2,null))[_0xbfde('0x3f')](handleError(_0x4945f2,null));};function runReport(_0x2e188a,_0x3de801,_0x512b9c){var _0x51cb79=_0x3de801[_0xbfde('0x29')];var _0x484d11=0xa;var _0x37c04f=[_0xbfde('0x4d'),'left_join',_0xbfde('0x82'),_0xbfde('0x4f')];var _0x4989f5={'SUM':_0xbfde('0x50'),'COUNT':_0xbfde('0x51'),'COUNT DISTINCT':_0xbfde('0x83'),'MAX':'MAX(%s)','MIN':_0xbfde('0x53'),'AVG':_0xbfde('0x84'),'GROUP_CONCAT':_0xbfde('0x85'),'GROUP_CONCAT ASC':_0xbfde('0x54'),'GROUP_CONCAT DESC':_0xbfde('0x55')};var _0xa2aa7e={'SEC_TO_TIME':_0xbfde('0x56'),'DATE':_0xbfde('0x57'),'HOUR':_0xbfde('0x58'),'ROUND':_0xbfde('0x59'),'UNIX_TIMESTAMP':_0xbfde('0x5a')};var _0x292dd=function(_0x236f73){return!_[_0xbfde('0x5b')]([_0xbfde('0x5c'),'IS\x20NOT\x20NULL',_0xbfde('0x5e'),_0xbfde('0x5f')],_0x236f73);};var _0x5e2626=function(_0x29a7c3){if(!_0x29a7c3||!_0x29a7c3[_0xbfde('0x60')][_0xbfde('0x33')]){return'';}for(var _0x4c1f62='(',_0x1748b4=0x0;_0x1748b4<_0x29a7c3[_0xbfde('0x60')][_0xbfde('0x33')];_0x1748b4+=0x1){_0x1748b4>0x0&&(_0x4c1f62+='\x20'+_0x29a7c3['operator']+'\x20');_0x4c1f62+=_0x29a7c3[_0xbfde('0x60')][_0x1748b4]['group']?_0x5e2626(_0x29a7c3['rules'][_0x1748b4][_0xbfde('0x61')]):_0x29a7c3['rules'][_0x1748b4][_0xbfde('0x62')]+'\x20'+_0x29a7c3['rules'][_0x1748b4][_0xbfde('0x63')]+(_0x292dd(_0x29a7c3[_0xbfde('0x60')][_0x1748b4]['condition'])?'\x20'+_0x29a7c3[_0xbfde('0x60')][_0x1748b4][_0xbfde('0x64')]:'');}return _0x4c1f62+')';};var _0x1bc10d={'where':{'id':_0x2e188a['id']}},_0x404358,_0x228fc8,_0x17d8d8,_0xc963ac,_0x590c9a;_0x1bc10d=_[_0xbfde('0x39')]({},_0x1bc10d,_0x512b9c);return db[_0xbfde('0x41')][_0xbfde('0x44')](_0x1bc10d)[_0xbfde('0x23')](function(_0x4dc9e0){if(_0x4dc9e0){_0x404358=_0x4dc9e0;return _0x4dc9e0[_0xbfde('0x86')]();}return null;})[_0xbfde('0x23')](function(_0x5eb0da){if(_0x5eb0da){if(!_0x5eb0da[_0xbfde('0x33')]){throw new db['Sequelize'][(_0xbfde('0x65'))](_0xbfde('0x66'),0x193);}_0x228fc8=_0x5eb0da;return db[_0xbfde('0x67')][_0xbfde('0x68')]({'raw':!![]});}return null;})[_0xbfde('0x23')](function(_0xb1ab05){if(_0xb1ab05){_0x17d8d8=_[_0xbfde('0x87')](_0xb1ab05,'id');var _0x17b8f9;var _0x2ef592=squel[_0xbfde('0x69')]();_0x2ef592[_0xbfde('0x6a')](_0x404358[_0xbfde('0x6b')]);for(var _0x1be016=0x0;_0x1be016<_0x228fc8[_0xbfde('0x33')];_0x1be016+=0x1){_0x17b8f9=_0x228fc8[_0x1be016]['MetricId']?_0x17d8d8[_0x228fc8[_0x1be016][_0xbfde('0x6c')]]['metric']:_0x228fc8[_0x1be016][_0xbfde('0x62')];_0x17b8f9=_0x228fc8[_0x1be016]['function']?_[_0xbfde('0x70')](_0x4989f5[_0x228fc8[_0x1be016][_0xbfde('0x6e')]],'%s',_0x17b8f9):_0x17b8f9;_0x17b8f9=_0x228fc8[_0x1be016]['format']?_[_0xbfde('0x70')](_0xa2aa7e[_0x228fc8[_0x1be016][_0xbfde('0x6f')]],'%s',_0x17b8f9):_0x17b8f9;if(_0x228fc8[_0x1be016][_0xbfde('0x71')]){_0x2ef592['group'](_0x17b8f9);}_0x228fc8[_0x1be016]['orderBy']&&_0x2ef592[_0xbfde('0x88')](_0x17b8f9,_0x228fc8[_0x1be016][_0xbfde('0x72')]===_0xbfde('0x73')?![]:!![]);_0x2ef592[_0xbfde('0x62')](_0x17b8f9,_0x228fc8[_0x1be016]['alias']||_0x17b8f9);}if(_0x404358[_0xbfde('0x75')]){_0x404358['joins']=JSON[_0xbfde('0x76')](_0x404358[_0xbfde('0x75')]);for(var _0x1ce6aa=0x0;_0x1ce6aa<_0x404358[_0xbfde('0x75')][_0xbfde('0x33')];_0x1ce6aa+=0x1){if(_0x404358[_0xbfde('0x75')][_0x1ce6aa][_0xbfde('0x3a')]&&_['includes'](_0x37c04f,_0x404358[_0xbfde('0x75')][_0x1ce6aa][_0xbfde('0x3a')])&&_0x404358[_0xbfde('0x75')][_0x1ce6aa][_0xbfde('0x77')]&&_0x404358[_0xbfde('0x75')][_0x1ce6aa][_0xbfde('0x78')]&&_0x404358[_0xbfde('0x75')][_0x1ce6aa][_0xbfde('0x79')]){_0x2ef592[_0x404358[_0xbfde('0x75')][_0x1ce6aa][_0xbfde('0x3a')]](_0x404358[_0xbfde('0x75')][_0x1ce6aa][_0xbfde('0x78')],null,util[_0xbfde('0x6f')](_0xbfde('0x89'),_0x404358[_0xbfde('0x6b')],_0x404358[_0xbfde('0x75')][_0x1ce6aa][_0xbfde('0x77')],_0x404358[_0xbfde('0x75')][_0x1ce6aa]['foreignTable'],_0x404358[_0xbfde('0x75')][_0x1ce6aa][_0xbfde('0x79')]));}}}if(_0x404358[_0xbfde('0x7a')]){_0x404358[_0xbfde('0x7a')]=JSON[_0xbfde('0x76')](_0x404358['conditions']);_0x2ef592[_0xbfde('0x38')](_0x5e2626(_0x404358[_0xbfde('0x7a')][_0xbfde('0x61')]));}_0x590c9a=_0x2ef592[_0xbfde('0x7b')]();_0x2ef592[_0xbfde('0x1d')](_0x484d11);_0x2ef592[_0xbfde('0x1c')](0x0);logger[_0xbfde('0x7c')](_0xbfde('0x7d'),_0x2ef592[_0xbfde('0x7e')]());return db[_0xbfde('0x7f')]['query'](_0x2ef592[_0xbfde('0x7e')](),{'type':db['sequelize'][_0xbfde('0x80')][_0xbfde('0x81')]});}})['then'](function(_0x28e664){if(!_0x28e664['length']){throw new db[(_0xbfde('0x8a'))][(_0xbfde('0x65'))](_0xbfde('0x8b'),0xcc);}if(_0x3de801[_0xbfde('0x8c')]===_0xbfde('0x8d')){return null;}var _0xa87482=_[_0xbfde('0x39')](_0x3de801,{'name':_0x3de801[_0xbfde('0x8e')]||_0x3de801[_0xbfde('0x29')]||_0x404358['name'],'basename':_0x51cb79,'savename':util['format'](_0xbfde('0x8f'),_0x3de801['name']||_0x404358[_0xbfde('0x29')],require('randomstring')[_0xbfde('0x90')](0x4),_0x3de801[_0xbfde('0x8c')]||'csv'),'reportId':_0x404358['id'],'reportType':'default'});return db[_0xbfde('0x91')][_0xbfde('0x45')](_0xa87482,{'raw':!![]});})[_0xbfde('0x23')](function(_0x2fe260){if(_0x404358['table']===_0xbfde('0x92')){_0x590c9a[_0xbfde('0x38')](_0x404358[_0xbfde('0x6b')]+_0xbfde('0x93'),_0x3de801['startDate'],_0x3de801['endDate']);}else{_0x590c9a[_0xbfde('0x38')](_0x404358['table']+_0xbfde('0x94'),_0x3de801[_0xbfde('0x95')],_0x3de801['endDate']);}if(_0x2fe260){logger[_0xbfde('0x96')](_0xbfde('0x97'),_0x590c9a['toString']());require(_0xbfde('0x98'))[_0xbfde('0x99')](path[_0xbfde('0x4d')](__dirname,_0xbfde('0x9a'),_0x2fe260[_0xbfde('0x8c')]),[_0x2fe260['id'],_0x590c9a[_0xbfde('0x7e')](),path[_0xbfde('0x4d')](__dirname,_0xbfde('0x9b'),_0x2fe260[_0xbfde('0x9c')]),_0x51cb79]);return _0x2fe260;}else{var _0x238d03=squel['select']();_0x238d03[_0xbfde('0x6a')]('('+_0x590c9a[_0xbfde('0x7e')]()+')',_0xbfde('0x9d'));_0x238d03[_0xbfde('0x62')]('COUNT(*)','count');_0x590c9a[_0xbfde('0x1d')](_0x3de801[_0xbfde('0x1d')]||_0x484d11);_0x590c9a[_0xbfde('0x1c')](_0x3de801[_0xbfde('0x1c')]||0x0);return dbH['sequelize'][_0xbfde('0x34')](_0x238d03[_0xbfde('0x7e')](),{'type':dbH[_0xbfde('0x7f')]['QueryTypes'][_0xbfde('0x81')]})['then'](function(_0x384f89){if(!_0x384f89[_0xbfde('0x33')]){_0xc963ac=0x0;}else{_0xc963ac=_0x384f89[0x0][_0xbfde('0x1b')]||0x0;}return dbH['sequelize'][_0xbfde('0x34')](_0x590c9a[_0xbfde('0x7e')](),{'type':dbH[_0xbfde('0x7f')][_0xbfde('0x80')]['SELECT']});})[_0xbfde('0x23')](function(_0x2925c8){return{'rows':_0x2925c8||[],'count':_0xc963ac};});}});}exports['run']=function(_0x267696,_0x4250a0){return runReport(_0x267696[_0xbfde('0x40')],_0x267696['query'],_0x267696[_0xbfde('0x3c')])[_0xbfde('0x23')](respondWithResult(_0x4250a0,null))[_0xbfde('0x3f')](handleError(_0x4250a0,null));};exports[_0xbfde('0x9e')]=runReport;exports[_0xbfde('0x34')]=function(_0x2163be,_0x759a16){var _0x40b7ad=0xa;var _0xd6e1e1=[_0xbfde('0x4d'),_0xbfde('0x4e'),_0xbfde('0x82'),'cross_join'];var _0x2db7bb={'SUM':_0xbfde('0x50'),'COUNT':_0xbfde('0x51'),'COUNT DISTINCT':'COUNT(DISTINCT\x20%s)','MAX':_0xbfde('0x52'),'MIN':'MIN(%s)','AVG':'AVG(%s)','GROUP_CONCAT':'GROUP_CONCAT(%s)','GROUP_CONCAT ASC':_0xbfde('0x54'),'GROUP_CONCAT DESC':_0xbfde('0x55')};var _0x234cc1={'SEC_TO_TIME':_0xbfde('0x56'),'DATE':_0xbfde('0x57'),'HOUR':_0xbfde('0x58'),'ROUND':_0xbfde('0x59'),'UNIX_TIMESTAMP':'UNIX_TIMESTAMP(%s)'};var _0x12996e=function(_0x268d58){return!_['includes']([_0xbfde('0x5c'),_0xbfde('0x5d'),_0xbfde('0x5e'),_0xbfde('0x5f')],_0x268d58);};var _0x541d54=function(_0x2dd2f6){if(!_0x2dd2f6||!_0x2dd2f6['rules'][_0xbfde('0x33')]){return'';}for(var _0xe8e783='(',_0x4cf478=0x0;_0x4cf478<_0x2dd2f6[_0xbfde('0x60')]['length'];_0x4cf478+=0x1){_0x4cf478>0x0&&(_0xe8e783+='\x20'+_0x2dd2f6[_0xbfde('0x9f')]+'\x20');_0xe8e783+=_0x2dd2f6[_0xbfde('0x60')][_0x4cf478][_0xbfde('0x61')]?_0x541d54(_0x2dd2f6[_0xbfde('0x60')][_0x4cf478][_0xbfde('0x61')]):_0x2dd2f6['rules'][_0x4cf478][_0xbfde('0x62')]+'\x20'+_0x2dd2f6[_0xbfde('0x60')][_0x4cf478][_0xbfde('0x63')]+(_0x12996e(_0x2dd2f6['rules'][_0x4cf478][_0xbfde('0x63')])?'\x20'+_0x2dd2f6[_0xbfde('0x60')][_0x4cf478][_0xbfde('0x64')]:'');}return _0xe8e783+')';};var _0x23f857={'where':{'id':_0x2163be[_0xbfde('0x40')]['id']}},_0x150622,_0x31692c,_0x112a05,_0x271ee8,_0x470c0d;_0x23f857=_[_0xbfde('0x39')]({},_0x23f857,_0x2163be[_0xbfde('0x3c')]);return db['AnalyticDefaultReport'][_0xbfde('0x44')](_0x23f857)['then'](function(_0x3ddbec){if(_0x3ddbec){_0x150622=_0x3ddbec;return _0x3ddbec[_0xbfde('0x86')]();}return null;})['then'](function(_0x51681e){if(_0x51681e){if(!_0x51681e[_0xbfde('0x33')]){throw new db[(_0xbfde('0x8a'))][(_0xbfde('0x65'))](_0xbfde('0x66'),0x193);}_0x31692c=_0x51681e;return db['AnalyticMetric'][_0xbfde('0x68')]({'raw':!![]});}return null;})[_0xbfde('0x23')](function(_0x225af6){if(_0x225af6){_0x112a05=_[_0xbfde('0x87')](_0x225af6,'id');var _0x178b54;var _0x4d499b=squel[_0xbfde('0x69')]();_0x4d499b[_0xbfde('0x6a')](_0x150622[_0xbfde('0x6b')]);for(var _0xc39bad=0x0;_0xc39bad<_0x31692c['length'];_0xc39bad+=0x1){_0x178b54=_0x31692c[_0xc39bad][_0xbfde('0x6c')]?_0x112a05[_0x31692c[_0xc39bad][_0xbfde('0x6c')]][_0xbfde('0x6d')]:_0x31692c[_0xc39bad][_0xbfde('0x62')];_0x178b54=_0x31692c[_0xc39bad][_0xbfde('0x6e')]?_['replace'](_0x2db7bb[_0x31692c[_0xc39bad]['function']],'%s',_0x178b54):_0x178b54;_0x178b54=_0x31692c[_0xc39bad]['format']?_['replace'](_0x234cc1[_0x31692c[_0xc39bad]['format']],'%s',_0x178b54):_0x178b54;if(_0x31692c[_0xc39bad][_0xbfde('0x71')]){_0x4d499b[_0xbfde('0x61')](_0x178b54);}_0x31692c[_0xc39bad][_0xbfde('0x72')]&&_0x4d499b[_0xbfde('0x88')](_0x178b54,_0x31692c[_0xc39bad][_0xbfde('0x72')]==='DESC'?![]:!![]);_0x4d499b[_0xbfde('0x62')](_0x178b54,_0x31692c[_0xc39bad][_0xbfde('0x74')]||_0x178b54);}if(_0x150622[_0xbfde('0x75')]){_0x150622[_0xbfde('0x75')]=JSON[_0xbfde('0x76')](_0x150622[_0xbfde('0x75')]);for(var _0x57889c=0x0;_0x57889c<_0x150622[_0xbfde('0x75')][_0xbfde('0x33')];_0x57889c+=0x1){if(_0x150622[_0xbfde('0x75')][_0x57889c][_0xbfde('0x3a')]&&_[_0xbfde('0x5b')](_0xd6e1e1,_0x150622[_0xbfde('0x75')][_0x57889c][_0xbfde('0x3a')])&&_0x150622['joins'][_0x57889c][_0xbfde('0x77')]&&_0x150622[_0xbfde('0x75')][_0x57889c][_0xbfde('0x78')]&&_0x150622[_0xbfde('0x75')][_0x57889c][_0xbfde('0x79')]){_0x4d499b[_0x150622['joins'][_0x57889c][_0xbfde('0x3a')]](_0x150622['joins'][_0x57889c][_0xbfde('0x78')],null,util[_0xbfde('0x6f')](_0xbfde('0x89'),_0x150622[_0xbfde('0x6b')],_0x150622['joins'][_0x57889c][_0xbfde('0x77')],_0x150622[_0xbfde('0x75')][_0x57889c][_0xbfde('0x78')],_0x150622['joins'][_0x57889c]['foreignKey']));}}}if(_0x150622[_0xbfde('0x7a')]){_0x150622['conditions']=JSON[_0xbfde('0x76')](_0x150622[_0xbfde('0x7a')]);_0x4d499b[_0xbfde('0x38')](_0x541d54(_0x150622[_0xbfde('0x7a')][_0xbfde('0x61')]));}_0x470c0d=_0x4d499b[_0xbfde('0x7b')]();_0x4d499b[_0xbfde('0x1d')](_0x40b7ad);_0x4d499b[_0xbfde('0x1c')](0x0);logger[_0xbfde('0x7c')](_0xbfde('0x7d'),_0x4d499b[_0xbfde('0x7e')]());return db[_0xbfde('0x7f')][_0xbfde('0x34')](_0x4d499b[_0xbfde('0x7e')](),{'type':db[_0xbfde('0x7f')]['QueryTypes'][_0xbfde('0x81')]});}})[_0xbfde('0x23')](function(){return{'sql':_0x470c0d[_0xbfde('0x7e')]()};})[_0xbfde('0x23')](respondWithResult(_0x759a16,null))[_0xbfde('0x3f')](handleError(_0x759a16,null));};