Built motion from commit b0a9a629.|2.6.33
[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 _0xf2c2=['status','end','offset','undefined','limit','count','set','Content-Range','json','reject','save','update','then','destroy','CustomReports','error','stack','name','send','index','map','AnalyticCustomReport','rawAttributes','fieldName','type','key','query','filters','intersection','attributes','model','fields','hasOwnProperty','order','sort','where','pick','filter','VIRTUAL','merge','options','includeAll','include','findAll','rows','catch','show','params','keys','find','create','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','Reports','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','join','left_join','cross_join','COUNT(%s)','COUNT(DISTINCT\x20%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)','UNIX_TIMESTAMP(%s)','includes','IS\x20NULL','IS\x20EMPTY','rules','length','group','field','condition','value','getFields','Sequelize','ValidationErrorItem','Please\x20insert\x20at\x20least\x20one\x20field','AnalyticMetric','select','table','MetricId','metric','replace','format','groupBy','orderBy','DESC','joins','parse','parentKey','foreignKey','foreignTable','%s.%s\x20=\x20%s.%s','conditions','clone','Limited\x20Query:','toString','sequelize','QueryTypes','SELECT','right_join','ROUND(%s)','IS\x20NOT\x20EMPTY','operator','keyBy','from','function','web','randomstring','generate','output','csv','cdr','.calldate\x20BETWEEN\x20?\x20AND\x20?','startDate','endDate','.createdAt\x20BETWEEN\x20?\x20AND\x20?','info','Run\x20Query:','fork','savename','countTable','COUNT(*)','run','runReport','SUM(%s)','alias','debug','eml-format','rimraf','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','squel','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus'];(function(_0xfae23b,_0x2be4ba){var _0x200640=function(_0x4ae258){while(--_0x4ae258){_0xfae23b['push'](_0xfae23b['shift']());}};_0x200640(++_0x2be4ba);}(_0xf2c2,0x132));var _0x2f2c=function(_0x3c18bd,_0x5eda61){_0x3c18bd=_0x3c18bd-0x0;var _0x29ae98=_0xf2c2[_0x3c18bd];return _0x29ae98;};'use strict';var emlformat=require(_0x2f2c('0x0'));var rimraf=require(_0x2f2c('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x2f2c('0x2'));var moment=require(_0x2f2c('0x3'));var BPromise=require(_0x2f2c('0x4'));var Mustache=require(_0x2f2c('0x5'));var util=require(_0x2f2c('0x6'));var path=require(_0x2f2c('0x7'));var sox=require('sox');var csv=require(_0x2f2c('0x8'));var ejs=require(_0x2f2c('0x9'));var fs=require('fs');var fs_extra=require(_0x2f2c('0xa'));var _=require('lodash');var squel=require(_0x2f2c('0xb'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x2f2c('0xc'));var toCsv=require(_0x2f2c('0x8'));var querystring=require(_0x2f2c('0xd'));var Papa=require('papaparse');var Redis=require(_0x2f2c('0xe'));var authService=require(_0x2f2c('0xf'));var qs=require(_0x2f2c('0x10'));var as=require(_0x2f2c('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x2f2c('0x12'));var utils=require(_0x2f2c('0x13'));var config=require(_0x2f2c('0x14'));var licenseUtil=require(_0x2f2c('0x15'));var db=require(_0x2f2c('0x16'))['db'];var dbH=require(_0x2f2c('0x16'))['dbH'];function respondWithStatusCode(_0x52b387,_0x3ad41e){_0x3ad41e=_0x3ad41e||0xcc;return function(_0x526c7f){if(_0x526c7f){return _0x52b387[_0x2f2c('0x17')](_0x3ad41e);}return _0x52b387[_0x2f2c('0x18')](_0x3ad41e)[_0x2f2c('0x19')]();};}function respondWithResult(_0x154d23,_0x3ba97b){_0x3ba97b=_0x3ba97b||0xc8;return function(_0x9f7f9d){if(_0x9f7f9d){return _0x154d23[_0x2f2c('0x18')](_0x3ba97b)['json'](_0x9f7f9d);}};}function respondWithFilteredResult(_0x263c15,_0x24b260){return function(_0x37a6b2){if(_0x37a6b2){var _0x3af135=typeof _0x24b260[_0x2f2c('0x1a')]===_0x2f2c('0x1b')&&typeof _0x24b260[_0x2f2c('0x1c')]===_0x2f2c('0x1b');var _0x4e1350=_0x37a6b2['count'];var _0x235cbf=_0x3af135?0x0:_0x24b260[_0x2f2c('0x1a')];var _0x3f5adc=_0x3af135?_0x37a6b2[_0x2f2c('0x1d')]:_0x24b260[_0x2f2c('0x1a')]+_0x24b260[_0x2f2c('0x1c')];var _0x4fa73c;if(_0x3f5adc>=_0x4e1350){_0x3f5adc=_0x4e1350;_0x4fa73c=0xc8;}else{_0x4fa73c=0xce;}_0x263c15[_0x2f2c('0x18')](_0x4fa73c);return _0x263c15[_0x2f2c('0x1e')](_0x2f2c('0x1f'),_0x235cbf+'-'+_0x3f5adc+'/'+_0x4e1350)[_0x2f2c('0x20')](_0x37a6b2);}return null;};}function patchUpdates(_0x5f55c8){return function(_0x42c406){try{jsonpatch['apply'](_0x42c406,_0x5f55c8,!![]);}catch(_0x2e00c2){return BPromise[_0x2f2c('0x21')](_0x2e00c2);}return _0x42c406[_0x2f2c('0x22')]();};}function saveUpdates(_0x4ce150,_0x4d8156){return function(_0x3a2762){if(_0x3a2762){return _0x3a2762[_0x2f2c('0x23')](_0x4ce150)[_0x2f2c('0x24')](function(_0x38d161){return _0x38d161;});}return null;};}function removeEntity(_0x39730a,_0x74d3ef){return function(_0x584d48){if(_0x584d48){return _0x584d48[_0x2f2c('0x25')]()[_0x2f2c('0x24')](function(){var _0x1b6d02=_0x584d48['get']({'plain':!![]});var _0x13a619=_0x2f2c('0x26');return db['UserProfileResource'][_0x2f2c('0x25')]({'where':{'type':_0x13a619,'resourceId':_0x1b6d02['id']}})[_0x2f2c('0x24')](function(){return _0x584d48;});})[_0x2f2c('0x24')](function(){_0x39730a[_0x2f2c('0x18')](0xcc)[_0x2f2c('0x19')]();});}};}function handleEntityNotFound(_0xe58b8e,_0x531511){return function(_0x78e5e4){if(!_0x78e5e4){_0xe58b8e[_0x2f2c('0x17')](0x194);}return _0x78e5e4;};}function handleError(_0x16ee0a,_0x38e921){_0x38e921=_0x38e921||0x1f4;return function(_0x1015e8){logger[_0x2f2c('0x27')](_0x1015e8[_0x2f2c('0x28')]);if(_0x1015e8[_0x2f2c('0x29')]){delete _0x1015e8[_0x2f2c('0x29')];}_0x16ee0a[_0x2f2c('0x18')](_0x38e921)[_0x2f2c('0x2a')](_0x1015e8);};}exports[_0x2f2c('0x2b')]=function(_0x34daa9,_0xcf7b13){var _0x2fb406={},_0x53bf65={},_0x471874={'count':0x0,'rows':[]};var _0x373bb5=_[_0x2f2c('0x2c')](db[_0x2f2c('0x2d')][_0x2f2c('0x2e')],function(_0x3bcb5f){return{'name':_0x3bcb5f[_0x2f2c('0x2f')],'type':_0x3bcb5f[_0x2f2c('0x30')][_0x2f2c('0x31')]};});_0x53bf65['model']=_[_0x2f2c('0x2c')](_0x373bb5,_0x2f2c('0x29'));_0x53bf65['query']=_['keys'](_0x34daa9[_0x2f2c('0x32')]);_0x53bf65[_0x2f2c('0x33')]=_[_0x2f2c('0x34')](_0x53bf65['model'],_0x53bf65['query']);_0x2fb406[_0x2f2c('0x35')]=_[_0x2f2c('0x34')](_0x53bf65[_0x2f2c('0x36')],qs[_0x2f2c('0x37')](_0x34daa9[_0x2f2c('0x32')][_0x2f2c('0x37')]));_0x2fb406[_0x2f2c('0x35')]=_0x2fb406[_0x2f2c('0x35')]['length']?_0x2fb406[_0x2f2c('0x35')]:_0x53bf65[_0x2f2c('0x36')];if(!_0x34daa9[_0x2f2c('0x32')][_0x2f2c('0x38')]('nolimit')){_0x2fb406['limit']=qs[_0x2f2c('0x1c')](_0x34daa9[_0x2f2c('0x32')][_0x2f2c('0x1c')]);_0x2fb406[_0x2f2c('0x1a')]=qs[_0x2f2c('0x1a')](_0x34daa9[_0x2f2c('0x32')][_0x2f2c('0x1a')]);}_0x2fb406[_0x2f2c('0x39')]=qs[_0x2f2c('0x3a')](_0x34daa9['query']['sort']);_0x2fb406[_0x2f2c('0x3b')]=qs['filters'](_[_0x2f2c('0x3c')](_0x34daa9[_0x2f2c('0x32')],_0x53bf65[_0x2f2c('0x33')]),_0x373bb5);if(_0x34daa9[_0x2f2c('0x32')][_0x2f2c('0x3d')]){_0x2fb406[_0x2f2c('0x3b')]=_['merge'](_0x2fb406['where'],{'$or':_[_0x2f2c('0x2c')](_0x373bb5,function(_0x2945de){if(_0x2945de['type']!==_0x2f2c('0x3e')){var _0x11e0e6={};_0x11e0e6[_0x2945de['name']]={'$like':'%'+_0x34daa9[_0x2f2c('0x32')][_0x2f2c('0x3d')]+'%'};return _0x11e0e6;}})});}_0x2fb406=_[_0x2f2c('0x3f')]({},_0x2fb406,_0x34daa9[_0x2f2c('0x40')]);var _0xaafc82={'where':_0x2fb406['where']};return db[_0x2f2c('0x2d')][_0x2f2c('0x1d')](_0xaafc82)[_0x2f2c('0x24')](function(_0x2000d9){_0x471874[_0x2f2c('0x1d')]=_0x2000d9;if(_0x34daa9[_0x2f2c('0x32')][_0x2f2c('0x41')]){_0x2fb406[_0x2f2c('0x42')]=[{'all':!![]}];}return db[_0x2f2c('0x2d')][_0x2f2c('0x43')](_0x2fb406);})['then'](function(_0x5d9a0c){_0x471874[_0x2f2c('0x44')]=_0x5d9a0c;return _0x471874;})[_0x2f2c('0x24')](respondWithFilteredResult(_0xcf7b13,_0x2fb406))[_0x2f2c('0x45')](handleError(_0xcf7b13,null));};exports[_0x2f2c('0x46')]=function(_0x3aa4b0,_0x5da674){var _0x1835c4={'raw':![],'where':{'id':_0x3aa4b0[_0x2f2c('0x47')]['id']}},_0x4a05ef={};_0x4a05ef['model']=_[_0x2f2c('0x48')](db[_0x2f2c('0x2d')]['rawAttributes']);_0x4a05ef['query']=_['keys'](_0x3aa4b0[_0x2f2c('0x32')]);_0x4a05ef[_0x2f2c('0x33')]=_[_0x2f2c('0x34')](_0x4a05ef[_0x2f2c('0x36')],_0x4a05ef[_0x2f2c('0x32')]);_0x1835c4['attributes']=_[_0x2f2c('0x34')](_0x4a05ef[_0x2f2c('0x36')],qs['fields'](_0x3aa4b0[_0x2f2c('0x32')][_0x2f2c('0x37')]));_0x1835c4[_0x2f2c('0x35')]=_0x1835c4[_0x2f2c('0x35')]['length']?_0x1835c4[_0x2f2c('0x35')]:_0x4a05ef[_0x2f2c('0x36')];if(_0x3aa4b0['query']['includeAll']){_0x1835c4[_0x2f2c('0x42')]=[{'all':!![]}];}_0x1835c4=_[_0x2f2c('0x3f')]({},_0x1835c4,_0x3aa4b0[_0x2f2c('0x40')]);return db[_0x2f2c('0x2d')][_0x2f2c('0x49')](_0x1835c4)['then'](handleEntityNotFound(_0x5da674,null))[_0x2f2c('0x24')](respondWithResult(_0x5da674,null))[_0x2f2c('0x45')](handleError(_0x5da674,null));};exports[_0x2f2c('0x4a')]=function(_0x30d888,_0x132c02){return db[_0x2f2c('0x2d')]['create'](_0x30d888['body'],{})['then'](function(_0x30f6df){var _0x4e723c=_0x30d888[_0x2f2c('0x4b')][_0x2f2c('0x4c')]({'plain':!![]});if(!_0x4e723c)throw new Error(_0x2f2c('0x4d'));if(_0x4e723c[_0x2f2c('0x4e')]===_0x2f2c('0x4b')){var _0x28ac2f=_0x30f6df['get']({'plain':!![]});var _0x483ea7=_0x2f2c('0x4f');return db[_0x2f2c('0x50')][_0x2f2c('0x49')]({'where':{'name':_0x483ea7,'userProfileId':_0x4e723c[_0x2f2c('0x51')]},'raw':!![]})['then'](function(_0x18157d){if(_0x18157d&&_0x18157d[_0x2f2c('0x52')]===0x0){return db[_0x2f2c('0x53')][_0x2f2c('0x4a')]({'name':_0x28ac2f[_0x2f2c('0x29')],'resourceId':_0x28ac2f['id'],'type':'CustomReports','sectionId':_0x18157d['id']},{})['then'](function(){return _0x30f6df;});}else{return _0x30f6df;}})['catch'](function(_0x2b60ea){logger[_0x2f2c('0x27')](_0x2f2c('0x54'),_0x2b60ea);throw _0x2b60ea;});}return _0x30f6df;})[_0x2f2c('0x24')](respondWithResult(_0x132c02,0xc9))['catch'](handleError(_0x132c02,null));};exports[_0x2f2c('0x23')]=function(_0x1d367d,_0x507ef9){if(_0x1d367d['body']['id']){delete _0x1d367d[_0x2f2c('0x55')]['id'];}return db[_0x2f2c('0x2d')][_0x2f2c('0x49')]({'where':{'id':_0x1d367d[_0x2f2c('0x47')]['id']}})[_0x2f2c('0x24')](handleEntityNotFound(_0x507ef9,null))[_0x2f2c('0x24')](saveUpdates(_0x1d367d['body'],null))[_0x2f2c('0x24')](respondWithResult(_0x507ef9,null))[_0x2f2c('0x45')](handleError(_0x507ef9,null));};exports[_0x2f2c('0x25')]=function(_0xfc2612,_0x2ba350){return db['AnalyticCustomReport'][_0x2f2c('0x49')]({'where':{'id':_0xfc2612[_0x2f2c('0x47')]['id']}})[_0x2f2c('0x24')](handleEntityNotFound(_0x2ba350,null))[_0x2f2c('0x24')](removeEntity(_0x2ba350,null))[_0x2f2c('0x45')](handleError(_0x2ba350,null));};exports['preview']=function(_0x1cb238,_0x2eb800){var _0xcd834b=0xa;var _0x2ff8c2=[_0x2f2c('0x56'),_0x2f2c('0x57'),'right_join',_0x2f2c('0x58')];var _0x2bc8e3={'SUM':'SUM(%s)','COUNT':_0x2f2c('0x59'),'COUNT DISTINCT':_0x2f2c('0x5a'),'MAX':_0x2f2c('0x5b'),'MIN':_0x2f2c('0x5c'),'AVG':_0x2f2c('0x5d'),'GROUP_CONCAT':_0x2f2c('0x5e'),'GROUP_CONCAT ASC':_0x2f2c('0x5f'),'GROUP_CONCAT DESC':_0x2f2c('0x60')};var _0x358684={'SEC_TO_TIME':_0x2f2c('0x61'),'DATE':_0x2f2c('0x62'),'HOUR':_0x2f2c('0x63'),'ROUND':'ROUND(%s)','UNIX_TIMESTAMP':_0x2f2c('0x64')};var _0x4c0a0a=function(_0xb166ab){return!_[_0x2f2c('0x65')]([_0x2f2c('0x66'),'IS\x20NOT\x20NULL',_0x2f2c('0x67'),'IS\x20NOT\x20EMPTY'],_0xb166ab);};var _0x4b11dc=function(_0x78e0f6){if(!_0x78e0f6||!_0x78e0f6[_0x2f2c('0x68')][_0x2f2c('0x69')]){return'';}for(var _0xe50982='(',_0x532e9f=0x0;_0x532e9f<_0x78e0f6['rules'][_0x2f2c('0x69')];_0x532e9f+=0x1){_0x532e9f>0x0&&(_0xe50982+='\x20'+_0x78e0f6['operator']+'\x20');_0xe50982+=_0x78e0f6[_0x2f2c('0x68')][_0x532e9f][_0x2f2c('0x6a')]?_0x4b11dc(_0x78e0f6[_0x2f2c('0x68')][_0x532e9f][_0x2f2c('0x6a')]):_0x78e0f6[_0x2f2c('0x68')][_0x532e9f][_0x2f2c('0x6b')]+'\x20'+_0x78e0f6[_0x2f2c('0x68')][_0x532e9f]['condition']+(_0x4c0a0a(_0x78e0f6[_0x2f2c('0x68')][_0x532e9f][_0x2f2c('0x6c')])?'\x20'+_0x78e0f6['rules'][_0x532e9f][_0x2f2c('0x6d')]:'');}return _0xe50982+')';};var _0x87f98d={'where':{'id':_0x1cb238[_0x2f2c('0x47')]['id']}},_0x30a2fa,_0x2ae587,_0x158715,_0x33cb27,_0x6f2f0f;_0x87f98d=_[_0x2f2c('0x3f')]({},_0x87f98d,_0x1cb238[_0x2f2c('0x40')]);return db[_0x2f2c('0x2d')][_0x2f2c('0x49')](_0x87f98d)[_0x2f2c('0x24')](function(_0xf7fc23){if(_0xf7fc23){_0x30a2fa=_0xf7fc23;return _0xf7fc23[_0x2f2c('0x6e')]();}return null;})[_0x2f2c('0x24')](function(_0x4209b3){if(_0x4209b3){if(!_0x4209b3[_0x2f2c('0x69')]){throw new db[(_0x2f2c('0x6f'))][(_0x2f2c('0x70'))](_0x2f2c('0x71'),0x193);}_0x2ae587=_0x4209b3;return db[_0x2f2c('0x72')][_0x2f2c('0x43')]({'raw':!![]});}return null;})[_0x2f2c('0x24')](function(_0x2d9926){if(_0x2d9926){_0x158715=_['keyBy'](_0x2d9926,'id');var _0x438bd1;var _0x492c21=squel[_0x2f2c('0x73')]();_0x492c21['from'](_0x30a2fa[_0x2f2c('0x74')]);for(var _0x41280a=0x0;_0x41280a<_0x2ae587['length'];_0x41280a+=0x1){_0x438bd1=_0x2ae587[_0x41280a][_0x2f2c('0x75')]?_0x158715[_0x2ae587[_0x41280a][_0x2f2c('0x75')]][_0x2f2c('0x76')]:_0x2ae587[_0x41280a][_0x2f2c('0x6b')];_0x438bd1=_0x2ae587[_0x41280a]['function']?_[_0x2f2c('0x77')](_0x2bc8e3[_0x2ae587[_0x41280a]['function']],'%s',_0x438bd1):_0x438bd1;_0x438bd1=_0x2ae587[_0x41280a]['format']?_['replace'](_0x358684[_0x2ae587[_0x41280a][_0x2f2c('0x78')]],'%s',_0x438bd1):_0x438bd1;if(_0x2ae587[_0x41280a][_0x2f2c('0x79')]){_0x492c21[_0x2f2c('0x6a')](_0x438bd1);}_0x2ae587[_0x41280a][_0x2f2c('0x7a')]&&_0x492c21[_0x2f2c('0x39')](_0x438bd1,_0x2ae587[_0x41280a][_0x2f2c('0x7a')]===_0x2f2c('0x7b')?![]:!![]);_0x492c21[_0x2f2c('0x6b')](_0x438bd1,_0x2ae587[_0x41280a]['alias']||_0x438bd1);}if(_0x30a2fa[_0x2f2c('0x7c')]){_0x30a2fa['joins']=JSON[_0x2f2c('0x7d')](_0x30a2fa[_0x2f2c('0x7c')]);for(var _0x45267b=0x0;_0x45267b<_0x30a2fa[_0x2f2c('0x7c')][_0x2f2c('0x69')];_0x45267b+=0x1){if(_0x30a2fa[_0x2f2c('0x7c')][_0x45267b]['type']&&_[_0x2f2c('0x65')](_0x2ff8c2,_0x30a2fa[_0x2f2c('0x7c')][_0x45267b][_0x2f2c('0x30')])&&_0x30a2fa[_0x2f2c('0x7c')][_0x45267b][_0x2f2c('0x7e')]&&_0x30a2fa['joins'][_0x45267b]['foreignTable']&&_0x30a2fa[_0x2f2c('0x7c')][_0x45267b][_0x2f2c('0x7f')]){_0x492c21[_0x30a2fa['joins'][_0x45267b]['type']](_0x30a2fa['joins'][_0x45267b][_0x2f2c('0x80')],null,util[_0x2f2c('0x78')](_0x2f2c('0x81'),_0x30a2fa[_0x2f2c('0x74')],_0x30a2fa[_0x2f2c('0x7c')][_0x45267b][_0x2f2c('0x7e')],_0x30a2fa[_0x2f2c('0x7c')][_0x45267b][_0x2f2c('0x80')],_0x30a2fa[_0x2f2c('0x7c')][_0x45267b][_0x2f2c('0x7f')]));}}}if(_0x30a2fa[_0x2f2c('0x82')]){_0x30a2fa[_0x2f2c('0x82')]=JSON[_0x2f2c('0x7d')](_0x30a2fa[_0x2f2c('0x82')]);_0x492c21['where'](_0x4b11dc(_0x30a2fa[_0x2f2c('0x82')][_0x2f2c('0x6a')]));}_0x6f2f0f=_0x492c21[_0x2f2c('0x83')]();_0x492c21[_0x2f2c('0x1c')](_0xcd834b);_0x492c21[_0x2f2c('0x1a')](0x0);logger['debug'](_0x2f2c('0x84'),_0x492c21[_0x2f2c('0x85')]());return dbH['sequelize'][_0x2f2c('0x32')](_0x492c21[_0x2f2c('0x85')](),{'type':dbH[_0x2f2c('0x86')][_0x2f2c('0x87')][_0x2f2c('0x88')]});}})['then'](respondWithResult(_0x2eb800,null))['catch'](handleError(_0x2eb800,null));};function runReport(_0x2fddb6,_0x3cb3ac,_0x1ccda9){var _0x5b3eaf=_0x3cb3ac[_0x2f2c('0x29')];var _0x2c7f8a=0xa;var _0x5a06c2=[_0x2f2c('0x56'),_0x2f2c('0x57'),_0x2f2c('0x89'),_0x2f2c('0x58')];var _0x122b27={'SUM':'SUM(%s)','COUNT':_0x2f2c('0x59'),'COUNT DISTINCT':_0x2f2c('0x5a'),'MAX':_0x2f2c('0x5b'),'MIN':_0x2f2c('0x5c'),'AVG':_0x2f2c('0x5d'),'GROUP_CONCAT':_0x2f2c('0x5e'),'GROUP_CONCAT ASC':_0x2f2c('0x5f'),'GROUP_CONCAT DESC':_0x2f2c('0x60')};var _0x19fb06={'SEC_TO_TIME':_0x2f2c('0x61'),'DATE':'DATE(%s)','HOUR':_0x2f2c('0x63'),'ROUND':_0x2f2c('0x8a'),'UNIX_TIMESTAMP':'UNIX_TIMESTAMP(%s)'};var _0x18cd42=function(_0x49bc74){return!_['includes']([_0x2f2c('0x66'),'IS\x20NOT\x20NULL',_0x2f2c('0x67'),_0x2f2c('0x8b')],_0x49bc74);};var _0x522e97=function(_0x49a561){if(!_0x49a561||!_0x49a561[_0x2f2c('0x68')][_0x2f2c('0x69')]){return'';}for(var _0x246d84='(',_0x293730=0x0;_0x293730<_0x49a561['rules'][_0x2f2c('0x69')];_0x293730+=0x1){_0x293730>0x0&&(_0x246d84+='\x20'+_0x49a561[_0x2f2c('0x8c')]+'\x20');_0x246d84+=_0x49a561[_0x2f2c('0x68')][_0x293730][_0x2f2c('0x6a')]?_0x522e97(_0x49a561[_0x2f2c('0x68')][_0x293730]['group']):_0x49a561[_0x2f2c('0x68')][_0x293730]['field']+'\x20'+_0x49a561[_0x2f2c('0x68')][_0x293730][_0x2f2c('0x6c')]+(_0x18cd42(_0x49a561['rules'][_0x293730][_0x2f2c('0x6c')])?'\x20'+_0x49a561[_0x2f2c('0x68')][_0x293730][_0x2f2c('0x6d')]:'');}return _0x246d84+')';};var _0x3556b1={'where':{'id':_0x2fddb6['id']}},_0x3111a1,_0x36fa86,_0x3dabc5,_0x5710c6,_0x710210;_0x3556b1=_[_0x2f2c('0x3f')]({},_0x3556b1,_0x1ccda9);return db[_0x2f2c('0x2d')][_0x2f2c('0x49')](_0x3556b1)[_0x2f2c('0x24')](function(_0x589525){if(_0x589525){_0x3111a1=_0x589525;return _0x589525[_0x2f2c('0x6e')]();}return null;})[_0x2f2c('0x24')](function(_0x38c741){if(_0x38c741){if(!_0x38c741[_0x2f2c('0x69')]){throw new db[(_0x2f2c('0x6f'))]['ValidationErrorItem'](_0x2f2c('0x71'),0x193);}_0x36fa86=_0x38c741;return db[_0x2f2c('0x72')][_0x2f2c('0x43')]({'raw':!![]});}return null;})[_0x2f2c('0x24')](function(_0x267704){if(_0x267704){_0x3dabc5=_[_0x2f2c('0x8d')](_0x267704,'id');var _0x228730;var _0x3bda1b=squel[_0x2f2c('0x73')]();_0x3bda1b[_0x2f2c('0x8e')](_0x3111a1[_0x2f2c('0x74')]);for(var _0x1ee2cf=0x0;_0x1ee2cf<_0x36fa86['length'];_0x1ee2cf+=0x1){_0x228730=_0x36fa86[_0x1ee2cf][_0x2f2c('0x75')]?_0x3dabc5[_0x36fa86[_0x1ee2cf][_0x2f2c('0x75')]][_0x2f2c('0x76')]:_0x36fa86[_0x1ee2cf][_0x2f2c('0x6b')];_0x228730=_0x36fa86[_0x1ee2cf][_0x2f2c('0x8f')]?_[_0x2f2c('0x77')](_0x122b27[_0x36fa86[_0x1ee2cf][_0x2f2c('0x8f')]],'%s',_0x228730):_0x228730;_0x228730=_0x36fa86[_0x1ee2cf][_0x2f2c('0x78')]?_[_0x2f2c('0x77')](_0x19fb06[_0x36fa86[_0x1ee2cf][_0x2f2c('0x78')]],'%s',_0x228730):_0x228730;if(_0x36fa86[_0x1ee2cf][_0x2f2c('0x79')]){_0x3bda1b[_0x2f2c('0x6a')](_0x228730);}_0x36fa86[_0x1ee2cf][_0x2f2c('0x7a')]&&_0x3bda1b['order'](_0x228730,_0x36fa86[_0x1ee2cf]['orderBy']===_0x2f2c('0x7b')?![]:!![]);_0x3bda1b['field'](_0x228730,_0x36fa86[_0x1ee2cf]['alias']||_0x228730);}if(_0x3111a1['joins']){_0x3111a1[_0x2f2c('0x7c')]=JSON[_0x2f2c('0x7d')](_0x3111a1[_0x2f2c('0x7c')]);for(var _0x808227=0x0;_0x808227<_0x3111a1[_0x2f2c('0x7c')][_0x2f2c('0x69')];_0x808227+=0x1){if(_0x3111a1[_0x2f2c('0x7c')][_0x808227][_0x2f2c('0x30')]&&_[_0x2f2c('0x65')](_0x5a06c2,_0x3111a1[_0x2f2c('0x7c')][_0x808227][_0x2f2c('0x30')])&&_0x3111a1[_0x2f2c('0x7c')][_0x808227][_0x2f2c('0x7e')]&&_0x3111a1[_0x2f2c('0x7c')][_0x808227]['foreignTable']&&_0x3111a1[_0x2f2c('0x7c')][_0x808227]['foreignKey']){_0x3bda1b[_0x3111a1[_0x2f2c('0x7c')][_0x808227]['type']](_0x3111a1[_0x2f2c('0x7c')][_0x808227][_0x2f2c('0x80')],null,util[_0x2f2c('0x78')]('%s.%s\x20=\x20%s.%s',_0x3111a1[_0x2f2c('0x74')],_0x3111a1[_0x2f2c('0x7c')][_0x808227][_0x2f2c('0x7e')],_0x3111a1['joins'][_0x808227]['foreignTable'],_0x3111a1[_0x2f2c('0x7c')][_0x808227][_0x2f2c('0x7f')]));}}}if(_0x3111a1[_0x2f2c('0x82')]){_0x3111a1[_0x2f2c('0x82')]=JSON[_0x2f2c('0x7d')](_0x3111a1[_0x2f2c('0x82')]);_0x3bda1b['where'](_0x522e97(_0x3111a1[_0x2f2c('0x82')][_0x2f2c('0x6a')]));}_0x710210=_0x3bda1b['clone']();_0x3bda1b[_0x2f2c('0x1c')](_0x2c7f8a);_0x3bda1b['offset'](0x0);return;}})[_0x2f2c('0x24')](function(){if(_0x3cb3ac['output']===_0x2f2c('0x90')){return null;}var _0x18c2e3=_[_0x2f2c('0x3f')](_0x3cb3ac,{'name':_0x3cb3ac['fullPath']||_0x3cb3ac[_0x2f2c('0x29')]||_0x3111a1['name'],'basename':_0x5b3eaf,'savename':util['format']('%s-%s.%s',_0x3cb3ac['name']||_0x3111a1[_0x2f2c('0x29')],require(_0x2f2c('0x91'))[_0x2f2c('0x92')](0x4),_0x3cb3ac[_0x2f2c('0x93')]||_0x2f2c('0x94')),'reportId':_0x3111a1['id'],'reportType':'custom'});return db['AnalyticExtractedReport'][_0x2f2c('0x4a')](_0x18c2e3,{'raw':!![]});})[_0x2f2c('0x24')](function(_0x4ab61c){if(_0x3111a1[_0x2f2c('0x74')]===_0x2f2c('0x95')){_0x710210['where'](_0x3111a1[_0x2f2c('0x74')]+_0x2f2c('0x96'),_0x3cb3ac[_0x2f2c('0x97')],_0x3cb3ac[_0x2f2c('0x98')]);}else{_0x710210[_0x2f2c('0x3b')](_0x3111a1['table']+_0x2f2c('0x99'),_0x3cb3ac[_0x2f2c('0x97')],_0x3cb3ac[_0x2f2c('0x98')]);}if(_0x4ab61c){logger[_0x2f2c('0x9a')](_0x2f2c('0x9b'),_0x710210[_0x2f2c('0x85')]());require('child_process')[_0x2f2c('0x9c')](path[_0x2f2c('0x56')](__dirname,'../../components/export/',_0x4ab61c[_0x2f2c('0x93')]),[_0x4ab61c['id'],_0x710210['toString'](),path[_0x2f2c('0x56')](__dirname,'../../files/reports',_0x4ab61c[_0x2f2c('0x9d')]),_0x5b3eaf]);return _0x4ab61c;}else{var _0xf96117=squel[_0x2f2c('0x73')]();_0xf96117[_0x2f2c('0x8e')]('('+_0x710210[_0x2f2c('0x85')]()+')',_0x2f2c('0x9e'));_0xf96117[_0x2f2c('0x6b')](_0x2f2c('0x9f'),'count');_0x710210['limit'](_0x3cb3ac[_0x2f2c('0x1c')]||_0x2c7f8a);_0x710210['offset'](_0x3cb3ac[_0x2f2c('0x1a')]||0x0);return dbH[_0x2f2c('0x86')][_0x2f2c('0x32')](_0xf96117[_0x2f2c('0x85')](),{'type':dbH['sequelize']['QueryTypes'][_0x2f2c('0x88')]})[_0x2f2c('0x24')](function(_0x3a926b){if(!_0x3a926b[_0x2f2c('0x69')]){_0x5710c6=0x0;}else{_0x5710c6=_0x3a926b[0x0][_0x2f2c('0x1d')]||0x0;}return dbH[_0x2f2c('0x86')][_0x2f2c('0x32')](_0x710210[_0x2f2c('0x85')](),{'type':dbH[_0x2f2c('0x86')]['QueryTypes'][_0x2f2c('0x88')]});})[_0x2f2c('0x24')](function(_0x4a1e7b){return{'rows':_0x4a1e7b||[],'count':_0x5710c6};});}});}exports[_0x2f2c('0xa0')]=function(_0x4a077d,_0x25a6a5){return runReport(_0x4a077d[_0x2f2c('0x47')],_0x4a077d[_0x2f2c('0x32')],_0x4a077d[_0x2f2c('0x40')])[_0x2f2c('0x24')](respondWithResult(_0x25a6a5,null))['catch'](handleError(_0x25a6a5,null));};exports[_0x2f2c('0xa1')]=runReport;exports[_0x2f2c('0x32')]=function(_0x3ce7d2,_0x1613bd){var _0x1af2ee=0xa;var _0x527b18=['join','left_join',_0x2f2c('0x89'),_0x2f2c('0x58')];var _0x344949={'SUM':_0x2f2c('0xa2'),'COUNT':'COUNT(%s)','COUNT DISTINCT':'COUNT(DISTINCT\x20%s)','MAX':_0x2f2c('0x5b'),'MIN':_0x2f2c('0x5c'),'AVG':_0x2f2c('0x5d'),'GROUP_CONCAT':_0x2f2c('0x5e'),'GROUP_CONCAT ASC':_0x2f2c('0x5f'),'GROUP_CONCAT DESC':_0x2f2c('0x60')};var _0x2658fe={'SEC_TO_TIME':_0x2f2c('0x61'),'DATE':_0x2f2c('0x62'),'HOUR':_0x2f2c('0x63'),'ROUND':_0x2f2c('0x8a'),'UNIX_TIMESTAMP':'UNIX_TIMESTAMP(%s)'};var _0x4b16d7=function(_0x4761be){return!_[_0x2f2c('0x65')]([_0x2f2c('0x66'),'IS\x20NOT\x20NULL','IS\x20EMPTY',_0x2f2c('0x8b')],_0x4761be);};var _0x4bf8ef=function(_0x563c5c){if(!_0x563c5c||!_0x563c5c[_0x2f2c('0x68')][_0x2f2c('0x69')]){return'';}for(var _0x5b633f='(',_0x409883=0x0;_0x409883<_0x563c5c[_0x2f2c('0x68')][_0x2f2c('0x69')];_0x409883+=0x1){_0x409883>0x0&&(_0x5b633f+='\x20'+_0x563c5c['operator']+'\x20');_0x5b633f+=_0x563c5c[_0x2f2c('0x68')][_0x409883][_0x2f2c('0x6a')]?_0x4bf8ef(_0x563c5c[_0x2f2c('0x68')][_0x409883][_0x2f2c('0x6a')]):_0x563c5c[_0x2f2c('0x68')][_0x409883]['field']+'\x20'+_0x563c5c[_0x2f2c('0x68')][_0x409883][_0x2f2c('0x6c')]+(_0x4b16d7(_0x563c5c['rules'][_0x409883]['condition'])?'\x20'+_0x563c5c['rules'][_0x409883]['value']:'');}return _0x5b633f+')';};var _0x37e319={'where':{'id':_0x3ce7d2['params']['id']}},_0x11543d,_0x59fe41,_0x4dee9e,_0x1050f9,_0x1dfdc3;_0x37e319=_['merge']({},_0x37e319,_0x3ce7d2[_0x2f2c('0x40')]);return db[_0x2f2c('0x2d')][_0x2f2c('0x49')](_0x37e319)[_0x2f2c('0x24')](function(_0x37ec5f){if(_0x37ec5f){_0x11543d=_0x37ec5f;return _0x37ec5f[_0x2f2c('0x6e')]();}return null;})['then'](function(_0x286fc8){if(_0x286fc8){if(!_0x286fc8[_0x2f2c('0x69')]){throw new db[(_0x2f2c('0x6f'))][(_0x2f2c('0x70'))](_0x2f2c('0x71'),0x193);}_0x59fe41=_0x286fc8;return db[_0x2f2c('0x72')]['findAll']({'raw':!![]});}return null;})[_0x2f2c('0x24')](function(_0x9e1417){if(_0x9e1417){_0x4dee9e=_['keyBy'](_0x9e1417,'id');var _0x1af39d;var _0x1d2d3a=squel[_0x2f2c('0x73')]();_0x1d2d3a[_0x2f2c('0x8e')](_0x11543d[_0x2f2c('0x74')]);for(var _0x1c689e=0x0;_0x1c689e<_0x59fe41['length'];_0x1c689e+=0x1){_0x1af39d=_0x59fe41[_0x1c689e]['MetricId']?_0x4dee9e[_0x59fe41[_0x1c689e][_0x2f2c('0x75')]]['metric']:_0x59fe41[_0x1c689e][_0x2f2c('0x6b')];_0x1af39d=_0x59fe41[_0x1c689e]['function']?_['replace'](_0x344949[_0x59fe41[_0x1c689e][_0x2f2c('0x8f')]],'%s',_0x1af39d):_0x1af39d;_0x1af39d=_0x59fe41[_0x1c689e]['format']?_[_0x2f2c('0x77')](_0x2658fe[_0x59fe41[_0x1c689e][_0x2f2c('0x78')]],'%s',_0x1af39d):_0x1af39d;if(_0x59fe41[_0x1c689e][_0x2f2c('0x79')]){_0x1d2d3a['group'](_0x1af39d);}_0x59fe41[_0x1c689e][_0x2f2c('0x7a')]&&_0x1d2d3a[_0x2f2c('0x39')](_0x1af39d,_0x59fe41[_0x1c689e][_0x2f2c('0x7a')]===_0x2f2c('0x7b')?![]:!![]);_0x1d2d3a[_0x2f2c('0x6b')](_0x1af39d,_0x59fe41[_0x1c689e][_0x2f2c('0xa3')]||_0x1af39d);}if(_0x11543d[_0x2f2c('0x7c')]){_0x11543d[_0x2f2c('0x7c')]=JSON[_0x2f2c('0x7d')](_0x11543d[_0x2f2c('0x7c')]);for(var _0x461955=0x0;_0x461955<_0x11543d[_0x2f2c('0x7c')][_0x2f2c('0x69')];_0x461955+=0x1){if(_0x11543d[_0x2f2c('0x7c')][_0x461955][_0x2f2c('0x30')]&&_[_0x2f2c('0x65')](_0x527b18,_0x11543d[_0x2f2c('0x7c')][_0x461955][_0x2f2c('0x30')])&&_0x11543d['joins'][_0x461955][_0x2f2c('0x7e')]&&_0x11543d[_0x2f2c('0x7c')][_0x461955][_0x2f2c('0x80')]&&_0x11543d[_0x2f2c('0x7c')][_0x461955][_0x2f2c('0x7f')]){_0x1d2d3a[_0x11543d[_0x2f2c('0x7c')][_0x461955][_0x2f2c('0x30')]](_0x11543d[_0x2f2c('0x7c')][_0x461955][_0x2f2c('0x80')],null,util['format']('%s.%s\x20=\x20%s.%s',_0x11543d[_0x2f2c('0x74')],_0x11543d[_0x2f2c('0x7c')][_0x461955][_0x2f2c('0x7e')],_0x11543d[_0x2f2c('0x7c')][_0x461955][_0x2f2c('0x80')],_0x11543d['joins'][_0x461955]['foreignKey']));}}}if(_0x11543d[_0x2f2c('0x82')]){_0x11543d[_0x2f2c('0x82')]=JSON['parse'](_0x11543d['conditions']);_0x1d2d3a['where'](_0x4bf8ef(_0x11543d[_0x2f2c('0x82')][_0x2f2c('0x6a')]));}_0x1dfdc3=_0x1d2d3a[_0x2f2c('0x83')]();_0x1d2d3a[_0x2f2c('0x1c')](_0x1af2ee);_0x1d2d3a[_0x2f2c('0x1a')](0x0);logger[_0x2f2c('0xa4')]('Limited\x20Query:',_0x1d2d3a[_0x2f2c('0x85')]());return dbH['sequelize'][_0x2f2c('0x32')](_0x1d2d3a[_0x2f2c('0x85')](),{'type':dbH[_0x2f2c('0x86')][_0x2f2c('0x87')][_0x2f2c('0x88')]});}})[_0x2f2c('0x24')](function(){return{'sql':_0x1dfdc3[_0x2f2c('0x85')]()};})['then'](respondWithResult(_0x1613bd,null))[_0x2f2c('0x45')](handleError(_0x1613bd,null));};