44c288ca1310491b98853f8f9fda86ee2d558e9f
[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 _0xaed4=['../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/license/util','../../mysqldb','dbH','sendStatus','status','end','json','offset','undefined','limit','count','set','apply','reject','save','update','destroy','get','DefaultReports','UserProfileResource','then','error','render','merge','body','contact','message','interaction','account','index','map','fieldName','type','model','name','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filters','filter','VIRTUAL','includeAll','findAll','catch','params','AnalyticDefaultReport','rawAttributes','include','options','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','Reports','userProfileId','preview','join','left_join','SUM(%s)','COUNT(%s)','COUNT(DISTINCT\x20%s)','MIN(%s)','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)','DATE(%s)','HOUR(%s)','ROUND(%s)','UNIX_TIMESTAMP(%s)','includes','IS\x20NOT\x20NULL','IS\x20NOT\x20EMPTY','rules','operator','group','field','condition','value','getFields','Sequelize','ValidationErrorItem','Please\x20insert\x20at\x20least\x20one\x20field','AnalyticMetric','keyBy','select','table','MetricId','metric','function','replace','format','groupBy','orderBy','DESC','alias','joins','parse','foreignTable','foreignKey','%s.%s\x20=\x20%s.%s','conditions','clone','Limited\x20Query:','toString','sequelize','SELECT','cross_join','MAX(%s)','GROUP_CONCAT(%s)','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','SEC_TO_TIME(%s)','IS\x20NULL','IS\x20EMPTY','parentKey','output','web','fullPath','randomstring','generate','AnalyticExtractedReport','cdr','.calldate\x20BETWEEN\x20?\x20AND\x20?','startDate','endDate','.createdAt\x20BETWEEN\x20?\x20AND\x20?','Run\x20Query:','child_process','fork','../../files/reports','from','countTable','COUNT(*)','QueryTypes','run','runReport','AVG(%s)','debug','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','fs-extra','lodash','squel','jsforce','to-csv','querystring','papaparse','../../components/auth/service'];(function(_0x126558,_0x143c9a){var _0x1f6d14=function(_0x2b0eea){while(--_0x2b0eea){_0x126558['push'](_0x126558['shift']());}};_0x1f6d14(++_0x143c9a);}(_0xaed4,0x1e1));var _0x4aed=function(_0x309305,_0x245441){_0x309305=_0x309305-0x0;var _0x576f62=_0xaed4[_0x309305];return _0x576f62;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x4aed('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0x4aed('0x1'));var rp=require(_0x4aed('0x2'));var moment=require(_0x4aed('0x3'));var BPromise=require(_0x4aed('0x4'));var Mustache=require(_0x4aed('0x5'));var util=require(_0x4aed('0x6'));var path=require(_0x4aed('0x7'));var sox=require(_0x4aed('0x8'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x4aed('0x9'));var _=require(_0x4aed('0xa'));var squel=require(_0x4aed('0xb'));var crypto=require('crypto');var jsforce=require(_0x4aed('0xc'));var deskjs=require('desk.js');var toCsv=require(_0x4aed('0xd'));var querystring=require(_0x4aed('0xe'));var Papa=require(_0x4aed('0xf'));var Redis=require('ioredis');var authService=require(_0x4aed('0x10'));var qs=require(_0x4aed('0x11'));var as=require(_0x4aed('0x12'));var hardwareService=require(_0x4aed('0x13'));var logger=require('../../config/logger')(_0x4aed('0x14'));var utils=require(_0x4aed('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0x4aed('0x16'));var db=require(_0x4aed('0x17'))['db'];var dbH=require('../../mysqldb')[_0x4aed('0x18')];function respondWithStatusCode(_0x502cbd,_0x33ccbe){_0x33ccbe=_0x33ccbe||0xcc;return function(_0x13d5b1){if(_0x13d5b1){return _0x502cbd[_0x4aed('0x19')](_0x33ccbe);}return _0x502cbd[_0x4aed('0x1a')](_0x33ccbe)[_0x4aed('0x1b')]();};}function respondWithResult(_0x134d94,_0x4da4c4){_0x4da4c4=_0x4da4c4||0xc8;return function(_0xb46ba6){if(_0xb46ba6){return _0x134d94[_0x4aed('0x1a')](_0x4da4c4)[_0x4aed('0x1c')](_0xb46ba6);}};}function respondWithFilteredResult(_0x5e9daf,_0x23dfcf){return function(_0x5b493c){if(_0x5b493c){var _0x2cee9f=typeof _0x23dfcf[_0x4aed('0x1d')]===_0x4aed('0x1e')&&typeof _0x23dfcf[_0x4aed('0x1f')]===_0x4aed('0x1e');var _0x1214c4=_0x5b493c['count'];var _0x2b9d9f=_0x2cee9f?0x0:_0x23dfcf['offset'];var _0x2c96ad=_0x2cee9f?_0x5b493c[_0x4aed('0x20')]:_0x23dfcf[_0x4aed('0x1d')]+_0x23dfcf['limit'];var _0x4243f6;if(_0x2c96ad>=_0x1214c4){_0x2c96ad=_0x1214c4;_0x4243f6=0xc8;}else{_0x4243f6=0xce;}_0x5e9daf['status'](_0x4243f6);return _0x5e9daf[_0x4aed('0x21')]('Content-Range',_0x2b9d9f+'-'+_0x2c96ad+'/'+_0x1214c4)[_0x4aed('0x1c')](_0x5b493c);}return null;};}function patchUpdates(_0x1a2211){return function(_0x2c0d71){try{jsonpatch[_0x4aed('0x22')](_0x2c0d71,_0x1a2211,!![]);}catch(_0x2982dd){return BPromise[_0x4aed('0x23')](_0x2982dd);}return _0x2c0d71[_0x4aed('0x24')]();};}function saveUpdates(_0x431e01,_0x508dc6){return function(_0x3c63d8){if(_0x3c63d8){return _0x3c63d8[_0x4aed('0x25')](_0x431e01)['then'](function(_0x252cce){return _0x252cce;});}return null;};}function removeEntity(_0x2a83ac,_0x413be0){return function(_0x20e4e9){if(_0x20e4e9){return _0x20e4e9[_0x4aed('0x26')]()['then'](function(){var _0x50a5cc=_0x20e4e9[_0x4aed('0x27')]({'plain':!![]});var _0x2bf68c=_0x4aed('0x28');return db[_0x4aed('0x29')][_0x4aed('0x26')]({'where':{'type':_0x2bf68c,'resourceId':_0x50a5cc['id']}})[_0x4aed('0x2a')](function(){return _0x20e4e9;});})['then'](function(){_0x2a83ac[_0x4aed('0x1a')](0xcc)[_0x4aed('0x1b')]();});}};}function handleEntityNotFound(_0x1ba36c,_0x31e5db){return function(_0x4d7e44){if(!_0x4d7e44){_0x1ba36c[_0x4aed('0x19')](0x194);}return _0x4d7e44;};}function handleError(_0x214b80,_0x3abf76){_0x3abf76=_0x3abf76||0x1f4;return function(_0xd7dc0f){logger[_0x4aed('0x2b')](_0xd7dc0f['stack']);if(_0xd7dc0f['name']){delete _0xd7dc0f['name'];}_0x214b80['status'](_0x3abf76)['send'](_0xd7dc0f);};}function getMustacheRender(_0x29f2e1,_0x332ba4){return Mustache[_0x4aed('0x2c')](_0x29f2e1,_[_0x4aed('0x2d')](_0x332ba4[_0x4aed('0x2e')],{'contact':_0x332ba4[_0x4aed('0x2f')],'message':_0x332ba4[_0x4aed('0x30')],'agent':_0x332ba4['agent'],'interaction':_0x332ba4[_0x4aed('0x31')],'account':_0x332ba4[_0x4aed('0x32')]}))||'';}exports[_0x4aed('0x33')]=function(_0x5d2a60,_0x17c248){var _0x34e3dd={},_0x467b4b={},_0x1fb5bc={'count':0x0,'rows':[]};var _0x110a32=_[_0x4aed('0x34')](db['AnalyticDefaultReport']['rawAttributes'],function(_0x46383f){return{'name':_0x46383f[_0x4aed('0x35')],'type':_0x46383f[_0x4aed('0x36')]['key']};});_0x467b4b[_0x4aed('0x37')]=_[_0x4aed('0x34')](_0x110a32,_0x4aed('0x38'));_0x467b4b[_0x4aed('0x39')]=_[_0x4aed('0x3a')](_0x5d2a60[_0x4aed('0x39')]);_0x467b4b['filters']=_[_0x4aed('0x3b')](_0x467b4b[_0x4aed('0x37')],_0x467b4b['query']);_0x34e3dd[_0x4aed('0x3c')]=_[_0x4aed('0x3b')](_0x467b4b['model'],qs[_0x4aed('0x3d')](_0x5d2a60['query'][_0x4aed('0x3d')]));_0x34e3dd[_0x4aed('0x3c')]=_0x34e3dd[_0x4aed('0x3c')][_0x4aed('0x3e')]?_0x34e3dd['attributes']:_0x467b4b[_0x4aed('0x37')];if(!_0x5d2a60[_0x4aed('0x39')][_0x4aed('0x3f')](_0x4aed('0x40'))){_0x34e3dd[_0x4aed('0x1f')]=qs[_0x4aed('0x1f')](_0x5d2a60[_0x4aed('0x39')][_0x4aed('0x1f')]);_0x34e3dd[_0x4aed('0x1d')]=qs[_0x4aed('0x1d')](_0x5d2a60[_0x4aed('0x39')][_0x4aed('0x1d')]);}_0x34e3dd[_0x4aed('0x41')]=qs['sort'](_0x5d2a60[_0x4aed('0x39')][_0x4aed('0x42')]);_0x34e3dd[_0x4aed('0x43')]=qs['filters'](_[_0x4aed('0x44')](_0x5d2a60[_0x4aed('0x39')],_0x467b4b[_0x4aed('0x45')]),_0x110a32);if(_0x5d2a60[_0x4aed('0x39')][_0x4aed('0x46')]){_0x34e3dd[_0x4aed('0x43')]=_[_0x4aed('0x2d')](_0x34e3dd[_0x4aed('0x43')],{'$or':_[_0x4aed('0x34')](_0x110a32,function(_0x47c3e0){if(_0x47c3e0[_0x4aed('0x36')]!==_0x4aed('0x47')){var _0x340cf0={};_0x340cf0[_0x47c3e0[_0x4aed('0x38')]]={'$like':'%'+_0x5d2a60[_0x4aed('0x39')]['filter']+'%'};return _0x340cf0;}})});}_0x34e3dd=_[_0x4aed('0x2d')]({},_0x34e3dd,_0x5d2a60['options']);var _0x46310c={'where':_0x34e3dd[_0x4aed('0x43')]};return db['AnalyticDefaultReport']['count'](_0x46310c)[_0x4aed('0x2a')](function(_0x4e07b6){_0x1fb5bc[_0x4aed('0x20')]=_0x4e07b6;if(_0x5d2a60[_0x4aed('0x39')][_0x4aed('0x48')]){_0x34e3dd['include']=[{'all':!![]}];}return db['AnalyticDefaultReport'][_0x4aed('0x49')](_0x34e3dd);})[_0x4aed('0x2a')](function(_0x537793){_0x1fb5bc['rows']=_0x537793;return _0x1fb5bc;})[_0x4aed('0x2a')](respondWithFilteredResult(_0x17c248,_0x34e3dd))[_0x4aed('0x4a')](handleError(_0x17c248,null));};exports['show']=function(_0x42eb6d,_0x3cff3c){var _0x3d4bce={'raw':!![],'where':{'id':_0x42eb6d[_0x4aed('0x4b')]['id']}},_0x1a0483={};_0x1a0483['model']=_[_0x4aed('0x3a')](db[_0x4aed('0x4c')][_0x4aed('0x4d')]);_0x1a0483[_0x4aed('0x39')]=_[_0x4aed('0x3a')](_0x42eb6d['query']);_0x1a0483[_0x4aed('0x45')]=_['intersection'](_0x1a0483[_0x4aed('0x37')],_0x1a0483[_0x4aed('0x39')]);_0x3d4bce[_0x4aed('0x3c')]=_[_0x4aed('0x3b')](_0x1a0483[_0x4aed('0x37')],qs[_0x4aed('0x3d')](_0x42eb6d[_0x4aed('0x39')][_0x4aed('0x3d')]));_0x3d4bce['attributes']=_0x3d4bce[_0x4aed('0x3c')]['length']?_0x3d4bce[_0x4aed('0x3c')]:_0x1a0483[_0x4aed('0x37')];if(_0x42eb6d['query']['includeAll']){_0x3d4bce[_0x4aed('0x4e')]=[{'all':!![]}];}_0x3d4bce=_[_0x4aed('0x2d')]({},_0x3d4bce,_0x42eb6d[_0x4aed('0x4f')]);return db[_0x4aed('0x4c')][_0x4aed('0x50')](_0x3d4bce)[_0x4aed('0x2a')](handleEntityNotFound(_0x3cff3c,null))[_0x4aed('0x2a')](respondWithResult(_0x3cff3c,null))['catch'](handleError(_0x3cff3c,null));};exports[_0x4aed('0x51')]=function(_0x1001d6,_0x327c95){return db[_0x4aed('0x4c')][_0x4aed('0x51')](_0x1001d6[_0x4aed('0x2e')],{})['then'](function(_0xf9b145){var _0x179301=_0x1001d6[_0x4aed('0x52')][_0x4aed('0x27')]({'plain':!![]});if(!_0x179301)throw new Error(_0x4aed('0x53'));if(_0x179301['role']===_0x4aed('0x52')){var _0x26a9a1=_0xf9b145[_0x4aed('0x27')]({'plain':!![]});var _0x5cc8a1=_0x4aed('0x54');return db['UserProfileSection'][_0x4aed('0x50')]({'where':{'name':_0x5cc8a1,'userProfileId':_0x179301[_0x4aed('0x55')]},'raw':!![]})['then'](function(_0x7345fd){if(_0x7345fd&&_0x7345fd['autoAssociation']===0x0){return db[_0x4aed('0x29')][_0x4aed('0x51')]({'name':_0x26a9a1[_0x4aed('0x38')],'resourceId':_0x26a9a1['id'],'type':_0x4aed('0x28'),'sectionId':_0x7345fd['id']},{})['then'](function(){return _0xf9b145;});}else{return _0xf9b145;}})['catch'](function(_0x256aee){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x256aee);throw _0x256aee;});}return _0xf9b145;})[_0x4aed('0x2a')](respondWithResult(_0x327c95,0xc9))[_0x4aed('0x4a')](handleError(_0x327c95,null));};exports[_0x4aed('0x25')]=function(_0x497e88,_0x5c4165){if(_0x497e88[_0x4aed('0x2e')]['id']){delete _0x497e88[_0x4aed('0x2e')]['id'];}return db[_0x4aed('0x4c')][_0x4aed('0x50')]({'where':{'id':_0x497e88[_0x4aed('0x4b')]['id']}})[_0x4aed('0x2a')](handleEntityNotFound(_0x5c4165,null))['then'](saveUpdates(_0x497e88[_0x4aed('0x2e')],null))[_0x4aed('0x2a')](respondWithResult(_0x5c4165,null))[_0x4aed('0x4a')](handleError(_0x5c4165,null));};exports['destroy']=function(_0x30536b,_0xe8169b){return db['AnalyticDefaultReport'][_0x4aed('0x50')]({'where':{'id':_0x30536b[_0x4aed('0x4b')]['id']}})[_0x4aed('0x2a')](handleEntityNotFound(_0xe8169b,null))[_0x4aed('0x2a')](removeEntity(_0xe8169b,null))[_0x4aed('0x4a')](handleError(_0xe8169b,null));};exports[_0x4aed('0x56')]=function(_0x50a0bd,_0x1aaadb){var _0x3d58ec=0xa;var _0x308217=[_0x4aed('0x57'),_0x4aed('0x58'),'right_join','cross_join'];var _0x5215fc={'SUM':_0x4aed('0x59'),'COUNT':_0x4aed('0x5a'),'COUNT DISTINCT':_0x4aed('0x5b'),'MAX':'MAX(%s)','MIN':_0x4aed('0x5c'),'AVG':'AVG(%s)','GROUP_CONCAT':'GROUP_CONCAT(%s)','GROUP_CONCAT ASC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','GROUP_CONCAT DESC':_0x4aed('0x5d')};var _0x2ff267={'SEC_TO_TIME':'SEC_TO_TIME(%s)','DATE':_0x4aed('0x5e'),'HOUR':_0x4aed('0x5f'),'ROUND':_0x4aed('0x60'),'UNIX_TIMESTAMP':_0x4aed('0x61')};var _0x566cdd=function(_0x3db027){return!_[_0x4aed('0x62')](['IS\x20NULL',_0x4aed('0x63'),'IS\x20EMPTY',_0x4aed('0x64')],_0x3db027);};var _0x15c7d3=function(_0x34f6c2){if(!_0x34f6c2||!_0x34f6c2[_0x4aed('0x65')][_0x4aed('0x3e')]){return'';}for(var _0x3f7b95='(',_0x485f06=0x0;_0x485f06<_0x34f6c2[_0x4aed('0x65')][_0x4aed('0x3e')];_0x485f06+=0x1){_0x485f06>0x0&&(_0x3f7b95+='\x20'+_0x34f6c2[_0x4aed('0x66')]+'\x20');_0x3f7b95+=_0x34f6c2[_0x4aed('0x65')][_0x485f06][_0x4aed('0x67')]?_0x15c7d3(_0x34f6c2[_0x4aed('0x65')][_0x485f06]['group']):_0x34f6c2[_0x4aed('0x65')][_0x485f06][_0x4aed('0x68')]+'\x20'+_0x34f6c2[_0x4aed('0x65')][_0x485f06][_0x4aed('0x69')]+(_0x566cdd(_0x34f6c2[_0x4aed('0x65')][_0x485f06]['condition'])?'\x20'+_0x34f6c2[_0x4aed('0x65')][_0x485f06][_0x4aed('0x6a')]:'');}return _0x3f7b95+')';};var _0x51dea5={'where':{'id':_0x50a0bd['params']['id']}},_0x3f3551,_0x304650,_0x54218e,_0x31b522,_0x41563e;_0x51dea5=_['merge']({},_0x51dea5,_0x50a0bd[_0x4aed('0x4f')]);return db[_0x4aed('0x4c')]['find'](_0x51dea5)['then'](function(_0x287c70){if(_0x287c70){_0x3f3551=_0x287c70;return _0x287c70[_0x4aed('0x6b')]();}return null;})[_0x4aed('0x2a')](function(_0x89ccdc){if(_0x89ccdc){if(!_0x89ccdc['length']){throw new db[(_0x4aed('0x6c'))][(_0x4aed('0x6d'))](_0x4aed('0x6e'),0x193);}_0x304650=_0x89ccdc;return db[_0x4aed('0x6f')][_0x4aed('0x49')]({'raw':!![]});}return null;})[_0x4aed('0x2a')](function(_0x59d507){if(_0x59d507){_0x54218e=_[_0x4aed('0x70')](_0x59d507,'id');var _0x516ab2;var _0x21859c=squel[_0x4aed('0x71')]();_0x21859c['from'](_0x3f3551[_0x4aed('0x72')]);for(var _0x335973=0x0;_0x335973<_0x304650[_0x4aed('0x3e')];_0x335973+=0x1){_0x516ab2=_0x304650[_0x335973]['MetricId']?_0x54218e[_0x304650[_0x335973][_0x4aed('0x73')]][_0x4aed('0x74')]:_0x304650[_0x335973][_0x4aed('0x68')];_0x516ab2=_0x304650[_0x335973][_0x4aed('0x75')]?_[_0x4aed('0x76')](_0x5215fc[_0x304650[_0x335973]['function']],'%s',_0x516ab2):_0x516ab2;_0x516ab2=_0x304650[_0x335973][_0x4aed('0x77')]?_[_0x4aed('0x76')](_0x2ff267[_0x304650[_0x335973][_0x4aed('0x77')]],'%s',_0x516ab2):_0x516ab2;if(_0x304650[_0x335973][_0x4aed('0x78')]){_0x21859c['group'](_0x516ab2);}_0x304650[_0x335973]['orderBy']&&_0x21859c[_0x4aed('0x41')](_0x516ab2,_0x304650[_0x335973][_0x4aed('0x79')]===_0x4aed('0x7a')?![]:!![]);_0x21859c[_0x4aed('0x68')](_0x516ab2,_0x304650[_0x335973][_0x4aed('0x7b')]||_0x516ab2);}if(_0x3f3551[_0x4aed('0x7c')]){_0x3f3551[_0x4aed('0x7c')]=JSON[_0x4aed('0x7d')](_0x3f3551['joins']);for(var _0x584bc0=0x0;_0x584bc0<_0x3f3551[_0x4aed('0x7c')]['length'];_0x584bc0+=0x1){if(_0x3f3551['joins'][_0x584bc0][_0x4aed('0x36')]&&_['includes'](_0x308217,_0x3f3551[_0x4aed('0x7c')][_0x584bc0][_0x4aed('0x36')])&&_0x3f3551[_0x4aed('0x7c')][_0x584bc0]['parentKey']&&_0x3f3551['joins'][_0x584bc0][_0x4aed('0x7e')]&&_0x3f3551[_0x4aed('0x7c')][_0x584bc0][_0x4aed('0x7f')]){_0x21859c[_0x3f3551['joins'][_0x584bc0][_0x4aed('0x36')]](_0x3f3551[_0x4aed('0x7c')][_0x584bc0][_0x4aed('0x7e')],null,util[_0x4aed('0x77')](_0x4aed('0x80'),_0x3f3551[_0x4aed('0x72')],_0x3f3551[_0x4aed('0x7c')][_0x584bc0]['parentKey'],_0x3f3551[_0x4aed('0x7c')][_0x584bc0][_0x4aed('0x7e')],_0x3f3551[_0x4aed('0x7c')][_0x584bc0][_0x4aed('0x7f')]));}}}if(_0x3f3551['conditions']){_0x3f3551['conditions']=JSON['parse'](_0x3f3551[_0x4aed('0x81')]);_0x21859c[_0x4aed('0x43')](_0x15c7d3(_0x3f3551[_0x4aed('0x81')][_0x4aed('0x67')]));}_0x41563e=_0x21859c[_0x4aed('0x82')]();_0x21859c[_0x4aed('0x1f')](_0x3d58ec);_0x21859c[_0x4aed('0x1d')](0x0);logger['debug'](_0x4aed('0x83'),_0x21859c[_0x4aed('0x84')]());return dbH['sequelize']['query'](_0x21859c[_0x4aed('0x84')](),{'type':dbH[_0x4aed('0x85')]['QueryTypes'][_0x4aed('0x86')]});}})[_0x4aed('0x2a')](respondWithResult(_0x1aaadb,null))['catch'](handleError(_0x1aaadb,null));};function runReport(_0x2d5e90,_0x4a1837,_0x173627){var _0x47a4ea=_0x4a1837['name'];var _0xa50db3=0xa;var _0x3e9e91=[_0x4aed('0x57'),_0x4aed('0x58'),'right_join',_0x4aed('0x87')];var _0x5b4726={'SUM':_0x4aed('0x59'),'COUNT':_0x4aed('0x5a'),'COUNT DISTINCT':_0x4aed('0x5b'),'MAX':_0x4aed('0x88'),'MIN':'MIN(%s)','AVG':'AVG(%s)','GROUP_CONCAT':_0x4aed('0x89'),'GROUP_CONCAT ASC':_0x4aed('0x8a'),'GROUP_CONCAT DESC':_0x4aed('0x5d')};var _0x5229ca={'SEC_TO_TIME':_0x4aed('0x8b'),'DATE':_0x4aed('0x5e'),'HOUR':_0x4aed('0x5f'),'ROUND':_0x4aed('0x60'),'UNIX_TIMESTAMP':'UNIX_TIMESTAMP(%s)'};var _0x56ff21=function(_0xc121f0){return!_[_0x4aed('0x62')]([_0x4aed('0x8c'),_0x4aed('0x63'),_0x4aed('0x8d'),_0x4aed('0x64')],_0xc121f0);};var _0x5f4db6=function(_0x17c23b){if(!_0x17c23b||!_0x17c23b[_0x4aed('0x65')][_0x4aed('0x3e')]){return'';}for(var _0x47d056='(',_0x283e07=0x0;_0x283e07<_0x17c23b['rules']['length'];_0x283e07+=0x1){_0x283e07>0x0&&(_0x47d056+='\x20'+_0x17c23b['operator']+'\x20');_0x47d056+=_0x17c23b['rules'][_0x283e07][_0x4aed('0x67')]?_0x5f4db6(_0x17c23b[_0x4aed('0x65')][_0x283e07][_0x4aed('0x67')]):_0x17c23b[_0x4aed('0x65')][_0x283e07][_0x4aed('0x68')]+'\x20'+_0x17c23b[_0x4aed('0x65')][_0x283e07][_0x4aed('0x69')]+(_0x56ff21(_0x17c23b[_0x4aed('0x65')][_0x283e07][_0x4aed('0x69')])?'\x20'+_0x17c23b['rules'][_0x283e07][_0x4aed('0x6a')]:'');}return _0x47d056+')';};var _0x51d781={'where':{'id':_0x2d5e90['id']}},_0x270860,_0x3bb5c9,_0x5dbe59,_0x49fda5,_0x147f1e;_0x51d781=_[_0x4aed('0x2d')]({},_0x51d781,_0x173627);return db[_0x4aed('0x4c')]['find'](_0x51d781)['then'](function(_0x16298d){if(_0x16298d){_0x270860=_0x16298d;return _0x16298d[_0x4aed('0x6b')]();}return null;})['then'](function(_0x9d9f43){if(_0x9d9f43){if(!_0x9d9f43[_0x4aed('0x3e')]){throw new db['Sequelize'][(_0x4aed('0x6d'))](_0x4aed('0x6e'),0x193);}_0x3bb5c9=_0x9d9f43;return db[_0x4aed('0x6f')][_0x4aed('0x49')]({'raw':!![]});}return null;})[_0x4aed('0x2a')](function(_0x5240d9){if(_0x5240d9){_0x5dbe59=_[_0x4aed('0x70')](_0x5240d9,'id');var _0x47ba9c;var _0x3dc1a6=squel[_0x4aed('0x71')]();_0x3dc1a6['from'](_0x270860[_0x4aed('0x72')]);for(var _0x3b0443=0x0;_0x3b0443<_0x3bb5c9['length'];_0x3b0443+=0x1){_0x47ba9c=_0x3bb5c9[_0x3b0443]['MetricId']?_0x5dbe59[_0x3bb5c9[_0x3b0443][_0x4aed('0x73')]][_0x4aed('0x74')]:_0x3bb5c9[_0x3b0443][_0x4aed('0x68')];_0x47ba9c=_0x3bb5c9[_0x3b0443]['function']?_[_0x4aed('0x76')](_0x5b4726[_0x3bb5c9[_0x3b0443][_0x4aed('0x75')]],'%s',_0x47ba9c):_0x47ba9c;_0x47ba9c=_0x3bb5c9[_0x3b0443][_0x4aed('0x77')]?_[_0x4aed('0x76')](_0x5229ca[_0x3bb5c9[_0x3b0443][_0x4aed('0x77')]],'%s',_0x47ba9c):_0x47ba9c;if(_0x3bb5c9[_0x3b0443]['groupBy']){_0x3dc1a6[_0x4aed('0x67')](_0x47ba9c);}_0x3bb5c9[_0x3b0443][_0x4aed('0x79')]&&_0x3dc1a6[_0x4aed('0x41')](_0x47ba9c,_0x3bb5c9[_0x3b0443][_0x4aed('0x79')]===_0x4aed('0x7a')?![]:!![]);_0x3dc1a6[_0x4aed('0x68')](_0x47ba9c,_0x3bb5c9[_0x3b0443][_0x4aed('0x7b')]||_0x47ba9c);}if(_0x270860['joins']){_0x270860[_0x4aed('0x7c')]=JSON[_0x4aed('0x7d')](_0x270860[_0x4aed('0x7c')]);for(var _0xc186e=0x0;_0xc186e<_0x270860[_0x4aed('0x7c')]['length'];_0xc186e+=0x1){if(_0x270860[_0x4aed('0x7c')][_0xc186e][_0x4aed('0x36')]&&_[_0x4aed('0x62')](_0x3e9e91,_0x270860['joins'][_0xc186e][_0x4aed('0x36')])&&_0x270860[_0x4aed('0x7c')][_0xc186e][_0x4aed('0x8e')]&&_0x270860[_0x4aed('0x7c')][_0xc186e]['foreignTable']&&_0x270860[_0x4aed('0x7c')][_0xc186e][_0x4aed('0x7f')]){_0x3dc1a6[_0x270860['joins'][_0xc186e][_0x4aed('0x36')]](_0x270860[_0x4aed('0x7c')][_0xc186e]['foreignTable'],null,util[_0x4aed('0x77')](_0x4aed('0x80'),_0x270860[_0x4aed('0x72')],_0x270860[_0x4aed('0x7c')][_0xc186e]['parentKey'],_0x270860[_0x4aed('0x7c')][_0xc186e][_0x4aed('0x7e')],_0x270860[_0x4aed('0x7c')][_0xc186e]['foreignKey']));}}}if(_0x270860[_0x4aed('0x81')]){_0x270860[_0x4aed('0x81')]=JSON[_0x4aed('0x7d')](_0x270860[_0x4aed('0x81')]);_0x3dc1a6[_0x4aed('0x43')](_0x5f4db6(_0x270860[_0x4aed('0x81')]['group']));}_0x147f1e=_0x3dc1a6[_0x4aed('0x82')]();_0x3dc1a6['limit'](_0xa50db3);_0x3dc1a6[_0x4aed('0x1d')](0x0);return;}})[_0x4aed('0x2a')](function(){if(_0x4a1837[_0x4aed('0x8f')]===_0x4aed('0x90')){return null;}var _0xbb9f8a=_[_0x4aed('0x2d')](_0x4a1837,{'name':_0x4a1837[_0x4aed('0x91')]||_0x4a1837[_0x4aed('0x38')]||_0x270860[_0x4aed('0x38')],'basename':_0x47a4ea,'savename':util['format']('%s-%s.%s',_0x4a1837[_0x4aed('0x38')]||_0x270860[_0x4aed('0x38')],require(_0x4aed('0x92'))[_0x4aed('0x93')](0x4),_0x4a1837[_0x4aed('0x8f')]||'csv'),'reportId':_0x270860['id'],'reportType':'default'});return db[_0x4aed('0x94')][_0x4aed('0x51')](_0xbb9f8a,{'raw':!![]});})[_0x4aed('0x2a')](function(_0x140705){if(_0x270860[_0x4aed('0x72')]===_0x4aed('0x95')){_0x147f1e[_0x4aed('0x43')](_0x270860[_0x4aed('0x72')]+_0x4aed('0x96'),_0x4a1837[_0x4aed('0x97')],_0x4a1837[_0x4aed('0x98')]);}else{_0x147f1e[_0x4aed('0x43')](_0x270860[_0x4aed('0x72')]+_0x4aed('0x99'),_0x4a1837[_0x4aed('0x97')],_0x4a1837['endDate']);}if(_0x140705){logger['info'](_0x4aed('0x9a'),_0x147f1e[_0x4aed('0x84')]());require(_0x4aed('0x9b'))[_0x4aed('0x9c')](path['join'](__dirname,'../../components/export/',_0x140705['output']),[_0x140705['id'],_0x147f1e['toString'](),path['join'](__dirname,_0x4aed('0x9d'),_0x140705['savename']),_0x47a4ea]);return _0x140705;}else{var _0x2dd907=squel[_0x4aed('0x71')]();_0x2dd907[_0x4aed('0x9e')]('('+_0x147f1e[_0x4aed('0x84')]()+')',_0x4aed('0x9f'));_0x2dd907[_0x4aed('0x68')](_0x4aed('0xa0'),_0x4aed('0x20'));_0x147f1e['limit'](_0x4a1837['limit']||_0xa50db3);_0x147f1e[_0x4aed('0x1d')](_0x4a1837[_0x4aed('0x1d')]||0x0);return dbH['sequelize'][_0x4aed('0x39')](_0x2dd907[_0x4aed('0x84')](),{'type':dbH['sequelize']['QueryTypes'][_0x4aed('0x86')]})['then'](function(_0x46f8f1){if(!_0x46f8f1[_0x4aed('0x3e')]){_0x49fda5=0x0;}else{_0x49fda5=_0x46f8f1[0x0][_0x4aed('0x20')]||0x0;}return dbH['sequelize'][_0x4aed('0x39')](_0x147f1e[_0x4aed('0x84')](),{'type':dbH['sequelize'][_0x4aed('0xa1')][_0x4aed('0x86')]});})[_0x4aed('0x2a')](function(_0x56597d){return{'rows':_0x56597d||[],'count':_0x49fda5};});}});}exports[_0x4aed('0xa2')]=function(_0x4da72b,_0x5eb2df){return runReport(_0x4da72b[_0x4aed('0x4b')],_0x4da72b['query'],_0x4da72b['options'])[_0x4aed('0x2a')](respondWithResult(_0x5eb2df,null))[_0x4aed('0x4a')](handleError(_0x5eb2df,null));};exports[_0x4aed('0xa3')]=runReport;exports[_0x4aed('0x39')]=function(_0x996849,_0xcc5d50){var _0x912ea6=0xa;var _0x5af1af=[_0x4aed('0x57'),_0x4aed('0x58'),'right_join',_0x4aed('0x87')];var _0x2df38b={'SUM':'SUM(%s)','COUNT':'COUNT(%s)','COUNT DISTINCT':_0x4aed('0x5b'),'MAX':_0x4aed('0x88'),'MIN':_0x4aed('0x5c'),'AVG':_0x4aed('0xa4'),'GROUP_CONCAT':'GROUP_CONCAT(%s)','GROUP_CONCAT ASC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','GROUP_CONCAT DESC':_0x4aed('0x5d')};var _0x10fb56={'SEC_TO_TIME':'SEC_TO_TIME(%s)','DATE':_0x4aed('0x5e'),'HOUR':_0x4aed('0x5f'),'ROUND':_0x4aed('0x60'),'UNIX_TIMESTAMP':_0x4aed('0x61')};var _0x3338e9=function(_0x13fc2b){return!_[_0x4aed('0x62')]([_0x4aed('0x8c'),_0x4aed('0x63'),_0x4aed('0x8d'),_0x4aed('0x64')],_0x13fc2b);};var _0x5e5fe7=function(_0x4636ae){if(!_0x4636ae||!_0x4636ae[_0x4aed('0x65')][_0x4aed('0x3e')]){return'';}for(var _0x2f8d42='(',_0x51d96c=0x0;_0x51d96c<_0x4636ae[_0x4aed('0x65')][_0x4aed('0x3e')];_0x51d96c+=0x1){_0x51d96c>0x0&&(_0x2f8d42+='\x20'+_0x4636ae[_0x4aed('0x66')]+'\x20');_0x2f8d42+=_0x4636ae[_0x4aed('0x65')][_0x51d96c]['group']?_0x5e5fe7(_0x4636ae[_0x4aed('0x65')][_0x51d96c]['group']):_0x4636ae[_0x4aed('0x65')][_0x51d96c][_0x4aed('0x68')]+'\x20'+_0x4636ae['rules'][_0x51d96c][_0x4aed('0x69')]+(_0x3338e9(_0x4636ae[_0x4aed('0x65')][_0x51d96c][_0x4aed('0x69')])?'\x20'+_0x4636ae['rules'][_0x51d96c][_0x4aed('0x6a')]:'');}return _0x2f8d42+')';};var _0x4d3656={'where':{'id':_0x996849[_0x4aed('0x4b')]['id']}},_0x4d1644,_0x2734a3,_0x4dcfa6,_0x1e06bd,_0x57d79a;_0x4d3656=_['merge']({},_0x4d3656,_0x996849[_0x4aed('0x4f')]);return db['AnalyticDefaultReport'][_0x4aed('0x50')](_0x4d3656)[_0x4aed('0x2a')](function(_0x3ae0af){if(_0x3ae0af){_0x4d1644=_0x3ae0af;return _0x3ae0af[_0x4aed('0x6b')]();}return null;})[_0x4aed('0x2a')](function(_0x4cbbae){if(_0x4cbbae){if(!_0x4cbbae[_0x4aed('0x3e')]){throw new db[(_0x4aed('0x6c'))][(_0x4aed('0x6d'))](_0x4aed('0x6e'),0x193);}_0x2734a3=_0x4cbbae;return db[_0x4aed('0x6f')][_0x4aed('0x49')]({'raw':!![]});}return null;})[_0x4aed('0x2a')](function(_0x293ca6){if(_0x293ca6){_0x4dcfa6=_['keyBy'](_0x293ca6,'id');var _0x2763c2;var _0x48d9cc=squel['select']();_0x48d9cc['from'](_0x4d1644[_0x4aed('0x72')]);for(var _0x1d4886=0x0;_0x1d4886<_0x2734a3[_0x4aed('0x3e')];_0x1d4886+=0x1){_0x2763c2=_0x2734a3[_0x1d4886][_0x4aed('0x73')]?_0x4dcfa6[_0x2734a3[_0x1d4886][_0x4aed('0x73')]][_0x4aed('0x74')]:_0x2734a3[_0x1d4886][_0x4aed('0x68')];_0x2763c2=_0x2734a3[_0x1d4886][_0x4aed('0x75')]?_[_0x4aed('0x76')](_0x2df38b[_0x2734a3[_0x1d4886][_0x4aed('0x75')]],'%s',_0x2763c2):_0x2763c2;_0x2763c2=_0x2734a3[_0x1d4886][_0x4aed('0x77')]?_[_0x4aed('0x76')](_0x10fb56[_0x2734a3[_0x1d4886][_0x4aed('0x77')]],'%s',_0x2763c2):_0x2763c2;if(_0x2734a3[_0x1d4886][_0x4aed('0x78')]){_0x48d9cc['group'](_0x2763c2);}_0x2734a3[_0x1d4886]['orderBy']&&_0x48d9cc[_0x4aed('0x41')](_0x2763c2,_0x2734a3[_0x1d4886][_0x4aed('0x79')]===_0x4aed('0x7a')?![]:!![]);_0x48d9cc[_0x4aed('0x68')](_0x2763c2,_0x2734a3[_0x1d4886]['alias']||_0x2763c2);}if(_0x4d1644['joins']){_0x4d1644[_0x4aed('0x7c')]=JSON[_0x4aed('0x7d')](_0x4d1644[_0x4aed('0x7c')]);for(var _0x30ead9=0x0;_0x30ead9<_0x4d1644[_0x4aed('0x7c')]['length'];_0x30ead9+=0x1){if(_0x4d1644[_0x4aed('0x7c')][_0x30ead9]['type']&&_['includes'](_0x5af1af,_0x4d1644[_0x4aed('0x7c')][_0x30ead9][_0x4aed('0x36')])&&_0x4d1644[_0x4aed('0x7c')][_0x30ead9]['parentKey']&&_0x4d1644['joins'][_0x30ead9][_0x4aed('0x7e')]&&_0x4d1644[_0x4aed('0x7c')][_0x30ead9][_0x4aed('0x7f')]){_0x48d9cc[_0x4d1644[_0x4aed('0x7c')][_0x30ead9][_0x4aed('0x36')]](_0x4d1644['joins'][_0x30ead9][_0x4aed('0x7e')],null,util[_0x4aed('0x77')](_0x4aed('0x80'),_0x4d1644[_0x4aed('0x72')],_0x4d1644['joins'][_0x30ead9][_0x4aed('0x8e')],_0x4d1644[_0x4aed('0x7c')][_0x30ead9][_0x4aed('0x7e')],_0x4d1644[_0x4aed('0x7c')][_0x30ead9]['foreignKey']));}}}if(_0x4d1644[_0x4aed('0x81')]){_0x4d1644[_0x4aed('0x81')]=JSON[_0x4aed('0x7d')](_0x4d1644[_0x4aed('0x81')]);_0x48d9cc['where'](_0x5e5fe7(_0x4d1644['conditions'][_0x4aed('0x67')]));}_0x57d79a=_0x48d9cc['clone']();_0x48d9cc['limit'](_0x912ea6);_0x48d9cc[_0x4aed('0x1d')](0x0);logger[_0x4aed('0xa5')](_0x4aed('0x83'),_0x48d9cc['toString']());return dbH[_0x4aed('0x85')][_0x4aed('0x39')](_0x48d9cc[_0x4aed('0x84')](),{'type':dbH[_0x4aed('0x85')]['QueryTypes']['SELECT']});}})['then'](function(){return{'sql':_0x57d79a[_0x4aed('0x84')]()};})[_0x4aed('0x2a')](respondWithResult(_0xcc5d50,null))[_0x4aed('0x4a')](handleError(_0xcc5d50,null));};