35cf045eaeabde40009e7a9c787a569d5319d5cc
[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 _0xbd7f=['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)','DATE(%s)','HOUR(%s)','ROUND(%s)','UNIX_TIMESTAMP(%s)','IS\x20NULL','IS\x20NOT\x20NULL','IS\x20EMPTY','IS\x20NOT\x20EMPTY','rules','group','field','condition','value','getFields','Sequelize','ValidationErrorItem','Please\x20insert\x20at\x20least\x20one\x20field','select','from','table','MetricId','metric','function','replace','format','orderBy','alias','joins','parse','parentKey','foreignTable','foreignKey','conditions','debug','Limited\x20Query:','toString','sequelize','QueryTypes','cross_join','COUNT(DISTINCT\x20%s)','includes','AnalyticMetric','groupBy','%s.%s\x20=\x20%s.%s','clone','fullPath','%s-%s.%s','randomstring','generate','output','default','cdr','.calldate\x20BETWEEN\x20?\x20AND\x20?','endDate','.createdAt\x20BETWEEN\x20?\x20AND\x20?','startDate','Run\x20Query:','child_process','fork','../../components/export/','savename','countTable','COUNT(*)','SELECT','run','SEC_TO_TIME(%s)','operator','keyBy','DESC','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','dbH','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','destroy','get','DefaultReports','UserProfileResource','then','sendStatus','error','stack','name','send','map','AnalyticDefaultReport','fieldName','key','model','query','keys','filters','intersection','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','type','VIRTUAL','merge','options','includeAll','findAll','rows','catch','show','params','rawAttributes','include','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','Reports','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','join','left_join','right_join'];(function(_0x3a5bd5,_0xd52a42){var _0x3d7e7f=function(_0x50603a){while(--_0x50603a){_0x3a5bd5['push'](_0x3a5bd5['shift']());}};_0x3d7e7f(++_0xd52a42);}(_0xbd7f,0x1a7));var _0xfbd7=function(_0x2041ba,_0x449294){_0x2041ba=_0x2041ba-0x0;var _0x169e20=_0xbd7f[_0x2041ba];return _0x169e20;};'use strict';var emlformat=require(_0xfbd7('0x0'));var rimraf=require(_0xfbd7('0x1'));var zipdir=require(_0xfbd7('0x2'));var jsonpatch=require(_0xfbd7('0x3'));var rp=require(_0xfbd7('0x4'));var moment=require(_0xfbd7('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xfbd7('0x6'));var util=require(_0xfbd7('0x7'));var path=require(_0xfbd7('0x8'));var sox=require(_0xfbd7('0x9'));var csv=require(_0xfbd7('0xa'));var ejs=require(_0xfbd7('0xb'));var fs=require('fs');var fs_extra=require(_0xfbd7('0xc'));var _=require(_0xfbd7('0xd'));var squel=require(_0xfbd7('0xe'));var crypto=require(_0xfbd7('0xf'));var jsforce=require(_0xfbd7('0x10'));var deskjs=require(_0xfbd7('0x11'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0xfbd7('0x12'));var Redis=require(_0xfbd7('0x13'));var authService=require(_0xfbd7('0x14'));var qs=require(_0xfbd7('0x15'));var as=require(_0xfbd7('0x16'));var hardwareService=require(_0xfbd7('0x17'));var logger=require(_0xfbd7('0x18'))(_0xfbd7('0x19'));var utils=require(_0xfbd7('0x1a'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0xfbd7('0x1b'))['db'];var dbH=require(_0xfbd7('0x1b'))[_0xfbd7('0x1c')];function respondWithStatusCode(_0x16486e,_0x3682fc){_0x3682fc=_0x3682fc||0xcc;return function(_0x57f73c){if(_0x57f73c){return _0x16486e['sendStatus'](_0x3682fc);}return _0x16486e[_0xfbd7('0x1d')](_0x3682fc)[_0xfbd7('0x1e')]();};}function respondWithResult(_0xc0e741,_0x327206){_0x327206=_0x327206||0xc8;return function(_0x2ec439){if(_0x2ec439){return _0xc0e741[_0xfbd7('0x1d')](_0x327206)[_0xfbd7('0x1f')](_0x2ec439);}};}function respondWithFilteredResult(_0x277c9f,_0x3e9941){return function(_0x222a60){if(_0x222a60){var _0x3fb1fe=typeof _0x3e9941[_0xfbd7('0x20')]===_0xfbd7('0x21')&&typeof _0x3e9941[_0xfbd7('0x22')]==='undefined';var _0x4926c2=_0x222a60[_0xfbd7('0x23')];var _0x21471f=_0x3fb1fe?0x0:_0x3e9941[_0xfbd7('0x20')];var _0x51052c=_0x3fb1fe?_0x222a60[_0xfbd7('0x23')]:_0x3e9941['offset']+_0x3e9941[_0xfbd7('0x22')];var _0x8d135f;if(_0x51052c>=_0x4926c2){_0x51052c=_0x4926c2;_0x8d135f=0xc8;}else{_0x8d135f=0xce;}_0x277c9f[_0xfbd7('0x1d')](_0x8d135f);return _0x277c9f[_0xfbd7('0x24')](_0xfbd7('0x25'),_0x21471f+'-'+_0x51052c+'/'+_0x4926c2)[_0xfbd7('0x1f')](_0x222a60);}return null;};}function patchUpdates(_0x54e6c6){return function(_0x4ca4c7){try{jsonpatch[_0xfbd7('0x26')](_0x4ca4c7,_0x54e6c6,!![]);}catch(_0x103d8b){return BPromise[_0xfbd7('0x27')](_0x103d8b);}return _0x4ca4c7[_0xfbd7('0x28')]();};}function saveUpdates(_0x4386b8,_0x4ff740){return function(_0x471804){if(_0x471804){return _0x471804[_0xfbd7('0x29')](_0x4386b8)['then'](function(_0x1f5e02){return _0x1f5e02;});}return null;};}function removeEntity(_0x33db45,_0x5418fa){return function(_0x5aafb0){if(_0x5aafb0){return _0x5aafb0[_0xfbd7('0x2a')]()['then'](function(){var _0x2d9e4b=_0x5aafb0[_0xfbd7('0x2b')]({'plain':!![]});var _0x479fdd=_0xfbd7('0x2c');return db[_0xfbd7('0x2d')][_0xfbd7('0x2a')]({'where':{'type':_0x479fdd,'resourceId':_0x2d9e4b['id']}})[_0xfbd7('0x2e')](function(){return _0x5aafb0;});})[_0xfbd7('0x2e')](function(){_0x33db45[_0xfbd7('0x1d')](0xcc)['end']();});}};}function handleEntityNotFound(_0x17be58,_0x57e708){return function(_0x30471c){if(!_0x30471c){_0x17be58[_0xfbd7('0x2f')](0x194);}return _0x30471c;};}function handleError(_0x3210ab,_0x330d51){_0x330d51=_0x330d51||0x1f4;return function(_0x16fdb8){logger[_0xfbd7('0x30')](_0x16fdb8[_0xfbd7('0x31')]);if(_0x16fdb8[_0xfbd7('0x32')]){delete _0x16fdb8[_0xfbd7('0x32')];}_0x3210ab['status'](_0x330d51)[_0xfbd7('0x33')](_0x16fdb8);};}exports['index']=function(_0x4b4761,_0x4529dd){var _0x1f24c9={},_0x37aa67={},_0x1a00b3={'count':0x0,'rows':[]};var _0x4795b6=_[_0xfbd7('0x34')](db[_0xfbd7('0x35')]['rawAttributes'],function(_0x4ff3e3){return{'name':_0x4ff3e3[_0xfbd7('0x36')],'type':_0x4ff3e3['type'][_0xfbd7('0x37')]};});_0x37aa67[_0xfbd7('0x38')]=_['map'](_0x4795b6,_0xfbd7('0x32'));_0x37aa67[_0xfbd7('0x39')]=_[_0xfbd7('0x3a')](_0x4b4761[_0xfbd7('0x39')]);_0x37aa67[_0xfbd7('0x3b')]=_[_0xfbd7('0x3c')](_0x37aa67['model'],_0x37aa67[_0xfbd7('0x39')]);_0x1f24c9[_0xfbd7('0x3d')]=_[_0xfbd7('0x3c')](_0x37aa67['model'],qs['fields'](_0x4b4761[_0xfbd7('0x39')]['fields']));_0x1f24c9['attributes']=_0x1f24c9[_0xfbd7('0x3d')][_0xfbd7('0x3e')]?_0x1f24c9[_0xfbd7('0x3d')]:_0x37aa67['model'];if(!_0x4b4761[_0xfbd7('0x39')][_0xfbd7('0x3f')](_0xfbd7('0x40'))){_0x1f24c9[_0xfbd7('0x22')]=qs[_0xfbd7('0x22')](_0x4b4761[_0xfbd7('0x39')][_0xfbd7('0x22')]);_0x1f24c9[_0xfbd7('0x20')]=qs[_0xfbd7('0x20')](_0x4b4761['query']['offset']);}_0x1f24c9[_0xfbd7('0x41')]=qs[_0xfbd7('0x42')](_0x4b4761[_0xfbd7('0x39')][_0xfbd7('0x42')]);_0x1f24c9[_0xfbd7('0x43')]=qs[_0xfbd7('0x3b')](_[_0xfbd7('0x44')](_0x4b4761[_0xfbd7('0x39')],_0x37aa67['filters']),_0x4795b6);if(_0x4b4761[_0xfbd7('0x39')][_0xfbd7('0x45')]){_0x1f24c9[_0xfbd7('0x43')]=_['merge'](_0x1f24c9['where'],{'$or':_[_0xfbd7('0x34')](_0x4795b6,function(_0x2b39ac){if(_0x2b39ac[_0xfbd7('0x46')]!==_0xfbd7('0x47')){var _0xebb764={};_0xebb764[_0x2b39ac[_0xfbd7('0x32')]]={'$like':'%'+_0x4b4761[_0xfbd7('0x39')][_0xfbd7('0x45')]+'%'};return _0xebb764;}})});}_0x1f24c9=_[_0xfbd7('0x48')]({},_0x1f24c9,_0x4b4761[_0xfbd7('0x49')]);var _0x3c266e={'where':_0x1f24c9[_0xfbd7('0x43')]};return db[_0xfbd7('0x35')]['count'](_0x3c266e)[_0xfbd7('0x2e')](function(_0xb4104d){_0x1a00b3[_0xfbd7('0x23')]=_0xb4104d;if(_0x4b4761[_0xfbd7('0x39')][_0xfbd7('0x4a')]){_0x1f24c9['include']=[{'all':!![]}];}return db['AnalyticDefaultReport'][_0xfbd7('0x4b')](_0x1f24c9);})[_0xfbd7('0x2e')](function(_0x429ba5){_0x1a00b3[_0xfbd7('0x4c')]=_0x429ba5;return _0x1a00b3;})[_0xfbd7('0x2e')](respondWithFilteredResult(_0x4529dd,_0x1f24c9))[_0xfbd7('0x4d')](handleError(_0x4529dd,null));};exports[_0xfbd7('0x4e')]=function(_0x37ddd6,_0x4db891){var _0x586615={'raw':!![],'where':{'id':_0x37ddd6[_0xfbd7('0x4f')]['id']}},_0x3143ec={};_0x3143ec[_0xfbd7('0x38')]=_[_0xfbd7('0x3a')](db[_0xfbd7('0x35')][_0xfbd7('0x50')]);_0x3143ec[_0xfbd7('0x39')]=_[_0xfbd7('0x3a')](_0x37ddd6[_0xfbd7('0x39')]);_0x3143ec[_0xfbd7('0x3b')]=_[_0xfbd7('0x3c')](_0x3143ec[_0xfbd7('0x38')],_0x3143ec['query']);_0x586615[_0xfbd7('0x3d')]=_[_0xfbd7('0x3c')](_0x3143ec[_0xfbd7('0x38')],qs['fields'](_0x37ddd6[_0xfbd7('0x39')]['fields']));_0x586615[_0xfbd7('0x3d')]=_0x586615[_0xfbd7('0x3d')][_0xfbd7('0x3e')]?_0x586615[_0xfbd7('0x3d')]:_0x3143ec['model'];if(_0x37ddd6[_0xfbd7('0x39')][_0xfbd7('0x4a')]){_0x586615[_0xfbd7('0x51')]=[{'all':!![]}];}_0x586615=_['merge']({},_0x586615,_0x37ddd6[_0xfbd7('0x49')]);return db[_0xfbd7('0x35')][_0xfbd7('0x52')](_0x586615)[_0xfbd7('0x2e')](handleEntityNotFound(_0x4db891,null))[_0xfbd7('0x2e')](respondWithResult(_0x4db891,null))[_0xfbd7('0x4d')](handleError(_0x4db891,null));};exports[_0xfbd7('0x53')]=function(_0x30b3e0,_0x18d574){return db[_0xfbd7('0x35')][_0xfbd7('0x53')](_0x30b3e0['body'],{})[_0xfbd7('0x2e')](function(_0x5a4197){var _0x2a120d=_0x30b3e0[_0xfbd7('0x54')][_0xfbd7('0x2b')]({'plain':!![]});if(!_0x2a120d)throw new Error(_0xfbd7('0x55'));if(_0x2a120d[_0xfbd7('0x56')]===_0xfbd7('0x54')){var _0x50739e=_0x5a4197[_0xfbd7('0x2b')]({'plain':!![]});var _0x21dbe7=_0xfbd7('0x57');return db[_0xfbd7('0x58')][_0xfbd7('0x52')]({'where':{'name':_0x21dbe7,'userProfileId':_0x2a120d[_0xfbd7('0x59')]},'raw':!![]})['then'](function(_0x52ad75){if(_0x52ad75&&_0x52ad75[_0xfbd7('0x5a')]===0x0){return db[_0xfbd7('0x2d')]['create']({'name':_0x50739e[_0xfbd7('0x32')],'resourceId':_0x50739e['id'],'type':_0xfbd7('0x2c'),'sectionId':_0x52ad75['id']},{})['then'](function(){return _0x5a4197;});}else{return _0x5a4197;}})[_0xfbd7('0x4d')](function(_0x2fb0d6){logger[_0xfbd7('0x30')](_0xfbd7('0x5b'),_0x2fb0d6);throw _0x2fb0d6;});}return _0x5a4197;})[_0xfbd7('0x2e')](respondWithResult(_0x18d574,0xc9))[_0xfbd7('0x4d')](handleError(_0x18d574,null));};exports[_0xfbd7('0x29')]=function(_0x3f9a3b,_0x2cbf42){if(_0x3f9a3b[_0xfbd7('0x5c')]['id']){delete _0x3f9a3b['body']['id'];}return db[_0xfbd7('0x35')][_0xfbd7('0x52')]({'where':{'id':_0x3f9a3b[_0xfbd7('0x4f')]['id']}})['then'](handleEntityNotFound(_0x2cbf42,null))[_0xfbd7('0x2e')](saveUpdates(_0x3f9a3b[_0xfbd7('0x5c')],null))['then'](respondWithResult(_0x2cbf42,null))[_0xfbd7('0x4d')](handleError(_0x2cbf42,null));};exports['destroy']=function(_0x53322d,_0x5ef480){return db[_0xfbd7('0x35')]['find']({'where':{'id':_0x53322d[_0xfbd7('0x4f')]['id']}})['then'](handleEntityNotFound(_0x5ef480,null))[_0xfbd7('0x2e')](removeEntity(_0x5ef480,null))[_0xfbd7('0x4d')](handleError(_0x5ef480,null));};exports['preview']=function(_0x2a6c77,_0x3d301b){var _0x9c473b=0xa;var _0x9e0cea=[_0xfbd7('0x5d'),_0xfbd7('0x5e'),_0xfbd7('0x5f'),'cross_join'];var _0x4f446c={'SUM':_0xfbd7('0x60'),'COUNT':_0xfbd7('0x61'),'COUNT DISTINCT':'COUNT(DISTINCT\x20%s)','MAX':_0xfbd7('0x62'),'MIN':_0xfbd7('0x63'),'AVG':_0xfbd7('0x64'),'GROUP_CONCAT':_0xfbd7('0x65'),'GROUP_CONCAT ASC':_0xfbd7('0x66'),'GROUP_CONCAT DESC':_0xfbd7('0x67')};var _0x3fd6c4={'SEC_TO_TIME':'SEC_TO_TIME(%s)','DATE':_0xfbd7('0x68'),'HOUR':_0xfbd7('0x69'),'ROUND':_0xfbd7('0x6a'),'UNIX_TIMESTAMP':_0xfbd7('0x6b')};var _0x2e576f=function(_0x268faa){return!_['includes']([_0xfbd7('0x6c'),_0xfbd7('0x6d'),_0xfbd7('0x6e'),_0xfbd7('0x6f')],_0x268faa);};var _0x15ed60=function(_0x5f2be1){if(!_0x5f2be1||!_0x5f2be1[_0xfbd7('0x70')][_0xfbd7('0x3e')]){return'';}for(var _0xcec721='(',_0x5106fd=0x0;_0x5106fd<_0x5f2be1[_0xfbd7('0x70')]['length'];_0x5106fd+=0x1){_0x5106fd>0x0&&(_0xcec721+='\x20'+_0x5f2be1['operator']+'\x20');_0xcec721+=_0x5f2be1[_0xfbd7('0x70')][_0x5106fd][_0xfbd7('0x71')]?_0x15ed60(_0x5f2be1[_0xfbd7('0x70')][_0x5106fd][_0xfbd7('0x71')]):_0x5f2be1[_0xfbd7('0x70')][_0x5106fd][_0xfbd7('0x72')]+'\x20'+_0x5f2be1[_0xfbd7('0x70')][_0x5106fd][_0xfbd7('0x73')]+(_0x2e576f(_0x5f2be1[_0xfbd7('0x70')][_0x5106fd][_0xfbd7('0x73')])?'\x20'+_0x5f2be1[_0xfbd7('0x70')][_0x5106fd][_0xfbd7('0x74')]:'');}return _0xcec721+')';};var _0x4cabbc={'where':{'id':_0x2a6c77[_0xfbd7('0x4f')]['id']}},_0xccf496,_0x3a62b7,_0x11388d,_0xc9e1bb,_0x5b5175;_0x4cabbc=_['merge']({},_0x4cabbc,_0x2a6c77[_0xfbd7('0x49')]);return db[_0xfbd7('0x35')][_0xfbd7('0x52')](_0x4cabbc)['then'](function(_0x3fa8be){if(_0x3fa8be){_0xccf496=_0x3fa8be;return _0x3fa8be[_0xfbd7('0x75')]();}return null;})['then'](function(_0x1256ee){if(_0x1256ee){if(!_0x1256ee[_0xfbd7('0x3e')]){throw new db[(_0xfbd7('0x76'))][(_0xfbd7('0x77'))](_0xfbd7('0x78'),0x193);}_0x3a62b7=_0x1256ee;return db['AnalyticMetric'][_0xfbd7('0x4b')]({'raw':!![]});}return null;})[_0xfbd7('0x2e')](function(_0x316bc3){if(_0x316bc3){_0x11388d=_['keyBy'](_0x316bc3,'id');var _0x29c3b4;var _0x22cddb=squel[_0xfbd7('0x79')]();_0x22cddb[_0xfbd7('0x7a')](_0xccf496[_0xfbd7('0x7b')]);for(var _0x3cea8d=0x0;_0x3cea8d<_0x3a62b7[_0xfbd7('0x3e')];_0x3cea8d+=0x1){_0x29c3b4=_0x3a62b7[_0x3cea8d]['MetricId']?_0x11388d[_0x3a62b7[_0x3cea8d][_0xfbd7('0x7c')]][_0xfbd7('0x7d')]:_0x3a62b7[_0x3cea8d][_0xfbd7('0x72')];_0x29c3b4=_0x3a62b7[_0x3cea8d][_0xfbd7('0x7e')]?_['replace'](_0x4f446c[_0x3a62b7[_0x3cea8d]['function']],'%s',_0x29c3b4):_0x29c3b4;_0x29c3b4=_0x3a62b7[_0x3cea8d]['format']?_[_0xfbd7('0x7f')](_0x3fd6c4[_0x3a62b7[_0x3cea8d][_0xfbd7('0x80')]],'%s',_0x29c3b4):_0x29c3b4;if(_0x3a62b7[_0x3cea8d]['groupBy']){_0x22cddb[_0xfbd7('0x71')](_0x29c3b4);}_0x3a62b7[_0x3cea8d]['orderBy']&&_0x22cddb['order'](_0x29c3b4,_0x3a62b7[_0x3cea8d][_0xfbd7('0x81')]==='DESC'?![]:!![]);_0x22cddb[_0xfbd7('0x72')](_0x29c3b4,_0x3a62b7[_0x3cea8d][_0xfbd7('0x82')]||_0x29c3b4);}if(_0xccf496['joins']){_0xccf496[_0xfbd7('0x83')]=JSON[_0xfbd7('0x84')](_0xccf496[_0xfbd7('0x83')]);for(var _0x81290f=0x0;_0x81290f<_0xccf496[_0xfbd7('0x83')][_0xfbd7('0x3e')];_0x81290f+=0x1){if(_0xccf496[_0xfbd7('0x83')][_0x81290f]['type']&&_['includes'](_0x9e0cea,_0xccf496[_0xfbd7('0x83')][_0x81290f][_0xfbd7('0x46')])&&_0xccf496[_0xfbd7('0x83')][_0x81290f][_0xfbd7('0x85')]&&_0xccf496['joins'][_0x81290f][_0xfbd7('0x86')]&&_0xccf496[_0xfbd7('0x83')][_0x81290f][_0xfbd7('0x87')]){_0x22cddb[_0xccf496[_0xfbd7('0x83')][_0x81290f][_0xfbd7('0x46')]](_0xccf496['joins'][_0x81290f][_0xfbd7('0x86')],null,util[_0xfbd7('0x80')]('%s.%s\x20=\x20%s.%s',_0xccf496['table'],_0xccf496[_0xfbd7('0x83')][_0x81290f][_0xfbd7('0x85')],_0xccf496[_0xfbd7('0x83')][_0x81290f]['foreignTable'],_0xccf496['joins'][_0x81290f][_0xfbd7('0x87')]));}}}if(_0xccf496['conditions']){_0xccf496[_0xfbd7('0x88')]=JSON[_0xfbd7('0x84')](_0xccf496[_0xfbd7('0x88')]);_0x22cddb[_0xfbd7('0x43')](_0x15ed60(_0xccf496[_0xfbd7('0x88')]['group']));}_0x5b5175=_0x22cddb['clone']();_0x22cddb['limit'](_0x9c473b);_0x22cddb[_0xfbd7('0x20')](0x0);logger[_0xfbd7('0x89')](_0xfbd7('0x8a'),_0x22cddb[_0xfbd7('0x8b')]());return dbH[_0xfbd7('0x8c')]['query'](_0x22cddb['toString'](),{'type':dbH[_0xfbd7('0x8c')][_0xfbd7('0x8d')]['SELECT']});}})[_0xfbd7('0x2e')](respondWithResult(_0x3d301b,null))[_0xfbd7('0x4d')](handleError(_0x3d301b,null));};function runReport(_0x459dbb,_0x283e63,_0x36cbf8){var _0x29bdb3=_0x283e63[_0xfbd7('0x32')];var _0x2474e2=0xa;var _0x16cfff=[_0xfbd7('0x5d'),'left_join',_0xfbd7('0x5f'),_0xfbd7('0x8e')];var _0x251b66={'SUM':_0xfbd7('0x60'),'COUNT':_0xfbd7('0x61'),'COUNT DISTINCT':_0xfbd7('0x8f'),'MAX':'MAX(%s)','MIN':_0xfbd7('0x63'),'AVG':_0xfbd7('0x64'),'GROUP_CONCAT':'GROUP_CONCAT(%s)','GROUP_CONCAT ASC':_0xfbd7('0x66'),'GROUP_CONCAT DESC':_0xfbd7('0x67')};var _0x1cdaa0={'SEC_TO_TIME':'SEC_TO_TIME(%s)','DATE':'DATE(%s)','HOUR':_0xfbd7('0x69'),'ROUND':_0xfbd7('0x6a'),'UNIX_TIMESTAMP':'UNIX_TIMESTAMP(%s)'};var _0x8c89f2=function(_0x51a086){return!_[_0xfbd7('0x90')]([_0xfbd7('0x6c'),_0xfbd7('0x6d'),_0xfbd7('0x6e'),_0xfbd7('0x6f')],_0x51a086);};var _0x343061=function(_0x2aca90){if(!_0x2aca90||!_0x2aca90[_0xfbd7('0x70')][_0xfbd7('0x3e')]){return'';}for(var _0x18c341='(',_0x1cf8bc=0x0;_0x1cf8bc<_0x2aca90['rules'][_0xfbd7('0x3e')];_0x1cf8bc+=0x1){_0x1cf8bc>0x0&&(_0x18c341+='\x20'+_0x2aca90['operator']+'\x20');_0x18c341+=_0x2aca90[_0xfbd7('0x70')][_0x1cf8bc][_0xfbd7('0x71')]?_0x343061(_0x2aca90[_0xfbd7('0x70')][_0x1cf8bc]['group']):_0x2aca90[_0xfbd7('0x70')][_0x1cf8bc][_0xfbd7('0x72')]+'\x20'+_0x2aca90[_0xfbd7('0x70')][_0x1cf8bc]['condition']+(_0x8c89f2(_0x2aca90[_0xfbd7('0x70')][_0x1cf8bc]['condition'])?'\x20'+_0x2aca90[_0xfbd7('0x70')][_0x1cf8bc][_0xfbd7('0x74')]:'');}return _0x18c341+')';};var _0x121d28={'where':{'id':_0x459dbb['id']}},_0x2c592e,_0x1edc0c,_0x19affe,_0xc6ba85,_0x4be463;_0x121d28=_['merge']({},_0x121d28,_0x36cbf8);return db['AnalyticDefaultReport'][_0xfbd7('0x52')](_0x121d28)['then'](function(_0x67b7f){if(_0x67b7f){_0x2c592e=_0x67b7f;return _0x67b7f[_0xfbd7('0x75')]();}return null;})[_0xfbd7('0x2e')](function(_0x20b3ae){if(_0x20b3ae){if(!_0x20b3ae[_0xfbd7('0x3e')]){throw new db['Sequelize'][(_0xfbd7('0x77'))](_0xfbd7('0x78'),0x193);}_0x1edc0c=_0x20b3ae;return db[_0xfbd7('0x91')][_0xfbd7('0x4b')]({'raw':!![]});}return null;})['then'](function(_0x58cac2){if(_0x58cac2){_0x19affe=_['keyBy'](_0x58cac2,'id');var _0x54897a;var _0x563a0f=squel['select']();_0x563a0f[_0xfbd7('0x7a')](_0x2c592e[_0xfbd7('0x7b')]);for(var _0x1e89e3=0x0;_0x1e89e3<_0x1edc0c['length'];_0x1e89e3+=0x1){_0x54897a=_0x1edc0c[_0x1e89e3][_0xfbd7('0x7c')]?_0x19affe[_0x1edc0c[_0x1e89e3][_0xfbd7('0x7c')]][_0xfbd7('0x7d')]:_0x1edc0c[_0x1e89e3][_0xfbd7('0x72')];_0x54897a=_0x1edc0c[_0x1e89e3][_0xfbd7('0x7e')]?_[_0xfbd7('0x7f')](_0x251b66[_0x1edc0c[_0x1e89e3]['function']],'%s',_0x54897a):_0x54897a;_0x54897a=_0x1edc0c[_0x1e89e3][_0xfbd7('0x80')]?_[_0xfbd7('0x7f')](_0x1cdaa0[_0x1edc0c[_0x1e89e3][_0xfbd7('0x80')]],'%s',_0x54897a):_0x54897a;if(_0x1edc0c[_0x1e89e3][_0xfbd7('0x92')]){_0x563a0f[_0xfbd7('0x71')](_0x54897a);}_0x1edc0c[_0x1e89e3]['orderBy']&&_0x563a0f[_0xfbd7('0x41')](_0x54897a,_0x1edc0c[_0x1e89e3][_0xfbd7('0x81')]==='DESC'?![]:!![]);_0x563a0f[_0xfbd7('0x72')](_0x54897a,_0x1edc0c[_0x1e89e3][_0xfbd7('0x82')]||_0x54897a);}if(_0x2c592e[_0xfbd7('0x83')]){_0x2c592e[_0xfbd7('0x83')]=JSON[_0xfbd7('0x84')](_0x2c592e[_0xfbd7('0x83')]);for(var _0x5260cb=0x0;_0x5260cb<_0x2c592e['joins']['length'];_0x5260cb+=0x1){if(_0x2c592e[_0xfbd7('0x83')][_0x5260cb][_0xfbd7('0x46')]&&_[_0xfbd7('0x90')](_0x16cfff,_0x2c592e[_0xfbd7('0x83')][_0x5260cb]['type'])&&_0x2c592e['joins'][_0x5260cb][_0xfbd7('0x85')]&&_0x2c592e[_0xfbd7('0x83')][_0x5260cb]['foreignTable']&&_0x2c592e[_0xfbd7('0x83')][_0x5260cb][_0xfbd7('0x87')]){_0x563a0f[_0x2c592e[_0xfbd7('0x83')][_0x5260cb]['type']](_0x2c592e['joins'][_0x5260cb][_0xfbd7('0x86')],null,util[_0xfbd7('0x80')](_0xfbd7('0x93'),_0x2c592e[_0xfbd7('0x7b')],_0x2c592e[_0xfbd7('0x83')][_0x5260cb][_0xfbd7('0x85')],_0x2c592e[_0xfbd7('0x83')][_0x5260cb][_0xfbd7('0x86')],_0x2c592e['joins'][_0x5260cb][_0xfbd7('0x87')]));}}}if(_0x2c592e[_0xfbd7('0x88')]){_0x2c592e['conditions']=JSON[_0xfbd7('0x84')](_0x2c592e[_0xfbd7('0x88')]);_0x563a0f[_0xfbd7('0x43')](_0x343061(_0x2c592e[_0xfbd7('0x88')][_0xfbd7('0x71')]));}_0x4be463=_0x563a0f[_0xfbd7('0x94')]();_0x563a0f[_0xfbd7('0x22')](_0x2474e2);_0x563a0f[_0xfbd7('0x20')](0x0);return;}})['then'](function(){if(_0x283e63['output']==='web'){return null;}var _0xf033b5=_[_0xfbd7('0x48')](_0x283e63,{'name':_0x283e63[_0xfbd7('0x95')]||_0x283e63['name']||_0x2c592e['name'],'basename':_0x29bdb3,'savename':util[_0xfbd7('0x80')](_0xfbd7('0x96'),_0x283e63['name']||_0x2c592e[_0xfbd7('0x32')],require(_0xfbd7('0x97'))[_0xfbd7('0x98')](0x4),_0x283e63[_0xfbd7('0x99')]||'csv'),'reportId':_0x2c592e['id'],'reportType':_0xfbd7('0x9a')});return db['AnalyticExtractedReport'][_0xfbd7('0x53')](_0xf033b5,{'raw':!![]});})[_0xfbd7('0x2e')](function(_0xf5394){if(_0x2c592e[_0xfbd7('0x7b')]===_0xfbd7('0x9b')){_0x4be463[_0xfbd7('0x43')](_0x2c592e[_0xfbd7('0x7b')]+_0xfbd7('0x9c'),_0x283e63['startDate'],_0x283e63[_0xfbd7('0x9d')]);}else{_0x4be463[_0xfbd7('0x43')](_0x2c592e[_0xfbd7('0x7b')]+_0xfbd7('0x9e'),_0x283e63[_0xfbd7('0x9f')],_0x283e63[_0xfbd7('0x9d')]);}if(_0xf5394){logger['info'](_0xfbd7('0xa0'),_0x4be463[_0xfbd7('0x8b')]());require(_0xfbd7('0xa1'))[_0xfbd7('0xa2')](path[_0xfbd7('0x5d')](__dirname,_0xfbd7('0xa3'),_0xf5394[_0xfbd7('0x99')]),[_0xf5394['id'],_0x4be463[_0xfbd7('0x8b')](),path[_0xfbd7('0x5d')](__dirname,'../../files/reports',_0xf5394[_0xfbd7('0xa4')]),_0x29bdb3]);return _0xf5394;}else{var _0x23f61d=squel[_0xfbd7('0x79')]();_0x23f61d[_0xfbd7('0x7a')]('('+_0x4be463[_0xfbd7('0x8b')]()+')',_0xfbd7('0xa5'));_0x23f61d[_0xfbd7('0x72')](_0xfbd7('0xa6'),_0xfbd7('0x23'));_0x4be463[_0xfbd7('0x22')](_0x283e63[_0xfbd7('0x22')]||_0x2474e2);_0x4be463[_0xfbd7('0x20')](_0x283e63['offset']||0x0);return dbH[_0xfbd7('0x8c')][_0xfbd7('0x39')](_0x23f61d[_0xfbd7('0x8b')](),{'type':dbH[_0xfbd7('0x8c')][_0xfbd7('0x8d')][_0xfbd7('0xa7')]})[_0xfbd7('0x2e')](function(_0x155a5c){if(!_0x155a5c[_0xfbd7('0x3e')]){_0xc6ba85=0x0;}else{_0xc6ba85=_0x155a5c[0x0]['count']||0x0;}return dbH[_0xfbd7('0x8c')][_0xfbd7('0x39')](_0x4be463[_0xfbd7('0x8b')](),{'type':dbH[_0xfbd7('0x8c')]['QueryTypes'][_0xfbd7('0xa7')]});})[_0xfbd7('0x2e')](function(_0x4d271b){return{'rows':_0x4d271b||[],'count':_0xc6ba85};});}});}exports[_0xfbd7('0xa8')]=function(_0x13b7c3,_0x4ae5ca){return runReport(_0x13b7c3[_0xfbd7('0x4f')],_0x13b7c3[_0xfbd7('0x39')],_0x13b7c3['options'])[_0xfbd7('0x2e')](respondWithResult(_0x4ae5ca,null))[_0xfbd7('0x4d')](handleError(_0x4ae5ca,null));};exports['runReport']=runReport;exports['query']=function(_0x52b29c,_0x36eb59){var _0x201946=0xa;var _0x3ba007=[_0xfbd7('0x5d'),_0xfbd7('0x5e'),_0xfbd7('0x5f'),_0xfbd7('0x8e')];var _0x1e97a4={'SUM':_0xfbd7('0x60'),'COUNT':'COUNT(%s)','COUNT DISTINCT':_0xfbd7('0x8f'),'MAX':_0xfbd7('0x62'),'MIN':'MIN(%s)','AVG':_0xfbd7('0x64'),'GROUP_CONCAT':_0xfbd7('0x65'),'GROUP_CONCAT ASC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','GROUP_CONCAT DESC':_0xfbd7('0x67')};var _0x2363d2={'SEC_TO_TIME':_0xfbd7('0xa9'),'DATE':_0xfbd7('0x68'),'HOUR':'HOUR(%s)','ROUND':'ROUND(%s)','UNIX_TIMESTAMP':'UNIX_TIMESTAMP(%s)'};var _0x4cffaf=function(_0x2d830c){return!_['includes']([_0xfbd7('0x6c'),_0xfbd7('0x6d'),_0xfbd7('0x6e'),'IS\x20NOT\x20EMPTY'],_0x2d830c);};var _0x5958be=function(_0x44d264){if(!_0x44d264||!_0x44d264['rules'][_0xfbd7('0x3e')]){return'';}for(var _0x416d86='(',_0x652ee6=0x0;_0x652ee6<_0x44d264[_0xfbd7('0x70')][_0xfbd7('0x3e')];_0x652ee6+=0x1){_0x652ee6>0x0&&(_0x416d86+='\x20'+_0x44d264[_0xfbd7('0xaa')]+'\x20');_0x416d86+=_0x44d264[_0xfbd7('0x70')][_0x652ee6][_0xfbd7('0x71')]?_0x5958be(_0x44d264[_0xfbd7('0x70')][_0x652ee6]['group']):_0x44d264[_0xfbd7('0x70')][_0x652ee6][_0xfbd7('0x72')]+'\x20'+_0x44d264[_0xfbd7('0x70')][_0x652ee6][_0xfbd7('0x73')]+(_0x4cffaf(_0x44d264[_0xfbd7('0x70')][_0x652ee6][_0xfbd7('0x73')])?'\x20'+_0x44d264[_0xfbd7('0x70')][_0x652ee6][_0xfbd7('0x74')]:'');}return _0x416d86+')';};var _0x1e334f={'where':{'id':_0x52b29c[_0xfbd7('0x4f')]['id']}},_0x506c3e,_0x28db38,_0x345ea5,_0x2b717c,_0x338de4;_0x1e334f=_[_0xfbd7('0x48')]({},_0x1e334f,_0x52b29c[_0xfbd7('0x49')]);return db['AnalyticDefaultReport']['find'](_0x1e334f)[_0xfbd7('0x2e')](function(_0x28d0b3){if(_0x28d0b3){_0x506c3e=_0x28d0b3;return _0x28d0b3[_0xfbd7('0x75')]();}return null;})[_0xfbd7('0x2e')](function(_0x222e9c){if(_0x222e9c){if(!_0x222e9c[_0xfbd7('0x3e')]){throw new db[(_0xfbd7('0x76'))]['ValidationErrorItem'](_0xfbd7('0x78'),0x193);}_0x28db38=_0x222e9c;return db[_0xfbd7('0x91')][_0xfbd7('0x4b')]({'raw':!![]});}return null;})[_0xfbd7('0x2e')](function(_0x1bb907){if(_0x1bb907){_0x345ea5=_[_0xfbd7('0xab')](_0x1bb907,'id');var _0x21d603;var _0x1167d5=squel[_0xfbd7('0x79')]();_0x1167d5[_0xfbd7('0x7a')](_0x506c3e['table']);for(var _0x19ffe9=0x0;_0x19ffe9<_0x28db38['length'];_0x19ffe9+=0x1){_0x21d603=_0x28db38[_0x19ffe9][_0xfbd7('0x7c')]?_0x345ea5[_0x28db38[_0x19ffe9][_0xfbd7('0x7c')]]['metric']:_0x28db38[_0x19ffe9][_0xfbd7('0x72')];_0x21d603=_0x28db38[_0x19ffe9][_0xfbd7('0x7e')]?_[_0xfbd7('0x7f')](_0x1e97a4[_0x28db38[_0x19ffe9][_0xfbd7('0x7e')]],'%s',_0x21d603):_0x21d603;_0x21d603=_0x28db38[_0x19ffe9][_0xfbd7('0x80')]?_[_0xfbd7('0x7f')](_0x2363d2[_0x28db38[_0x19ffe9][_0xfbd7('0x80')]],'%s',_0x21d603):_0x21d603;if(_0x28db38[_0x19ffe9][_0xfbd7('0x92')]){_0x1167d5[_0xfbd7('0x71')](_0x21d603);}_0x28db38[_0x19ffe9][_0xfbd7('0x81')]&&_0x1167d5[_0xfbd7('0x41')](_0x21d603,_0x28db38[_0x19ffe9][_0xfbd7('0x81')]===_0xfbd7('0xac')?![]:!![]);_0x1167d5[_0xfbd7('0x72')](_0x21d603,_0x28db38[_0x19ffe9][_0xfbd7('0x82')]||_0x21d603);}if(_0x506c3e['joins']){_0x506c3e[_0xfbd7('0x83')]=JSON[_0xfbd7('0x84')](_0x506c3e[_0xfbd7('0x83')]);for(var _0xe64b9f=0x0;_0xe64b9f<_0x506c3e[_0xfbd7('0x83')][_0xfbd7('0x3e')];_0xe64b9f+=0x1){if(_0x506c3e[_0xfbd7('0x83')][_0xe64b9f]['type']&&_[_0xfbd7('0x90')](_0x3ba007,_0x506c3e[_0xfbd7('0x83')][_0xe64b9f][_0xfbd7('0x46')])&&_0x506c3e[_0xfbd7('0x83')][_0xe64b9f][_0xfbd7('0x85')]&&_0x506c3e['joins'][_0xe64b9f][_0xfbd7('0x86')]&&_0x506c3e[_0xfbd7('0x83')][_0xe64b9f][_0xfbd7('0x87')]){_0x1167d5[_0x506c3e[_0xfbd7('0x83')][_0xe64b9f][_0xfbd7('0x46')]](_0x506c3e[_0xfbd7('0x83')][_0xe64b9f][_0xfbd7('0x86')],null,util[_0xfbd7('0x80')](_0xfbd7('0x93'),_0x506c3e['table'],_0x506c3e[_0xfbd7('0x83')][_0xe64b9f][_0xfbd7('0x85')],_0x506c3e[_0xfbd7('0x83')][_0xe64b9f][_0xfbd7('0x86')],_0x506c3e['joins'][_0xe64b9f][_0xfbd7('0x87')]));}}}if(_0x506c3e['conditions']){_0x506c3e[_0xfbd7('0x88')]=JSON[_0xfbd7('0x84')](_0x506c3e[_0xfbd7('0x88')]);_0x1167d5[_0xfbd7('0x43')](_0x5958be(_0x506c3e[_0xfbd7('0x88')][_0xfbd7('0x71')]));}_0x338de4=_0x1167d5[_0xfbd7('0x94')]();_0x1167d5[_0xfbd7('0x22')](_0x201946);_0x1167d5['offset'](0x0);logger[_0xfbd7('0x89')](_0xfbd7('0x8a'),_0x1167d5['toString']());return dbH['sequelize']['query'](_0x1167d5['toString'](),{'type':dbH[_0xfbd7('0x8c')]['QueryTypes'][_0xfbd7('0xa7')]});}})[_0xfbd7('0x2e')](function(){return{'sql':_0x338de4[_0xfbd7('0x8b')]()};})[_0xfbd7('0x2e')](respondWithResult(_0x36eb59,null))['catch'](handleError(_0x36eb59,null));};