Built motion from commit (unavailable).|2.5.3
[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 _0xbde2=['name','send','index','map','AnalyticCustomReport','rawAttributes','fieldName','type','query','keys','filters','intersection','attributes','fields','length','model','hasOwnProperty','nolimit','order','sort','where','filter','merge','options','includeAll','findAll','show','find','create','body','user','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','CustomReports','catch','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','preview','join','left_join','right_join','cross_join','SUM(%s)','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\x20NOT\x20NULL','IS\x20EMPTY','IS\x20NOT\x20EMPTY','operator','rules','field','condition','value','getFields','Sequelize','ValidationErrorItem','Please\x20insert\x20at\x20least\x20one\x20field','AnalyticMetric','select','from','table','MetricId','function','replace','format','group','DESC','alias','joins','parse','parentKey','foreignKey','foreignTable','%s.%s\x20=\x20%s.%s','conditions','clone','debug','Limited\x20Query:','toString','sequelize','QueryTypes','SELECT','keyBy','metric','groupBy','orderBy','No\x20available\x20data','output','web','fullPath','%s-%s.%s','randomstring','generate','csv','custom','AnalyticExtractedReport','cdr','.calldate\x20BETWEEN\x20?\x20AND\x20?','startDate','info','child_process','../../components/export/','../../files/reports','countTable','COUNT(*)','run','runReport','ROUND(%s)','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','util','path','sox','to-csv','lodash','squel','crypto','jsforce','desk.js','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','update','then','destroy','get','stack'];(function(_0x39bc08,_0x11f9e7){var _0x17a3f9=function(_0x5192c7){while(--_0x5192c7){_0x39bc08['push'](_0x39bc08['shift']());}};_0x17a3f9(++_0x11f9e7);}(_0xbde2,0x7a));var _0x2bde=function(_0x5dc5dd,_0x442319){_0x5dc5dd=_0x5dc5dd-0x0;var _0x2b55cc=_0xbde2[_0x5dc5dd];return _0x2b55cc;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x2bde('0x0'));var rimraf=require(_0x2bde('0x1'));var zipdir=require(_0x2bde('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x2bde('0x3'));var moment=require(_0x2bde('0x4'));var BPromise=require(_0x2bde('0x5'));var Mustache=require('mustache');var util=require(_0x2bde('0x6'));var path=require(_0x2bde('0x7'));var sox=require(_0x2bde('0x8'));var csv=require(_0x2bde('0x9'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x2bde('0xa'));var squel=require(_0x2bde('0xb'));var crypto=require(_0x2bde('0xc'));var jsforce=require(_0x2bde('0xd'));var deskjs=require(_0x2bde('0xe'));var toCsv=require(_0x2bde('0x9'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x2bde('0xf'));var qs=require(_0x2bde('0x10'));var as=require(_0x2bde('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x2bde('0x12'))(_0x2bde('0x13'));var utils=require(_0x2bde('0x14'));var config=require(_0x2bde('0x15'));var db=require(_0x2bde('0x16'))['db'];var dbH=require(_0x2bde('0x16'))['dbH'];function respondWithStatusCode(_0x62de8f,_0x5ba816){_0x5ba816=_0x5ba816||0xcc;return function(_0x2a8b29){if(_0x2a8b29){return _0x62de8f[_0x2bde('0x17')](_0x5ba816);}return _0x62de8f[_0x2bde('0x18')](_0x5ba816)[_0x2bde('0x19')]();};}function respondWithResult(_0x3441dd,_0x2583da){_0x2583da=_0x2583da||0xc8;return function(_0x199bcc){if(_0x199bcc){return _0x3441dd[_0x2bde('0x18')](_0x2583da)[_0x2bde('0x1a')](_0x199bcc);}};}function respondWithFilteredResult(_0x1bfcda,_0x329331){return function(_0x1b2958){if(_0x1b2958){var _0xaaaf2d=_0x1b2958[_0x2bde('0x1b')],_0x37f4b3=_0x329331[_0x2bde('0x1c')],_0x4f2f86=_0x329331[_0x2bde('0x1c')]+_0x329331[_0x2bde('0x1d')],_0x531033;if(_0x4f2f86>=_0xaaaf2d){_0x4f2f86=_0xaaaf2d;_0x531033=0xc8;}else{_0x531033=0xce;}_0x1bfcda['status'](_0x531033);return _0x1bfcda[_0x2bde('0x1e')](_0x2bde('0x1f'),_0x37f4b3+'-'+_0x4f2f86+'/'+_0xaaaf2d)[_0x2bde('0x1a')](_0x1b2958);}return null;};}function patchUpdates(_0x34f820){return function(_0x1b10a4){try{jsonpatch[_0x2bde('0x20')](_0x1b10a4,_0x34f820,!![]);}catch(_0x1dcdd6){return BPromise[_0x2bde('0x21')](_0x1dcdd6);}return _0x1b10a4['save']();};}function saveUpdates(_0xe302eb,_0x4f3b68){return function(_0x560202){if(_0x560202){return _0x560202[_0x2bde('0x22')](_0xe302eb)[_0x2bde('0x23')](function(_0x27b6e1){return _0x27b6e1;});}return null;};}function removeEntity(_0x481dd2,_0x6c0da){return function(_0x945537){if(_0x945537){return _0x945537[_0x2bde('0x24')]()['then'](function(){var _0x17d654=_0x945537[_0x2bde('0x25')]({'plain':!![]});var _0x2479d7='CustomReports';return db['UserProfileResource']['destroy']({'where':{'type':_0x2479d7,'resourceId':_0x17d654['id']}})['then'](function(){return _0x945537;});})[_0x2bde('0x23')](function(){_0x481dd2['status'](0xcc)[_0x2bde('0x19')]();});}};}function handleEntityNotFound(_0x2df7d6,_0x44ad01){return function(_0x27e62f){if(!_0x27e62f){_0x2df7d6['sendStatus'](0x194);}return _0x27e62f;};}function handleError(_0x2d6950,_0x3e9222){_0x3e9222=_0x3e9222||0x1f4;return function(_0x2cd535){logger['error'](_0x2cd535[_0x2bde('0x26')]);if(_0x2cd535[_0x2bde('0x27')]){delete _0x2cd535[_0x2bde('0x27')];}_0x2d6950[_0x2bde('0x18')](_0x3e9222)[_0x2bde('0x28')](_0x2cd535);};}exports[_0x2bde('0x29')]=function(_0x2b1eb6,_0x4d668f){var _0x2e359e={},_0x5ed025={},_0x3c4b1a={'count':0x0,'rows':[]};var _0x2be21=_[_0x2bde('0x2a')](db[_0x2bde('0x2b')][_0x2bde('0x2c')],function(_0xd7a015){return{'name':_0xd7a015[_0x2bde('0x2d')],'type':_0xd7a015[_0x2bde('0x2e')]['key']};});_0x5ed025['model']=_[_0x2bde('0x2a')](_0x2be21,_0x2bde('0x27'));_0x5ed025[_0x2bde('0x2f')]=_[_0x2bde('0x30')](_0x2b1eb6[_0x2bde('0x2f')]);_0x5ed025[_0x2bde('0x31')]=_[_0x2bde('0x32')](_0x5ed025['model'],_0x5ed025['query']);_0x2e359e[_0x2bde('0x33')]=_[_0x2bde('0x32')](_0x5ed025['model'],qs[_0x2bde('0x34')](_0x2b1eb6[_0x2bde('0x2f')][_0x2bde('0x34')]));_0x2e359e[_0x2bde('0x33')]=_0x2e359e['attributes'][_0x2bde('0x35')]?_0x2e359e[_0x2bde('0x33')]:_0x5ed025[_0x2bde('0x36')];if(!_0x2b1eb6[_0x2bde('0x2f')][_0x2bde('0x37')](_0x2bde('0x38'))){_0x2e359e['limit']=qs[_0x2bde('0x1d')](_0x2b1eb6['query'][_0x2bde('0x1d')]);_0x2e359e[_0x2bde('0x1c')]=qs[_0x2bde('0x1c')](_0x2b1eb6[_0x2bde('0x2f')]['offset']);}_0x2e359e[_0x2bde('0x39')]=qs['sort'](_0x2b1eb6[_0x2bde('0x2f')][_0x2bde('0x3a')]);_0x2e359e[_0x2bde('0x3b')]=qs['filters'](_['pick'](_0x2b1eb6[_0x2bde('0x2f')],_0x5ed025[_0x2bde('0x31')]),_0x2be21);if(_0x2b1eb6['query'][_0x2bde('0x3c')]){_0x2e359e['where']=_[_0x2bde('0x3d')](_0x2e359e['where'],{'$or':_[_0x2bde('0x2a')](_0x2be21,function(_0x38ba97){if(_0x38ba97[_0x2bde('0x2e')]!=='VIRTUAL'){var _0x347b62={};_0x347b62[_0x38ba97['name']]={'$like':'%'+_0x2b1eb6['query'][_0x2bde('0x3c')]+'%'};return _0x347b62;}})});}_0x2e359e=_[_0x2bde('0x3d')]({},_0x2e359e,_0x2b1eb6[_0x2bde('0x3e')]);var _0x2eb55a={'where':_0x2e359e[_0x2bde('0x3b')]};return db[_0x2bde('0x2b')][_0x2bde('0x1b')](_0x2eb55a)[_0x2bde('0x23')](function(_0x2cdd7e){_0x3c4b1a[_0x2bde('0x1b')]=_0x2cdd7e;if(_0x2b1eb6['query'][_0x2bde('0x3f')]){_0x2e359e['include']=[{'all':!![]}];}return db['AnalyticCustomReport'][_0x2bde('0x40')](_0x2e359e);})['then'](function(_0x35af6a){_0x3c4b1a['rows']=_0x35af6a;return _0x3c4b1a;})[_0x2bde('0x23')](respondWithFilteredResult(_0x4d668f,_0x2e359e))['catch'](handleError(_0x4d668f,null));};exports[_0x2bde('0x41')]=function(_0x2eb305,_0x4aaaed){var _0x1e9765={'raw':![],'where':{'id':_0x2eb305['params']['id']}},_0x58d6ee={};_0x58d6ee[_0x2bde('0x36')]=_['keys'](db[_0x2bde('0x2b')][_0x2bde('0x2c')]);_0x58d6ee['query']=_['keys'](_0x2eb305[_0x2bde('0x2f')]);_0x58d6ee[_0x2bde('0x31')]=_[_0x2bde('0x32')](_0x58d6ee[_0x2bde('0x36')],_0x58d6ee[_0x2bde('0x2f')]);_0x1e9765[_0x2bde('0x33')]=_['intersection'](_0x58d6ee[_0x2bde('0x36')],qs[_0x2bde('0x34')](_0x2eb305[_0x2bde('0x2f')][_0x2bde('0x34')]));_0x1e9765['attributes']=_0x1e9765[_0x2bde('0x33')][_0x2bde('0x35')]?_0x1e9765[_0x2bde('0x33')]:_0x58d6ee[_0x2bde('0x36')];if(_0x2eb305[_0x2bde('0x2f')][_0x2bde('0x3f')]){_0x1e9765['include']=[{'all':!![]}];}_0x1e9765=_['merge']({},_0x1e9765,_0x2eb305['options']);return db[_0x2bde('0x2b')][_0x2bde('0x42')](_0x1e9765)['then'](handleEntityNotFound(_0x4aaaed,null))[_0x2bde('0x23')](respondWithResult(_0x4aaaed,null))['catch'](handleError(_0x4aaaed,null));};exports[_0x2bde('0x43')]=function(_0x3bbae4,_0x25ef6c){return db[_0x2bde('0x2b')]['create'](_0x3bbae4[_0x2bde('0x44')],{})[_0x2bde('0x23')](function(_0x5932fb){var _0x4b4892=_0x3bbae4[_0x2bde('0x45')]['get']({'plain':!![]});if(!_0x4b4892)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x4b4892['role']===_0x2bde('0x45')){var _0x277be1=_0x5932fb[_0x2bde('0x25')]({'plain':!![]});var _0x5e3628='Reports';return db[_0x2bde('0x46')]['find']({'where':{'name':_0x5e3628,'userProfileId':_0x4b4892[_0x2bde('0x47')]},'raw':!![]})[_0x2bde('0x23')](function(_0x35b208){if(_0x35b208&&_0x35b208[_0x2bde('0x48')]===0x0){return db[_0x2bde('0x49')]['create']({'name':_0x277be1[_0x2bde('0x27')],'resourceId':_0x277be1['id'],'type':_0x2bde('0x4a'),'sectionId':_0x35b208['id']},{})[_0x2bde('0x23')](function(){return _0x5932fb;});}else{return _0x5932fb;}})[_0x2bde('0x4b')](function(_0x493f71){logger['error'](_0x2bde('0x4c'),_0x493f71);throw _0x493f71;});}return _0x5932fb;})[_0x2bde('0x23')](respondWithResult(_0x25ef6c,0xc9))['catch'](handleError(_0x25ef6c,null));};exports[_0x2bde('0x22')]=function(_0x591628,_0x2a8502){if(_0x591628[_0x2bde('0x44')]['id']){delete _0x591628[_0x2bde('0x44')]['id'];}return db['AnalyticCustomReport'][_0x2bde('0x42')]({'where':{'id':_0x591628[_0x2bde('0x4d')]['id']}})[_0x2bde('0x23')](handleEntityNotFound(_0x2a8502,null))[_0x2bde('0x23')](saveUpdates(_0x591628['body'],null))[_0x2bde('0x23')](respondWithResult(_0x2a8502,null))[_0x2bde('0x4b')](handleError(_0x2a8502,null));};exports[_0x2bde('0x24')]=function(_0x575a78,_0x4cbc43){return db[_0x2bde('0x2b')]['find']({'where':{'id':_0x575a78['params']['id']}})[_0x2bde('0x23')](handleEntityNotFound(_0x4cbc43,null))[_0x2bde('0x23')](removeEntity(_0x4cbc43,null))[_0x2bde('0x4b')](handleError(_0x4cbc43,null));};exports[_0x2bde('0x4e')]=function(_0x2d5197,_0x326419){var _0x2608b2=0xa;var _0x53a288=[_0x2bde('0x4f'),_0x2bde('0x50'),_0x2bde('0x51'),_0x2bde('0x52')];var _0x789201={'SUM':_0x2bde('0x53'),'COUNT':_0x2bde('0x54'),'COUNT DISTINCT':_0x2bde('0x55'),'MAX':_0x2bde('0x56'),'MIN':_0x2bde('0x57'),'AVG':_0x2bde('0x58'),'GROUP_CONCAT':_0x2bde('0x59'),'GROUP_CONCAT ASC':_0x2bde('0x5a'),'GROUP_CONCAT DESC':_0x2bde('0x5b')};var _0x1fc009={'SEC_TO_TIME':_0x2bde('0x5c'),'DATE':_0x2bde('0x5d'),'HOUR':_0x2bde('0x5e'),'ROUND':'ROUND(%s)','UNIX_TIMESTAMP':_0x2bde('0x5f')};var _0x4ecb78=function(_0x4c09bd){return!_[_0x2bde('0x60')]([_0x2bde('0x61'),_0x2bde('0x62'),_0x2bde('0x63'),_0x2bde('0x64')],_0x4c09bd);};var _0x2d51fb=function(_0x4c93c7){if(!_0x4c93c7||!_0x4c93c7['rules']['length']){return'';}for(var _0x5a7f8f='(',_0x2eb99d=0x0;_0x2eb99d<_0x4c93c7['rules'][_0x2bde('0x35')];_0x2eb99d+=0x1){_0x2eb99d>0x0&&(_0x5a7f8f+='\x20'+_0x4c93c7[_0x2bde('0x65')]+'\x20');_0x5a7f8f+=_0x4c93c7['rules'][_0x2eb99d]['group']?_0x2d51fb(_0x4c93c7['rules'][_0x2eb99d]['group']):_0x4c93c7[_0x2bde('0x66')][_0x2eb99d][_0x2bde('0x67')]+'\x20'+_0x4c93c7['rules'][_0x2eb99d]['condition']+(_0x4ecb78(_0x4c93c7['rules'][_0x2eb99d][_0x2bde('0x68')])?'\x20'+_0x4c93c7[_0x2bde('0x66')][_0x2eb99d][_0x2bde('0x69')]:'');}return _0x5a7f8f+')';};var _0x592df0={'where':{'id':_0x2d5197['params']['id']}},_0x2dbd0b,_0x152364,_0x2e10a3,_0x52df99,_0x6ae1c4;_0x592df0=_[_0x2bde('0x3d')]({},_0x592df0,_0x2d5197[_0x2bde('0x3e')]);return db[_0x2bde('0x2b')][_0x2bde('0x42')](_0x592df0)[_0x2bde('0x23')](function(_0x5722c8){if(_0x5722c8){_0x2dbd0b=_0x5722c8;return _0x5722c8[_0x2bde('0x6a')]();}return null;})[_0x2bde('0x23')](function(_0x45f2ba){if(_0x45f2ba){if(!_0x45f2ba[_0x2bde('0x35')]){throw new db[(_0x2bde('0x6b'))][(_0x2bde('0x6c'))](_0x2bde('0x6d'),0x193);}_0x152364=_0x45f2ba;return db[_0x2bde('0x6e')][_0x2bde('0x40')]({'raw':!![]});}return null;})[_0x2bde('0x23')](function(_0x49ea3f){if(_0x49ea3f){_0x2e10a3=_['keyBy'](_0x49ea3f,'id');var _0x44f48e;var _0x5dec44=squel[_0x2bde('0x6f')]();_0x5dec44[_0x2bde('0x70')](_0x2dbd0b[_0x2bde('0x71')]);for(var _0x355fce=0x0;_0x355fce<_0x152364['length'];_0x355fce+=0x1){_0x44f48e=_0x152364[_0x355fce][_0x2bde('0x72')]?_0x2e10a3[_0x152364[_0x355fce]['MetricId']]['metric']:_0x152364[_0x355fce]['field'];_0x44f48e=_0x152364[_0x355fce][_0x2bde('0x73')]?_[_0x2bde('0x74')](_0x789201[_0x152364[_0x355fce][_0x2bde('0x73')]],'%s',_0x44f48e):_0x44f48e;_0x44f48e=_0x152364[_0x355fce]['format']?_[_0x2bde('0x74')](_0x1fc009[_0x152364[_0x355fce][_0x2bde('0x75')]],'%s',_0x44f48e):_0x44f48e;if(_0x152364[_0x355fce]['groupBy']){_0x5dec44[_0x2bde('0x76')](_0x44f48e);}_0x152364[_0x355fce]['orderBy']&&_0x5dec44[_0x2bde('0x39')](_0x44f48e,_0x152364[_0x355fce]['orderBy']===_0x2bde('0x77')?![]:!![]);_0x5dec44[_0x2bde('0x67')](_0x44f48e,_0x152364[_0x355fce][_0x2bde('0x78')]||_0x44f48e);}if(_0x2dbd0b[_0x2bde('0x79')]){_0x2dbd0b['joins']=JSON[_0x2bde('0x7a')](_0x2dbd0b['joins']);for(var _0x2c68d3=0x0;_0x2c68d3<_0x2dbd0b[_0x2bde('0x79')]['length'];_0x2c68d3+=0x1){if(_0x2dbd0b['joins'][_0x2c68d3][_0x2bde('0x2e')]&&_['includes'](_0x53a288,_0x2dbd0b[_0x2bde('0x79')][_0x2c68d3]['type'])&&_0x2dbd0b[_0x2bde('0x79')][_0x2c68d3][_0x2bde('0x7b')]&&_0x2dbd0b[_0x2bde('0x79')][_0x2c68d3]['foreignTable']&&_0x2dbd0b[_0x2bde('0x79')][_0x2c68d3][_0x2bde('0x7c')]){_0x5dec44[_0x2dbd0b[_0x2bde('0x79')][_0x2c68d3][_0x2bde('0x2e')]](_0x2dbd0b[_0x2bde('0x79')][_0x2c68d3][_0x2bde('0x7d')],null,util[_0x2bde('0x75')](_0x2bde('0x7e'),_0x2dbd0b[_0x2bde('0x71')],_0x2dbd0b[_0x2bde('0x79')][_0x2c68d3][_0x2bde('0x7b')],_0x2dbd0b['joins'][_0x2c68d3][_0x2bde('0x7d')],_0x2dbd0b['joins'][_0x2c68d3][_0x2bde('0x7c')]));}}}if(_0x2dbd0b[_0x2bde('0x7f')]){_0x2dbd0b['conditions']=JSON[_0x2bde('0x7a')](_0x2dbd0b[_0x2bde('0x7f')]);_0x5dec44['where'](_0x2d51fb(_0x2dbd0b[_0x2bde('0x7f')][_0x2bde('0x76')]));}_0x6ae1c4=_0x5dec44[_0x2bde('0x80')]();_0x5dec44[_0x2bde('0x1d')](_0x2608b2);_0x5dec44[_0x2bde('0x1c')](0x0);logger[_0x2bde('0x81')](_0x2bde('0x82'),_0x5dec44[_0x2bde('0x83')]());return db[_0x2bde('0x84')]['query'](_0x5dec44[_0x2bde('0x83')](),{'type':db[_0x2bde('0x84')][_0x2bde('0x85')][_0x2bde('0x86')]});}})[_0x2bde('0x23')](respondWithResult(_0x326419,null))[_0x2bde('0x4b')](handleError(_0x326419,null));};function runReport(_0x422fd3,_0x4caf7,_0x1efa95){var _0x553547=_0x4caf7['name'];var _0x2f0ab1=0xa;var _0x26c620=[_0x2bde('0x4f'),_0x2bde('0x50'),'right_join',_0x2bde('0x52')];var _0x945c19={'SUM':_0x2bde('0x53'),'COUNT':_0x2bde('0x54'),'COUNT DISTINCT':'COUNT(DISTINCT\x20%s)','MAX':_0x2bde('0x56'),'MIN':_0x2bde('0x57'),'AVG':_0x2bde('0x58'),'GROUP_CONCAT':'GROUP_CONCAT(%s)','GROUP_CONCAT ASC':_0x2bde('0x5a'),'GROUP_CONCAT DESC':_0x2bde('0x5b')};var _0x9da170={'SEC_TO_TIME':_0x2bde('0x5c'),'DATE':_0x2bde('0x5d'),'HOUR':_0x2bde('0x5e'),'ROUND':'ROUND(%s)','UNIX_TIMESTAMP':_0x2bde('0x5f')};var _0x4964de=function(_0x2d6e24){return!_[_0x2bde('0x60')]([_0x2bde('0x61'),_0x2bde('0x62'),'IS\x20EMPTY',_0x2bde('0x64')],_0x2d6e24);};var _0x57515b=function(_0x591541){if(!_0x591541||!_0x591541[_0x2bde('0x66')]['length']){return'';}for(var _0x341fb3='(',_0x407643=0x0;_0x407643<_0x591541[_0x2bde('0x66')][_0x2bde('0x35')];_0x407643+=0x1){_0x407643>0x0&&(_0x341fb3+='\x20'+_0x591541[_0x2bde('0x65')]+'\x20');_0x341fb3+=_0x591541['rules'][_0x407643][_0x2bde('0x76')]?_0x57515b(_0x591541[_0x2bde('0x66')][_0x407643]['group']):_0x591541[_0x2bde('0x66')][_0x407643][_0x2bde('0x67')]+'\x20'+_0x591541[_0x2bde('0x66')][_0x407643][_0x2bde('0x68')]+(_0x4964de(_0x591541[_0x2bde('0x66')][_0x407643][_0x2bde('0x68')])?'\x20'+_0x591541[_0x2bde('0x66')][_0x407643]['value']:'');}return _0x341fb3+')';};var _0xe1e9f3={'where':{'id':_0x422fd3['id']}},_0x2b7c66,_0x4877a9,_0xd243e6,_0x2e6dcc,_0x41057a;_0xe1e9f3=_['merge']({},_0xe1e9f3,_0x1efa95);return db[_0x2bde('0x2b')][_0x2bde('0x42')](_0xe1e9f3)[_0x2bde('0x23')](function(_0x258939){if(_0x258939){_0x2b7c66=_0x258939;return _0x258939[_0x2bde('0x6a')]();}return null;})[_0x2bde('0x23')](function(_0x234dc9){if(_0x234dc9){if(!_0x234dc9[_0x2bde('0x35')]){throw new db[(_0x2bde('0x6b'))][(_0x2bde('0x6c'))](_0x2bde('0x6d'),0x193);}_0x4877a9=_0x234dc9;return db['AnalyticMetric'][_0x2bde('0x40')]({'raw':!![]});}return null;})['then'](function(_0x2d0a57){if(_0x2d0a57){_0xd243e6=_[_0x2bde('0x87')](_0x2d0a57,'id');var _0x2f77b2;var _0x2c475a=squel['select']();_0x2c475a[_0x2bde('0x70')](_0x2b7c66['table']);for(var _0x2dc21e=0x0;_0x2dc21e<_0x4877a9[_0x2bde('0x35')];_0x2dc21e+=0x1){_0x2f77b2=_0x4877a9[_0x2dc21e][_0x2bde('0x72')]?_0xd243e6[_0x4877a9[_0x2dc21e][_0x2bde('0x72')]][_0x2bde('0x88')]:_0x4877a9[_0x2dc21e][_0x2bde('0x67')];_0x2f77b2=_0x4877a9[_0x2dc21e]['function']?_['replace'](_0x945c19[_0x4877a9[_0x2dc21e][_0x2bde('0x73')]],'%s',_0x2f77b2):_0x2f77b2;_0x2f77b2=_0x4877a9[_0x2dc21e][_0x2bde('0x75')]?_[_0x2bde('0x74')](_0x9da170[_0x4877a9[_0x2dc21e][_0x2bde('0x75')]],'%s',_0x2f77b2):_0x2f77b2;if(_0x4877a9[_0x2dc21e][_0x2bde('0x89')]){_0x2c475a[_0x2bde('0x76')](_0x2f77b2);}_0x4877a9[_0x2dc21e][_0x2bde('0x8a')]&&_0x2c475a[_0x2bde('0x39')](_0x2f77b2,_0x4877a9[_0x2dc21e]['orderBy']===_0x2bde('0x77')?![]:!![]);_0x2c475a['field'](_0x2f77b2,_0x4877a9[_0x2dc21e][_0x2bde('0x78')]||_0x2f77b2);}if(_0x2b7c66[_0x2bde('0x79')]){_0x2b7c66[_0x2bde('0x79')]=JSON['parse'](_0x2b7c66['joins']);for(var _0x2d9dff=0x0;_0x2d9dff<_0x2b7c66[_0x2bde('0x79')][_0x2bde('0x35')];_0x2d9dff+=0x1){if(_0x2b7c66[_0x2bde('0x79')][_0x2d9dff][_0x2bde('0x2e')]&&_['includes'](_0x26c620,_0x2b7c66[_0x2bde('0x79')][_0x2d9dff][_0x2bde('0x2e')])&&_0x2b7c66['joins'][_0x2d9dff][_0x2bde('0x7b')]&&_0x2b7c66[_0x2bde('0x79')][_0x2d9dff][_0x2bde('0x7d')]&&_0x2b7c66['joins'][_0x2d9dff][_0x2bde('0x7c')]){_0x2c475a[_0x2b7c66[_0x2bde('0x79')][_0x2d9dff][_0x2bde('0x2e')]](_0x2b7c66['joins'][_0x2d9dff][_0x2bde('0x7d')],null,util[_0x2bde('0x75')]('%s.%s\x20=\x20%s.%s',_0x2b7c66[_0x2bde('0x71')],_0x2b7c66[_0x2bde('0x79')][_0x2d9dff][_0x2bde('0x7b')],_0x2b7c66['joins'][_0x2d9dff]['foreignTable'],_0x2b7c66[_0x2bde('0x79')][_0x2d9dff][_0x2bde('0x7c')]));}}}if(_0x2b7c66[_0x2bde('0x7f')]){_0x2b7c66['conditions']=JSON[_0x2bde('0x7a')](_0x2b7c66['conditions']);_0x2c475a[_0x2bde('0x3b')](_0x57515b(_0x2b7c66[_0x2bde('0x7f')][_0x2bde('0x76')]));}_0x41057a=_0x2c475a[_0x2bde('0x80')]();_0x2c475a[_0x2bde('0x1d')](_0x2f0ab1);_0x2c475a[_0x2bde('0x1c')](0x0);logger[_0x2bde('0x81')](_0x2bde('0x82'),_0x2c475a[_0x2bde('0x83')]());return db[_0x2bde('0x84')][_0x2bde('0x2f')](_0x2c475a['toString'](),{'type':db[_0x2bde('0x84')][_0x2bde('0x85')]['SELECT']});}})[_0x2bde('0x23')](function(_0x346530){if(!_0x346530[_0x2bde('0x35')]){throw new db['Sequelize'][(_0x2bde('0x6c'))](_0x2bde('0x8b'),0xcc);}if(_0x4caf7[_0x2bde('0x8c')]===_0x2bde('0x8d')){return null;}var _0xea8af6=_[_0x2bde('0x3d')](_0x4caf7,{'name':_0x4caf7[_0x2bde('0x8e')]||_0x4caf7['name']||_0x2b7c66[_0x2bde('0x27')],'basename':_0x553547,'savename':util['format'](_0x2bde('0x8f'),_0x4caf7[_0x2bde('0x27')]||_0x2b7c66[_0x2bde('0x27')],require(_0x2bde('0x90'))[_0x2bde('0x91')](0x4),_0x4caf7[_0x2bde('0x8c')]||_0x2bde('0x92')),'reportId':_0x2b7c66['id'],'reportType':_0x2bde('0x93')});return db[_0x2bde('0x94')]['create'](_0xea8af6,{'raw':!![]});})[_0x2bde('0x23')](function(_0x577379){if(_0x2b7c66['table']===_0x2bde('0x95')){_0x41057a[_0x2bde('0x3b')](_0x2b7c66[_0x2bde('0x71')]+_0x2bde('0x96'),_0x4caf7[_0x2bde('0x97')],_0x4caf7['endDate']);}else{_0x41057a[_0x2bde('0x3b')](_0x2b7c66[_0x2bde('0x71')]+'.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0x4caf7[_0x2bde('0x97')],_0x4caf7['endDate']);}if(_0x577379){logger[_0x2bde('0x98')]('Run\x20Query:',_0x41057a[_0x2bde('0x83')]());require(_0x2bde('0x99'))['fork'](path[_0x2bde('0x4f')](__dirname,_0x2bde('0x9a'),_0x577379[_0x2bde('0x8c')]),[_0x577379['id'],_0x41057a[_0x2bde('0x83')](),path[_0x2bde('0x4f')](__dirname,_0x2bde('0x9b'),_0x577379['savename']),_0x553547]);return _0x577379;}else{var _0x2251ce=squel[_0x2bde('0x6f')]();_0x2251ce[_0x2bde('0x70')]('('+_0x41057a[_0x2bde('0x83')]()+')',_0x2bde('0x9c'));_0x2251ce[_0x2bde('0x67')](_0x2bde('0x9d'),_0x2bde('0x1b'));_0x41057a[_0x2bde('0x1d')](_0x4caf7['limit']||_0x2f0ab1);_0x41057a[_0x2bde('0x1c')](_0x4caf7[_0x2bde('0x1c')]||0x0);return dbH[_0x2bde('0x84')][_0x2bde('0x2f')](_0x2251ce[_0x2bde('0x83')](),{'type':dbH[_0x2bde('0x84')]['QueryTypes']['SELECT']})[_0x2bde('0x23')](function(_0x45f1f1){if(!_0x45f1f1[_0x2bde('0x35')]){_0x2e6dcc=0x0;}else{_0x2e6dcc=_0x45f1f1[0x0][_0x2bde('0x1b')]||0x0;}return dbH[_0x2bde('0x84')][_0x2bde('0x2f')](_0x41057a['toString'](),{'type':dbH[_0x2bde('0x84')]['QueryTypes'][_0x2bde('0x86')]});})[_0x2bde('0x23')](function(_0xf19df8){return{'rows':_0xf19df8||[],'count':_0x2e6dcc};});}});}exports[_0x2bde('0x9e')]=function(_0x51e3ab,_0xfb5f38){return runReport(_0x51e3ab[_0x2bde('0x4d')],_0x51e3ab[_0x2bde('0x2f')],_0x51e3ab[_0x2bde('0x3e')])[_0x2bde('0x23')](respondWithResult(_0xfb5f38,null))[_0x2bde('0x4b')](handleError(_0xfb5f38,null));};exports[_0x2bde('0x9f')]=runReport;exports['query']=function(_0x1ea113,_0x422bb7){var _0x9c927d=0xa;var _0x4005c0=[_0x2bde('0x4f'),'left_join',_0x2bde('0x51'),'cross_join'];var _0x4f81dd={'SUM':'SUM(%s)','COUNT':_0x2bde('0x54'),'COUNT DISTINCT':'COUNT(DISTINCT\x20%s)','MAX':_0x2bde('0x56'),'MIN':_0x2bde('0x57'),'AVG':_0x2bde('0x58'),'GROUP_CONCAT':'GROUP_CONCAT(%s)','GROUP_CONCAT ASC':_0x2bde('0x5a'),'GROUP_CONCAT DESC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)'};var _0x469316={'SEC_TO_TIME':'SEC_TO_TIME(%s)','DATE':'DATE(%s)','HOUR':_0x2bde('0x5e'),'ROUND':_0x2bde('0xa0'),'UNIX_TIMESTAMP':_0x2bde('0x5f')};var _0x313a53=function(_0x573de4){return!_['includes']([_0x2bde('0x61'),'IS\x20NOT\x20NULL',_0x2bde('0x63'),_0x2bde('0x64')],_0x573de4);};var _0x1db77f=function(_0x1a5c57){if(!_0x1a5c57||!_0x1a5c57[_0x2bde('0x66')]['length']){return'';}for(var _0x39fab3='(',_0x8d0393=0x0;_0x8d0393<_0x1a5c57['rules']['length'];_0x8d0393+=0x1){_0x8d0393>0x0&&(_0x39fab3+='\x20'+_0x1a5c57['operator']+'\x20');_0x39fab3+=_0x1a5c57[_0x2bde('0x66')][_0x8d0393][_0x2bde('0x76')]?_0x1db77f(_0x1a5c57[_0x2bde('0x66')][_0x8d0393][_0x2bde('0x76')]):_0x1a5c57[_0x2bde('0x66')][_0x8d0393][_0x2bde('0x67')]+'\x20'+_0x1a5c57[_0x2bde('0x66')][_0x8d0393][_0x2bde('0x68')]+(_0x313a53(_0x1a5c57[_0x2bde('0x66')][_0x8d0393]['condition'])?'\x20'+_0x1a5c57[_0x2bde('0x66')][_0x8d0393]['value']:'');}return _0x39fab3+')';};var _0x39dc68={'where':{'id':_0x1ea113['params']['id']}},_0x2c98bc,_0x14fa49,_0x13fd0d,_0x58e3cd,_0x2d3bc5;_0x39dc68=_[_0x2bde('0x3d')]({},_0x39dc68,_0x1ea113[_0x2bde('0x3e')]);return db[_0x2bde('0x2b')]['find'](_0x39dc68)['then'](function(_0x251cc6){if(_0x251cc6){_0x2c98bc=_0x251cc6;return _0x251cc6[_0x2bde('0x6a')]();}return null;})[_0x2bde('0x23')](function(_0x3523fe){if(_0x3523fe){if(!_0x3523fe[_0x2bde('0x35')]){throw new db[(_0x2bde('0x6b'))][(_0x2bde('0x6c'))](_0x2bde('0x6d'),0x193);}_0x14fa49=_0x3523fe;return db[_0x2bde('0x6e')][_0x2bde('0x40')]({'raw':!![]});}return null;})[_0x2bde('0x23')](function(_0x9f7a02){if(_0x9f7a02){_0x13fd0d=_[_0x2bde('0x87')](_0x9f7a02,'id');var _0xadbdd0;var _0xc4efdc=squel[_0x2bde('0x6f')]();_0xc4efdc['from'](_0x2c98bc[_0x2bde('0x71')]);for(var _0x1be560=0x0;_0x1be560<_0x14fa49[_0x2bde('0x35')];_0x1be560+=0x1){_0xadbdd0=_0x14fa49[_0x1be560][_0x2bde('0x72')]?_0x13fd0d[_0x14fa49[_0x1be560][_0x2bde('0x72')]][_0x2bde('0x88')]:_0x14fa49[_0x1be560][_0x2bde('0x67')];_0xadbdd0=_0x14fa49[_0x1be560][_0x2bde('0x73')]?_[_0x2bde('0x74')](_0x4f81dd[_0x14fa49[_0x1be560]['function']],'%s',_0xadbdd0):_0xadbdd0;_0xadbdd0=_0x14fa49[_0x1be560][_0x2bde('0x75')]?_['replace'](_0x469316[_0x14fa49[_0x1be560]['format']],'%s',_0xadbdd0):_0xadbdd0;if(_0x14fa49[_0x1be560][_0x2bde('0x89')]){_0xc4efdc[_0x2bde('0x76')](_0xadbdd0);}_0x14fa49[_0x1be560][_0x2bde('0x8a')]&&_0xc4efdc['order'](_0xadbdd0,_0x14fa49[_0x1be560][_0x2bde('0x8a')]===_0x2bde('0x77')?![]:!![]);_0xc4efdc[_0x2bde('0x67')](_0xadbdd0,_0x14fa49[_0x1be560][_0x2bde('0x78')]||_0xadbdd0);}if(_0x2c98bc[_0x2bde('0x79')]){_0x2c98bc[_0x2bde('0x79')]=JSON[_0x2bde('0x7a')](_0x2c98bc[_0x2bde('0x79')]);for(var _0x412a2a=0x0;_0x412a2a<_0x2c98bc[_0x2bde('0x79')][_0x2bde('0x35')];_0x412a2a+=0x1){if(_0x2c98bc[_0x2bde('0x79')][_0x412a2a][_0x2bde('0x2e')]&&_['includes'](_0x4005c0,_0x2c98bc[_0x2bde('0x79')][_0x412a2a][_0x2bde('0x2e')])&&_0x2c98bc[_0x2bde('0x79')][_0x412a2a]['parentKey']&&_0x2c98bc[_0x2bde('0x79')][_0x412a2a][_0x2bde('0x7d')]&&_0x2c98bc[_0x2bde('0x79')][_0x412a2a]['foreignKey']){_0xc4efdc[_0x2c98bc[_0x2bde('0x79')][_0x412a2a]['type']](_0x2c98bc[_0x2bde('0x79')][_0x412a2a][_0x2bde('0x7d')],null,util['format'](_0x2bde('0x7e'),_0x2c98bc[_0x2bde('0x71')],_0x2c98bc[_0x2bde('0x79')][_0x412a2a][_0x2bde('0x7b')],_0x2c98bc[_0x2bde('0x79')][_0x412a2a][_0x2bde('0x7d')],_0x2c98bc['joins'][_0x412a2a][_0x2bde('0x7c')]));}}}if(_0x2c98bc[_0x2bde('0x7f')]){_0x2c98bc[_0x2bde('0x7f')]=JSON['parse'](_0x2c98bc['conditions']);_0xc4efdc['where'](_0x1db77f(_0x2c98bc['conditions']['group']));}_0x2d3bc5=_0xc4efdc[_0x2bde('0x80')]();_0xc4efdc[_0x2bde('0x1d')](_0x9c927d);_0xc4efdc[_0x2bde('0x1c')](0x0);logger['debug'](_0x2bde('0x82'),_0xc4efdc[_0x2bde('0x83')]());return db[_0x2bde('0x84')]['query'](_0xc4efdc[_0x2bde('0x83')](),{'type':db[_0x2bde('0x84')][_0x2bde('0x85')]['SELECT']});}})[_0x2bde('0x23')](function(){return{'sql':_0x2d3bc5['toString']()};})[_0x2bde('0x23')](respondWithResult(_0x422bb7,null))[_0x2bde('0x4b')](handleError(_0x422bb7,null));};