Built motion from commit (unavailable).|2.5.6
[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 _0x4d42=['select','from','MetricId','field','function','replace','format','groupBy','orderBy','DESC','alias','parse','joins','parentKey','foreignTable','%s.%s\x20=\x20%s.%s','foreignKey','conditions','clone','debug','Limited\x20Query:','toString','sequelize','join','left_join','COUNT(DISTINCT\x20%s)','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)','value','getFields','Sequelize','ValidationErrorItem','table','metric','QueryTypes','SELECT','No\x20available\x20data','output','web','fullPath','%s-%s.%s','randomstring','generate','custom','cdr','.calldate\x20BETWEEN\x20?\x20AND\x20?','endDate','info','Run\x20Query:','child_process','fork','savename','countTable','COUNT(*)','run','runReport','eml-format','zip-dir','request-promise','moment','util','path','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','dbH','status','end','json','count','offset','limit','set','apply','reject','save','update','then','destroy','get','sendStatus','error','stack','name','send','map','AnalyticCustomReport','rawAttributes','fieldName','type','query','keys','filters','intersection','model','fields','attributes','length','hasOwnProperty','order','sort','where','VIRTUAL','merge','options','includeAll','include','findAll','rows','catch','params','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','Reports','userProfileId','autoAssociation','UserProfileResource','CustomReports','preview','right_join','cross_join','COUNT(%s)','MAX(%s)','MIN(%s)','AVG(%s)','GROUP_CONCAT(%s)','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','SEC_TO_TIME(%s)','DATE(%s)','HOUR(%s)','ROUND(%s)','UNIX_TIMESTAMP(%s)','includes','IS\x20NULL','IS\x20EMPTY','IS\x20NOT\x20EMPTY','rules','operator','group','condition','Please\x20insert\x20at\x20least\x20one\x20field','AnalyticMetric','keyBy'];(function(_0x5eed0b,_0x22a2c8){var _0x4c45d8=function(_0x46cf1d){while(--_0x46cf1d){_0x5eed0b['push'](_0x5eed0b['shift']());}};_0x4c45d8(++_0x22a2c8);}(_0x4d42,0x177));var _0x24d4=function(_0x95fc86,_0x41711d){_0x95fc86=_0x95fc86-0x0;var _0x2d5ff4=_0x4d42[_0x95fc86];return _0x2d5ff4;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x24d4('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x24d4('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x24d4('0x2'));var moment=require(_0x24d4('0x3'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x24d4('0x4'));var path=require(_0x24d4('0x5'));var sox=require('sox');var csv=require(_0x24d4('0x6'));var ejs=require(_0x24d4('0x7'));var fs=require('fs');var _=require(_0x24d4('0x8'));var squel=require(_0x24d4('0x9'));var crypto=require(_0x24d4('0xa'));var jsforce=require(_0x24d4('0xb'));var deskjs=require(_0x24d4('0xc'));var toCsv=require(_0x24d4('0x6'));var querystring=require(_0x24d4('0xd'));var Papa=require(_0x24d4('0xe'));var Redis=require(_0x24d4('0xf'));var authService=require(_0x24d4('0x10'));var qs=require(_0x24d4('0x11'));var as=require(_0x24d4('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x24d4('0x13'))(_0x24d4('0x14'));var utils=require(_0x24d4('0x15'));var config=require(_0x24d4('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0x24d4('0x17'))['db'];var dbH=require(_0x24d4('0x17'))[_0x24d4('0x18')];function respondWithStatusCode(_0x267a72,_0x7baf7e){_0x7baf7e=_0x7baf7e||0xcc;return function(_0x350fea){if(_0x350fea){return _0x267a72['sendStatus'](_0x7baf7e);}return _0x267a72[_0x24d4('0x19')](_0x7baf7e)[_0x24d4('0x1a')]();};}function respondWithResult(_0x2c73c2,_0x538aa4){_0x538aa4=_0x538aa4||0xc8;return function(_0x550531){if(_0x550531){return _0x2c73c2[_0x24d4('0x19')](_0x538aa4)[_0x24d4('0x1b')](_0x550531);}};}function respondWithFilteredResult(_0x3d0d93,_0x384176){return function(_0x5841fb){if(_0x5841fb){var _0x1bf8cc=_0x5841fb[_0x24d4('0x1c')],_0x196c23=_0x384176[_0x24d4('0x1d')],_0x3a6997=_0x384176[_0x24d4('0x1d')]+_0x384176[_0x24d4('0x1e')],_0x450976;if(_0x3a6997>=_0x1bf8cc){_0x3a6997=_0x1bf8cc;_0x450976=0xc8;}else{_0x450976=0xce;}_0x3d0d93[_0x24d4('0x19')](_0x450976);return _0x3d0d93[_0x24d4('0x1f')]('Content-Range',_0x196c23+'-'+_0x3a6997+'/'+_0x1bf8cc)[_0x24d4('0x1b')](_0x5841fb);}return null;};}function patchUpdates(_0x49d2b4){return function(_0x2ba599){try{jsonpatch[_0x24d4('0x20')](_0x2ba599,_0x49d2b4,!![]);}catch(_0x2fe879){return BPromise[_0x24d4('0x21')](_0x2fe879);}return _0x2ba599[_0x24d4('0x22')]();};}function saveUpdates(_0x448378,_0x49318f){return function(_0x1c7899){if(_0x1c7899){return _0x1c7899[_0x24d4('0x23')](_0x448378)[_0x24d4('0x24')](function(_0x59b21c){return _0x59b21c;});}return null;};}function removeEntity(_0x380b3e,_0xf306dd){return function(_0x271a6c){if(_0x271a6c){return _0x271a6c[_0x24d4('0x25')]()['then'](function(){var _0x3324d8=_0x271a6c[_0x24d4('0x26')]({'plain':!![]});var _0x3d965e='CustomReports';return db['UserProfileResource'][_0x24d4('0x25')]({'where':{'type':_0x3d965e,'resourceId':_0x3324d8['id']}})['then'](function(){return _0x271a6c;});})[_0x24d4('0x24')](function(){_0x380b3e[_0x24d4('0x19')](0xcc)[_0x24d4('0x1a')]();});}};}function handleEntityNotFound(_0x2ad350,_0x17e7f1){return function(_0x28a1ed){if(!_0x28a1ed){_0x2ad350[_0x24d4('0x27')](0x194);}return _0x28a1ed;};}function handleError(_0x13d503,_0x1c4792){_0x1c4792=_0x1c4792||0x1f4;return function(_0x408950){logger[_0x24d4('0x28')](_0x408950[_0x24d4('0x29')]);if(_0x408950[_0x24d4('0x2a')]){delete _0x408950[_0x24d4('0x2a')];}_0x13d503[_0x24d4('0x19')](_0x1c4792)[_0x24d4('0x2b')](_0x408950);};}exports['index']=function(_0x2d70af,_0x537368){var _0x5be58d={},_0x5649bd={},_0x117704={'count':0x0,'rows':[]};var _0x20300a=_[_0x24d4('0x2c')](db[_0x24d4('0x2d')][_0x24d4('0x2e')],function(_0x1e5a25){return{'name':_0x1e5a25[_0x24d4('0x2f')],'type':_0x1e5a25[_0x24d4('0x30')]['key']};});_0x5649bd['model']=_['map'](_0x20300a,_0x24d4('0x2a'));_0x5649bd[_0x24d4('0x31')]=_[_0x24d4('0x32')](_0x2d70af[_0x24d4('0x31')]);_0x5649bd[_0x24d4('0x33')]=_[_0x24d4('0x34')](_0x5649bd[_0x24d4('0x35')],_0x5649bd[_0x24d4('0x31')]);_0x5be58d['attributes']=_[_0x24d4('0x34')](_0x5649bd['model'],qs['fields'](_0x2d70af[_0x24d4('0x31')][_0x24d4('0x36')]));_0x5be58d['attributes']=_0x5be58d[_0x24d4('0x37')][_0x24d4('0x38')]?_0x5be58d[_0x24d4('0x37')]:_0x5649bd[_0x24d4('0x35')];if(!_0x2d70af[_0x24d4('0x31')][_0x24d4('0x39')]('nolimit')){_0x5be58d['limit']=qs['limit'](_0x2d70af[_0x24d4('0x31')][_0x24d4('0x1e')]);_0x5be58d[_0x24d4('0x1d')]=qs['offset'](_0x2d70af[_0x24d4('0x31')][_0x24d4('0x1d')]);}_0x5be58d[_0x24d4('0x3a')]=qs[_0x24d4('0x3b')](_0x2d70af[_0x24d4('0x31')][_0x24d4('0x3b')]);_0x5be58d[_0x24d4('0x3c')]=qs[_0x24d4('0x33')](_['pick'](_0x2d70af[_0x24d4('0x31')],_0x5649bd[_0x24d4('0x33')]),_0x20300a);if(_0x2d70af[_0x24d4('0x31')]['filter']){_0x5be58d[_0x24d4('0x3c')]=_['merge'](_0x5be58d['where'],{'$or':_[_0x24d4('0x2c')](_0x20300a,function(_0x5cb973){if(_0x5cb973[_0x24d4('0x30')]!==_0x24d4('0x3d')){var _0x1e6435={};_0x1e6435[_0x5cb973[_0x24d4('0x2a')]]={'$like':'%'+_0x2d70af[_0x24d4('0x31')]['filter']+'%'};return _0x1e6435;}})});}_0x5be58d=_[_0x24d4('0x3e')]({},_0x5be58d,_0x2d70af[_0x24d4('0x3f')]);var _0x5daebf={'where':_0x5be58d[_0x24d4('0x3c')]};return db[_0x24d4('0x2d')][_0x24d4('0x1c')](_0x5daebf)[_0x24d4('0x24')](function(_0x287c75){_0x117704['count']=_0x287c75;if(_0x2d70af['query'][_0x24d4('0x40')]){_0x5be58d[_0x24d4('0x41')]=[{'all':!![]}];}return db['AnalyticCustomReport'][_0x24d4('0x42')](_0x5be58d);})['then'](function(_0x409499){_0x117704[_0x24d4('0x43')]=_0x409499;return _0x117704;})[_0x24d4('0x24')](respondWithFilteredResult(_0x537368,_0x5be58d))[_0x24d4('0x44')](handleError(_0x537368,null));};exports['show']=function(_0x558357,_0x3d7e15){var _0x277b0f={'raw':![],'where':{'id':_0x558357[_0x24d4('0x45')]['id']}},_0x15c02e={};_0x15c02e['model']=_['keys'](db[_0x24d4('0x2d')][_0x24d4('0x2e')]);_0x15c02e[_0x24d4('0x31')]=_[_0x24d4('0x32')](_0x558357[_0x24d4('0x31')]);_0x15c02e[_0x24d4('0x33')]=_[_0x24d4('0x34')](_0x15c02e['model'],_0x15c02e[_0x24d4('0x31')]);_0x277b0f[_0x24d4('0x37')]=_[_0x24d4('0x34')](_0x15c02e['model'],qs[_0x24d4('0x36')](_0x558357[_0x24d4('0x31')][_0x24d4('0x36')]));_0x277b0f['attributes']=_0x277b0f[_0x24d4('0x37')][_0x24d4('0x38')]?_0x277b0f[_0x24d4('0x37')]:_0x15c02e[_0x24d4('0x35')];if(_0x558357[_0x24d4('0x31')][_0x24d4('0x40')]){_0x277b0f[_0x24d4('0x41')]=[{'all':!![]}];}_0x277b0f=_['merge']({},_0x277b0f,_0x558357[_0x24d4('0x3f')]);return db['AnalyticCustomReport'][_0x24d4('0x46')](_0x277b0f)['then'](handleEntityNotFound(_0x3d7e15,null))[_0x24d4('0x24')](respondWithResult(_0x3d7e15,null))[_0x24d4('0x44')](handleError(_0x3d7e15,null));};exports[_0x24d4('0x47')]=function(_0x5c8699,_0x3652d4){return db[_0x24d4('0x2d')][_0x24d4('0x47')](_0x5c8699[_0x24d4('0x48')],{})[_0x24d4('0x24')](function(_0x103cb3){var _0x50a604=_0x5c8699[_0x24d4('0x49')][_0x24d4('0x26')]({'plain':!![]});if(!_0x50a604)throw new Error(_0x24d4('0x4a'));if(_0x50a604['role']===_0x24d4('0x49')){var _0x20e3db=_0x103cb3[_0x24d4('0x26')]({'plain':!![]});var _0x51951c=_0x24d4('0x4b');return db['UserProfileSection'][_0x24d4('0x46')]({'where':{'name':_0x51951c,'userProfileId':_0x50a604[_0x24d4('0x4c')]},'raw':!![]})[_0x24d4('0x24')](function(_0x128470){if(_0x128470&&_0x128470[_0x24d4('0x4d')]===0x0){return db[_0x24d4('0x4e')][_0x24d4('0x47')]({'name':_0x20e3db['name'],'resourceId':_0x20e3db['id'],'type':_0x24d4('0x4f'),'sectionId':_0x128470['id']},{})[_0x24d4('0x24')](function(){return _0x103cb3;});}else{return _0x103cb3;}})[_0x24d4('0x44')](function(_0x5b8469){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x5b8469);throw _0x5b8469;});}return _0x103cb3;})[_0x24d4('0x24')](respondWithResult(_0x3652d4,0xc9))['catch'](handleError(_0x3652d4,null));};exports[_0x24d4('0x23')]=function(_0x523e80,_0xdd1964){if(_0x523e80[_0x24d4('0x48')]['id']){delete _0x523e80['body']['id'];}return db['AnalyticCustomReport'][_0x24d4('0x46')]({'where':{'id':_0x523e80['params']['id']}})['then'](handleEntityNotFound(_0xdd1964,null))['then'](saveUpdates(_0x523e80[_0x24d4('0x48')],null))[_0x24d4('0x24')](respondWithResult(_0xdd1964,null))[_0x24d4('0x44')](handleError(_0xdd1964,null));};exports[_0x24d4('0x25')]=function(_0x5eda01,_0x54369a){return db[_0x24d4('0x2d')][_0x24d4('0x46')]({'where':{'id':_0x5eda01[_0x24d4('0x45')]['id']}})['then'](handleEntityNotFound(_0x54369a,null))[_0x24d4('0x24')](removeEntity(_0x54369a,null))[_0x24d4('0x44')](handleError(_0x54369a,null));};exports[_0x24d4('0x50')]=function(_0x4ad529,_0x486742){var _0x53929a=0xa;var _0x5b07d7=['join','left_join',_0x24d4('0x51'),_0x24d4('0x52')];var _0x4096bc={'SUM':'SUM(%s)','COUNT':_0x24d4('0x53'),'COUNT DISTINCT':'COUNT(DISTINCT\x20%s)','MAX':_0x24d4('0x54'),'MIN':_0x24d4('0x55'),'AVG':_0x24d4('0x56'),'GROUP_CONCAT':_0x24d4('0x57'),'GROUP_CONCAT ASC':_0x24d4('0x58'),'GROUP_CONCAT DESC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)'};var _0x301d4e={'SEC_TO_TIME':_0x24d4('0x59'),'DATE':_0x24d4('0x5a'),'HOUR':_0x24d4('0x5b'),'ROUND':_0x24d4('0x5c'),'UNIX_TIMESTAMP':_0x24d4('0x5d')};var _0x16b30f=function(_0x267785){return!_[_0x24d4('0x5e')]([_0x24d4('0x5f'),'IS\x20NOT\x20NULL',_0x24d4('0x60'),_0x24d4('0x61')],_0x267785);};var _0x326df8=function(_0x4c3aa9){if(!_0x4c3aa9||!_0x4c3aa9[_0x24d4('0x62')]['length']){return'';}for(var _0x4ead9c='(',_0x671e59=0x0;_0x671e59<_0x4c3aa9[_0x24d4('0x62')][_0x24d4('0x38')];_0x671e59+=0x1){_0x671e59>0x0&&(_0x4ead9c+='\x20'+_0x4c3aa9[_0x24d4('0x63')]+'\x20');_0x4ead9c+=_0x4c3aa9['rules'][_0x671e59][_0x24d4('0x64')]?_0x326df8(_0x4c3aa9[_0x24d4('0x62')][_0x671e59][_0x24d4('0x64')]):_0x4c3aa9['rules'][_0x671e59]['field']+'\x20'+_0x4c3aa9[_0x24d4('0x62')][_0x671e59][_0x24d4('0x65')]+(_0x16b30f(_0x4c3aa9[_0x24d4('0x62')][_0x671e59][_0x24d4('0x65')])?'\x20'+_0x4c3aa9['rules'][_0x671e59]['value']:'');}return _0x4ead9c+')';};var _0x47e835={'where':{'id':_0x4ad529['params']['id']}},_0x5d1950,_0x1e3c8b,_0x5ce929,_0x49b91b,_0x532ef6;_0x47e835=_['merge']({},_0x47e835,_0x4ad529[_0x24d4('0x3f')]);return db[_0x24d4('0x2d')]['find'](_0x47e835)['then'](function(_0x46f6aa){if(_0x46f6aa){_0x5d1950=_0x46f6aa;return _0x46f6aa['getFields']();}return null;})[_0x24d4('0x24')](function(_0x1a1e5c){if(_0x1a1e5c){if(!_0x1a1e5c[_0x24d4('0x38')]){throw new db['Sequelize']['ValidationErrorItem'](_0x24d4('0x66'),0x193);}_0x1e3c8b=_0x1a1e5c;return db[_0x24d4('0x67')]['findAll']({'raw':!![]});}return null;})[_0x24d4('0x24')](function(_0x1c680a){if(_0x1c680a){_0x5ce929=_[_0x24d4('0x68')](_0x1c680a,'id');var _0x480955;var _0x2db072=squel[_0x24d4('0x69')]();_0x2db072[_0x24d4('0x6a')](_0x5d1950['table']);for(var _0x3eaabb=0x0;_0x3eaabb<_0x1e3c8b[_0x24d4('0x38')];_0x3eaabb+=0x1){_0x480955=_0x1e3c8b[_0x3eaabb][_0x24d4('0x6b')]?_0x5ce929[_0x1e3c8b[_0x3eaabb][_0x24d4('0x6b')]]['metric']:_0x1e3c8b[_0x3eaabb][_0x24d4('0x6c')];_0x480955=_0x1e3c8b[_0x3eaabb][_0x24d4('0x6d')]?_[_0x24d4('0x6e')](_0x4096bc[_0x1e3c8b[_0x3eaabb]['function']],'%s',_0x480955):_0x480955;_0x480955=_0x1e3c8b[_0x3eaabb][_0x24d4('0x6f')]?_[_0x24d4('0x6e')](_0x301d4e[_0x1e3c8b[_0x3eaabb][_0x24d4('0x6f')]],'%s',_0x480955):_0x480955;if(_0x1e3c8b[_0x3eaabb][_0x24d4('0x70')]){_0x2db072[_0x24d4('0x64')](_0x480955);}_0x1e3c8b[_0x3eaabb][_0x24d4('0x71')]&&_0x2db072[_0x24d4('0x3a')](_0x480955,_0x1e3c8b[_0x3eaabb][_0x24d4('0x71')]===_0x24d4('0x72')?![]:!![]);_0x2db072[_0x24d4('0x6c')](_0x480955,_0x1e3c8b[_0x3eaabb][_0x24d4('0x73')]||_0x480955);}if(_0x5d1950['joins']){_0x5d1950['joins']=JSON[_0x24d4('0x74')](_0x5d1950[_0x24d4('0x75')]);for(var _0x351c1d=0x0;_0x351c1d<_0x5d1950[_0x24d4('0x75')][_0x24d4('0x38')];_0x351c1d+=0x1){if(_0x5d1950[_0x24d4('0x75')][_0x351c1d]['type']&&_[_0x24d4('0x5e')](_0x5b07d7,_0x5d1950[_0x24d4('0x75')][_0x351c1d][_0x24d4('0x30')])&&_0x5d1950[_0x24d4('0x75')][_0x351c1d][_0x24d4('0x76')]&&_0x5d1950[_0x24d4('0x75')][_0x351c1d][_0x24d4('0x77')]&&_0x5d1950['joins'][_0x351c1d]['foreignKey']){_0x2db072[_0x5d1950[_0x24d4('0x75')][_0x351c1d][_0x24d4('0x30')]](_0x5d1950[_0x24d4('0x75')][_0x351c1d][_0x24d4('0x77')],null,util[_0x24d4('0x6f')](_0x24d4('0x78'),_0x5d1950['table'],_0x5d1950[_0x24d4('0x75')][_0x351c1d][_0x24d4('0x76')],_0x5d1950['joins'][_0x351c1d][_0x24d4('0x77')],_0x5d1950[_0x24d4('0x75')][_0x351c1d][_0x24d4('0x79')]));}}}if(_0x5d1950[_0x24d4('0x7a')]){_0x5d1950['conditions']=JSON[_0x24d4('0x74')](_0x5d1950[_0x24d4('0x7a')]);_0x2db072['where'](_0x326df8(_0x5d1950[_0x24d4('0x7a')][_0x24d4('0x64')]));}_0x532ef6=_0x2db072[_0x24d4('0x7b')]();_0x2db072[_0x24d4('0x1e')](_0x53929a);_0x2db072[_0x24d4('0x1d')](0x0);logger[_0x24d4('0x7c')](_0x24d4('0x7d'),_0x2db072[_0x24d4('0x7e')]());return db['sequelize'][_0x24d4('0x31')](_0x2db072['toString'](),{'type':db[_0x24d4('0x7f')]['QueryTypes']['SELECT']});}})[_0x24d4('0x24')](respondWithResult(_0x486742,null))[_0x24d4('0x44')](handleError(_0x486742,null));};function runReport(_0x113523,_0x491e06,_0x3346a1){var _0x5e662b=_0x491e06[_0x24d4('0x2a')];var _0x5859c6=0xa;var _0xd60018=[_0x24d4('0x80'),_0x24d4('0x81'),_0x24d4('0x51'),_0x24d4('0x52')];var _0x431bb2={'SUM':'SUM(%s)','COUNT':_0x24d4('0x53'),'COUNT DISTINCT':_0x24d4('0x82'),'MAX':_0x24d4('0x54'),'MIN':_0x24d4('0x55'),'AVG':_0x24d4('0x56'),'GROUP_CONCAT':_0x24d4('0x57'),'GROUP_CONCAT ASC':_0x24d4('0x58'),'GROUP_CONCAT DESC':_0x24d4('0x83')};var _0x43d19a={'SEC_TO_TIME':_0x24d4('0x59'),'DATE':_0x24d4('0x5a'),'HOUR':_0x24d4('0x5b'),'ROUND':'ROUND(%s)','UNIX_TIMESTAMP':_0x24d4('0x5d')};var _0x3a0d95=function(_0x588ec9){return!_[_0x24d4('0x5e')]([_0x24d4('0x5f'),'IS\x20NOT\x20NULL','IS\x20EMPTY',_0x24d4('0x61')],_0x588ec9);};var _0x5392a4=function(_0x88e63b){if(!_0x88e63b||!_0x88e63b[_0x24d4('0x62')]['length']){return'';}for(var _0x17728b='(',_0x22c333=0x0;_0x22c333<_0x88e63b[_0x24d4('0x62')][_0x24d4('0x38')];_0x22c333+=0x1){_0x22c333>0x0&&(_0x17728b+='\x20'+_0x88e63b[_0x24d4('0x63')]+'\x20');_0x17728b+=_0x88e63b[_0x24d4('0x62')][_0x22c333][_0x24d4('0x64')]?_0x5392a4(_0x88e63b[_0x24d4('0x62')][_0x22c333][_0x24d4('0x64')]):_0x88e63b[_0x24d4('0x62')][_0x22c333]['field']+'\x20'+_0x88e63b[_0x24d4('0x62')][_0x22c333][_0x24d4('0x65')]+(_0x3a0d95(_0x88e63b[_0x24d4('0x62')][_0x22c333]['condition'])?'\x20'+_0x88e63b[_0x24d4('0x62')][_0x22c333][_0x24d4('0x84')]:'');}return _0x17728b+')';};var _0x77ddfb={'where':{'id':_0x113523['id']}},_0x43eeb3,_0x9bb31d,_0x152bbd,_0x18886b,_0x59c44d;_0x77ddfb=_[_0x24d4('0x3e')]({},_0x77ddfb,_0x3346a1);return db['AnalyticCustomReport']['find'](_0x77ddfb)[_0x24d4('0x24')](function(_0x146aa1){if(_0x146aa1){_0x43eeb3=_0x146aa1;return _0x146aa1[_0x24d4('0x85')]();}return null;})['then'](function(_0x29fba7){if(_0x29fba7){if(!_0x29fba7[_0x24d4('0x38')]){throw new db[(_0x24d4('0x86'))][(_0x24d4('0x87'))](_0x24d4('0x66'),0x193);}_0x9bb31d=_0x29fba7;return db[_0x24d4('0x67')]['findAll']({'raw':!![]});}return null;})[_0x24d4('0x24')](function(_0x3e485f){if(_0x3e485f){_0x152bbd=_[_0x24d4('0x68')](_0x3e485f,'id');var _0x516139;var _0x4ed529=squel[_0x24d4('0x69')]();_0x4ed529[_0x24d4('0x6a')](_0x43eeb3[_0x24d4('0x88')]);for(var _0x3b74d1=0x0;_0x3b74d1<_0x9bb31d[_0x24d4('0x38')];_0x3b74d1+=0x1){_0x516139=_0x9bb31d[_0x3b74d1]['MetricId']?_0x152bbd[_0x9bb31d[_0x3b74d1][_0x24d4('0x6b')]][_0x24d4('0x89')]:_0x9bb31d[_0x3b74d1][_0x24d4('0x6c')];_0x516139=_0x9bb31d[_0x3b74d1]['function']?_['replace'](_0x431bb2[_0x9bb31d[_0x3b74d1]['function']],'%s',_0x516139):_0x516139;_0x516139=_0x9bb31d[_0x3b74d1][_0x24d4('0x6f')]?_[_0x24d4('0x6e')](_0x43d19a[_0x9bb31d[_0x3b74d1]['format']],'%s',_0x516139):_0x516139;if(_0x9bb31d[_0x3b74d1]['groupBy']){_0x4ed529[_0x24d4('0x64')](_0x516139);}_0x9bb31d[_0x3b74d1][_0x24d4('0x71')]&&_0x4ed529[_0x24d4('0x3a')](_0x516139,_0x9bb31d[_0x3b74d1][_0x24d4('0x71')]===_0x24d4('0x72')?![]:!![]);_0x4ed529[_0x24d4('0x6c')](_0x516139,_0x9bb31d[_0x3b74d1][_0x24d4('0x73')]||_0x516139);}if(_0x43eeb3[_0x24d4('0x75')]){_0x43eeb3['joins']=JSON[_0x24d4('0x74')](_0x43eeb3[_0x24d4('0x75')]);for(var _0x6c415c=0x0;_0x6c415c<_0x43eeb3[_0x24d4('0x75')][_0x24d4('0x38')];_0x6c415c+=0x1){if(_0x43eeb3[_0x24d4('0x75')][_0x6c415c][_0x24d4('0x30')]&&_[_0x24d4('0x5e')](_0xd60018,_0x43eeb3[_0x24d4('0x75')][_0x6c415c][_0x24d4('0x30')])&&_0x43eeb3[_0x24d4('0x75')][_0x6c415c][_0x24d4('0x76')]&&_0x43eeb3[_0x24d4('0x75')][_0x6c415c][_0x24d4('0x77')]&&_0x43eeb3[_0x24d4('0x75')][_0x6c415c][_0x24d4('0x79')]){_0x4ed529[_0x43eeb3[_0x24d4('0x75')][_0x6c415c][_0x24d4('0x30')]](_0x43eeb3[_0x24d4('0x75')][_0x6c415c][_0x24d4('0x77')],null,util['format']('%s.%s\x20=\x20%s.%s',_0x43eeb3[_0x24d4('0x88')],_0x43eeb3[_0x24d4('0x75')][_0x6c415c][_0x24d4('0x76')],_0x43eeb3[_0x24d4('0x75')][_0x6c415c][_0x24d4('0x77')],_0x43eeb3['joins'][_0x6c415c][_0x24d4('0x79')]));}}}if(_0x43eeb3[_0x24d4('0x7a')]){_0x43eeb3[_0x24d4('0x7a')]=JSON['parse'](_0x43eeb3[_0x24d4('0x7a')]);_0x4ed529[_0x24d4('0x3c')](_0x5392a4(_0x43eeb3[_0x24d4('0x7a')][_0x24d4('0x64')]));}_0x59c44d=_0x4ed529['clone']();_0x4ed529['limit'](_0x5859c6);_0x4ed529[_0x24d4('0x1d')](0x0);logger[_0x24d4('0x7c')](_0x24d4('0x7d'),_0x4ed529[_0x24d4('0x7e')]());return db[_0x24d4('0x7f')][_0x24d4('0x31')](_0x4ed529[_0x24d4('0x7e')](),{'type':db['sequelize'][_0x24d4('0x8a')][_0x24d4('0x8b')]});}})[_0x24d4('0x24')](function(_0x25ab90){if(!_0x25ab90[_0x24d4('0x38')]){throw new db[(_0x24d4('0x86'))][(_0x24d4('0x87'))](_0x24d4('0x8c'),0xcc);}if(_0x491e06[_0x24d4('0x8d')]===_0x24d4('0x8e')){return null;}var _0x2655e8=_['merge'](_0x491e06,{'name':_0x491e06[_0x24d4('0x8f')]||_0x491e06[_0x24d4('0x2a')]||_0x43eeb3['name'],'basename':_0x5e662b,'savename':util[_0x24d4('0x6f')](_0x24d4('0x90'),_0x491e06[_0x24d4('0x2a')]||_0x43eeb3[_0x24d4('0x2a')],require(_0x24d4('0x91'))[_0x24d4('0x92')](0x4),_0x491e06['output']||'csv'),'reportId':_0x43eeb3['id'],'reportType':_0x24d4('0x93')});return db['AnalyticExtractedReport'][_0x24d4('0x47')](_0x2655e8,{'raw':!![]});})[_0x24d4('0x24')](function(_0x198847){if(_0x43eeb3[_0x24d4('0x88')]===_0x24d4('0x94')){_0x59c44d[_0x24d4('0x3c')](_0x43eeb3[_0x24d4('0x88')]+_0x24d4('0x95'),_0x491e06['startDate'],_0x491e06['endDate']);}else{_0x59c44d[_0x24d4('0x3c')](_0x43eeb3[_0x24d4('0x88')]+'.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0x491e06['startDate'],_0x491e06[_0x24d4('0x96')]);}if(_0x198847){logger[_0x24d4('0x97')](_0x24d4('0x98'),_0x59c44d['toString']());require(_0x24d4('0x99'))[_0x24d4('0x9a')](path[_0x24d4('0x80')](__dirname,'../../components/export/',_0x198847[_0x24d4('0x8d')]),[_0x198847['id'],_0x59c44d['toString'](),path['join'](__dirname,'../../files/reports',_0x198847[_0x24d4('0x9b')]),_0x5e662b]);return _0x198847;}else{var _0x4f2bea=squel[_0x24d4('0x69')]();_0x4f2bea[_0x24d4('0x6a')]('('+_0x59c44d[_0x24d4('0x7e')]()+')',_0x24d4('0x9c'));_0x4f2bea[_0x24d4('0x6c')](_0x24d4('0x9d'),_0x24d4('0x1c'));_0x59c44d[_0x24d4('0x1e')](_0x491e06['limit']||_0x5859c6);_0x59c44d[_0x24d4('0x1d')](_0x491e06[_0x24d4('0x1d')]||0x0);return dbH['sequelize'][_0x24d4('0x31')](_0x4f2bea[_0x24d4('0x7e')](),{'type':dbH['sequelize']['QueryTypes'][_0x24d4('0x8b')]})[_0x24d4('0x24')](function(_0x2495b3){if(!_0x2495b3['length']){_0x18886b=0x0;}else{_0x18886b=_0x2495b3[0x0]['count']||0x0;}return dbH[_0x24d4('0x7f')][_0x24d4('0x31')](_0x59c44d['toString'](),{'type':dbH[_0x24d4('0x7f')][_0x24d4('0x8a')][_0x24d4('0x8b')]});})[_0x24d4('0x24')](function(_0x1ab8a7){return{'rows':_0x1ab8a7||[],'count':_0x18886b};});}});}exports[_0x24d4('0x9e')]=function(_0x180d55,_0x47b000){return runReport(_0x180d55['params'],_0x180d55[_0x24d4('0x31')],_0x180d55[_0x24d4('0x3f')])[_0x24d4('0x24')](respondWithResult(_0x47b000,null))[_0x24d4('0x44')](handleError(_0x47b000,null));};exports[_0x24d4('0x9f')]=runReport;exports[_0x24d4('0x31')]=function(_0x3693ee,_0x5ec5e7){var _0x24c9ba=0xa;var _0x3cca72=['join',_0x24d4('0x81'),_0x24d4('0x51'),_0x24d4('0x52')];var _0x3bb652={'SUM':'SUM(%s)','COUNT':'COUNT(%s)','COUNT DISTINCT':_0x24d4('0x82'),'MAX':'MAX(%s)','MIN':_0x24d4('0x55'),'AVG':_0x24d4('0x56'),'GROUP_CONCAT':_0x24d4('0x57'),'GROUP_CONCAT ASC':_0x24d4('0x58'),'GROUP_CONCAT DESC':_0x24d4('0x83')};var _0xa1f2e2={'SEC_TO_TIME':_0x24d4('0x59'),'DATE':_0x24d4('0x5a'),'HOUR':_0x24d4('0x5b'),'ROUND':_0x24d4('0x5c'),'UNIX_TIMESTAMP':'UNIX_TIMESTAMP(%s)'};var _0x33347d=function(_0x195f3e){return!_[_0x24d4('0x5e')](['IS\x20NULL','IS\x20NOT\x20NULL',_0x24d4('0x60'),_0x24d4('0x61')],_0x195f3e);};var _0x1e8541=function(_0x1a3982){if(!_0x1a3982||!_0x1a3982[_0x24d4('0x62')][_0x24d4('0x38')]){return'';}for(var _0x375ace='(',_0x43c7dc=0x0;_0x43c7dc<_0x1a3982[_0x24d4('0x62')][_0x24d4('0x38')];_0x43c7dc+=0x1){_0x43c7dc>0x0&&(_0x375ace+='\x20'+_0x1a3982['operator']+'\x20');_0x375ace+=_0x1a3982['rules'][_0x43c7dc][_0x24d4('0x64')]?_0x1e8541(_0x1a3982[_0x24d4('0x62')][_0x43c7dc]['group']):_0x1a3982[_0x24d4('0x62')][_0x43c7dc]['field']+'\x20'+_0x1a3982[_0x24d4('0x62')][_0x43c7dc][_0x24d4('0x65')]+(_0x33347d(_0x1a3982['rules'][_0x43c7dc][_0x24d4('0x65')])?'\x20'+_0x1a3982[_0x24d4('0x62')][_0x43c7dc][_0x24d4('0x84')]:'');}return _0x375ace+')';};var _0x3fd8ae={'where':{'id':_0x3693ee[_0x24d4('0x45')]['id']}},_0x39f5b0,_0x13f7e8,_0x579f80,_0x11b0a0,_0x46e0c7;_0x3fd8ae=_[_0x24d4('0x3e')]({},_0x3fd8ae,_0x3693ee[_0x24d4('0x3f')]);return db['AnalyticCustomReport'][_0x24d4('0x46')](_0x3fd8ae)[_0x24d4('0x24')](function(_0x39a272){if(_0x39a272){_0x39f5b0=_0x39a272;return _0x39a272['getFields']();}return null;})[_0x24d4('0x24')](function(_0x50c847){if(_0x50c847){if(!_0x50c847['length']){throw new db[(_0x24d4('0x86'))]['ValidationErrorItem']('Please\x20insert\x20at\x20least\x20one\x20field',0x193);}_0x13f7e8=_0x50c847;return db[_0x24d4('0x67')][_0x24d4('0x42')]({'raw':!![]});}return null;})[_0x24d4('0x24')](function(_0x3d9300){if(_0x3d9300){_0x579f80=_['keyBy'](_0x3d9300,'id');var _0x58b57b;var _0x469c52=squel[_0x24d4('0x69')]();_0x469c52[_0x24d4('0x6a')](_0x39f5b0[_0x24d4('0x88')]);for(var _0x2dd679=0x0;_0x2dd679<_0x13f7e8['length'];_0x2dd679+=0x1){_0x58b57b=_0x13f7e8[_0x2dd679][_0x24d4('0x6b')]?_0x579f80[_0x13f7e8[_0x2dd679][_0x24d4('0x6b')]][_0x24d4('0x89')]:_0x13f7e8[_0x2dd679][_0x24d4('0x6c')];_0x58b57b=_0x13f7e8[_0x2dd679][_0x24d4('0x6d')]?_['replace'](_0x3bb652[_0x13f7e8[_0x2dd679][_0x24d4('0x6d')]],'%s',_0x58b57b):_0x58b57b;_0x58b57b=_0x13f7e8[_0x2dd679]['format']?_[_0x24d4('0x6e')](_0xa1f2e2[_0x13f7e8[_0x2dd679][_0x24d4('0x6f')]],'%s',_0x58b57b):_0x58b57b;if(_0x13f7e8[_0x2dd679][_0x24d4('0x70')]){_0x469c52[_0x24d4('0x64')](_0x58b57b);}_0x13f7e8[_0x2dd679][_0x24d4('0x71')]&&_0x469c52['order'](_0x58b57b,_0x13f7e8[_0x2dd679]['orderBy']==='DESC'?![]:!![]);_0x469c52['field'](_0x58b57b,_0x13f7e8[_0x2dd679][_0x24d4('0x73')]||_0x58b57b);}if(_0x39f5b0['joins']){_0x39f5b0[_0x24d4('0x75')]=JSON['parse'](_0x39f5b0[_0x24d4('0x75')]);for(var _0x4fc9d8=0x0;_0x4fc9d8<_0x39f5b0[_0x24d4('0x75')]['length'];_0x4fc9d8+=0x1){if(_0x39f5b0[_0x24d4('0x75')][_0x4fc9d8]['type']&&_['includes'](_0x3cca72,_0x39f5b0[_0x24d4('0x75')][_0x4fc9d8][_0x24d4('0x30')])&&_0x39f5b0[_0x24d4('0x75')][_0x4fc9d8][_0x24d4('0x76')]&&_0x39f5b0[_0x24d4('0x75')][_0x4fc9d8][_0x24d4('0x77')]&&_0x39f5b0[_0x24d4('0x75')][_0x4fc9d8][_0x24d4('0x79')]){_0x469c52[_0x39f5b0[_0x24d4('0x75')][_0x4fc9d8][_0x24d4('0x30')]](_0x39f5b0['joins'][_0x4fc9d8][_0x24d4('0x77')],null,util[_0x24d4('0x6f')]('%s.%s\x20=\x20%s.%s',_0x39f5b0[_0x24d4('0x88')],_0x39f5b0[_0x24d4('0x75')][_0x4fc9d8][_0x24d4('0x76')],_0x39f5b0[_0x24d4('0x75')][_0x4fc9d8]['foreignTable'],_0x39f5b0[_0x24d4('0x75')][_0x4fc9d8]['foreignKey']));}}}if(_0x39f5b0[_0x24d4('0x7a')]){_0x39f5b0[_0x24d4('0x7a')]=JSON['parse'](_0x39f5b0[_0x24d4('0x7a')]);_0x469c52['where'](_0x1e8541(_0x39f5b0['conditions'][_0x24d4('0x64')]));}_0x46e0c7=_0x469c52[_0x24d4('0x7b')]();_0x469c52[_0x24d4('0x1e')](_0x24c9ba);_0x469c52[_0x24d4('0x1d')](0x0);logger[_0x24d4('0x7c')](_0x24d4('0x7d'),_0x469c52[_0x24d4('0x7e')]());return db['sequelize']['query'](_0x469c52['toString'](),{'type':db[_0x24d4('0x7f')][_0x24d4('0x8a')][_0x24d4('0x8b')]});}})[_0x24d4('0x24')](function(){return{'sql':_0x46e0c7['toString']()};})[_0x24d4('0x24')](respondWithResult(_0x5ec5e7,null))[_0x24d4('0x44')](handleError(_0x5ec5e7,null));};