Built motion from commit (unavailable).|2.5.28
[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 _0xa9e0=['limit','set','Content-Range','apply','reject','update','destroy','get','CustomReports','UserProfileResource','then','stack','name','send','index','map','rawAttributes','fieldName','type','key','model','query','intersection','attributes','fields','length','hasOwnProperty','order','sort','filters','pick','filter','where','merge','options','includeAll','include','findAll','rows','catch','show','params','keys','AnalyticCustomReport','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','Reports','find','userProfileId','error','join','COUNT(%s)','COUNT(DISTINCT\x20%s)','MAX(%s)','MIN(%s)','AVG(%s)','GROUP_CONCAT(%s)','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)','SEC_TO_TIME(%s)','DATE(%s)','HOUR(%s)','ROUND(%s)','UNIX_TIMESTAMP(%s)','includes','IS\x20NULL','IS\x20EMPTY','rules','operator','group','condition','value','getFields','Please\x20insert\x20at\x20least\x20one\x20field','AnalyticMetric','keyBy','select','from','table','MetricId','metric','field','function','format','replace','groupBy','orderBy','DESC','alias','joins','parentKey','foreignTable','%s.%s\x20=\x20%s.%s','conditions','parse','clone','debug','Limited\x20Query:','toString','sequelize','QueryTypes','SELECT','right_join','cross_join','SUM(%s)','IS\x20NOT\x20NULL','IS\x20NOT\x20EMPTY','ValidationErrorItem','foreignKey','output','web','%s-%s.%s','randomstring','generate','csv','custom','cdr','.calldate\x20BETWEEN\x20?\x20AND\x20?','startDate','info','child_process','fork','../../components/export/','../../files/reports','countTable','count','run','runReport','Sequelize','eml-format','rimraf','zip-dir','moment','mustache','util','path','sox','to-csv','fs-extra','lodash','squel','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/license/util','../../mysqldb','dbH','sendStatus','status','end','json','offset'];(function(_0x4fb6cb,_0x3a6615){var _0x282931=function(_0x32d887){while(--_0x32d887){_0x4fb6cb['push'](_0x4fb6cb['shift']());}};_0x282931(++_0x3a6615);}(_0xa9e0,0x123));var _0x0a9e=function(_0x2a6809,_0x44edde){_0x2a6809=_0x2a6809-0x0;var _0x11c371=_0xa9e0[_0x2a6809];return _0x11c371;};'use strict';var emlformat=require(_0x0a9e('0x0'));var rimraf=require(_0x0a9e('0x1'));var zipdir=require(_0x0a9e('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x0a9e('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x0a9e('0x4'));var util=require(_0x0a9e('0x5'));var path=require(_0x0a9e('0x6'));var sox=require(_0x0a9e('0x7'));var csv=require(_0x0a9e('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x0a9e('0x9'));var _=require(_0x0a9e('0xa'));var squel=require(_0x0a9e('0xb'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x0a9e('0xc'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x0a9e('0xd'));var Redis=require(_0x0a9e('0xe'));var authService=require(_0x0a9e('0xf'));var qs=require(_0x0a9e('0x10'));var as=require(_0x0a9e('0x11'));var hardwareService=require(_0x0a9e('0x12'));var logger=require('../../config/logger')('api');var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x0a9e('0x13'));var db=require(_0x0a9e('0x14'))['db'];var dbH=require(_0x0a9e('0x14'))[_0x0a9e('0x15')];function respondWithStatusCode(_0x32d742,_0x69aeb7){_0x69aeb7=_0x69aeb7||0xcc;return function(_0x5db4b0){if(_0x5db4b0){return _0x32d742[_0x0a9e('0x16')](_0x69aeb7);}return _0x32d742[_0x0a9e('0x17')](_0x69aeb7)[_0x0a9e('0x18')]();};}function respondWithResult(_0x281129,_0x44dcfd){_0x44dcfd=_0x44dcfd||0xc8;return function(_0x4d5611){if(_0x4d5611){return _0x281129['status'](_0x44dcfd)[_0x0a9e('0x19')](_0x4d5611);}};}function respondWithFilteredResult(_0x5d0880,_0x1985b6){return function(_0x519dfd){if(_0x519dfd){var _0x16033c=_0x519dfd['count'],_0x12066b=_0x1985b6[_0x0a9e('0x1a')],_0x48f32d=_0x1985b6[_0x0a9e('0x1a')]+_0x1985b6[_0x0a9e('0x1b')],_0x225616;if(_0x48f32d>=_0x16033c){_0x48f32d=_0x16033c;_0x225616=0xc8;}else{_0x225616=0xce;}_0x5d0880[_0x0a9e('0x17')](_0x225616);return _0x5d0880[_0x0a9e('0x1c')](_0x0a9e('0x1d'),_0x12066b+'-'+_0x48f32d+'/'+_0x16033c)[_0x0a9e('0x19')](_0x519dfd);}return null;};}function patchUpdates(_0x20559e){return function(_0x1314ae){try{jsonpatch[_0x0a9e('0x1e')](_0x1314ae,_0x20559e,!![]);}catch(_0x1c696a){return BPromise[_0x0a9e('0x1f')](_0x1c696a);}return _0x1314ae['save']();};}function saveUpdates(_0x2c3407,_0x155cce){return function(_0x53682f){if(_0x53682f){return _0x53682f[_0x0a9e('0x20')](_0x2c3407)['then'](function(_0x588269){return _0x588269;});}return null;};}function removeEntity(_0x3a02e1,_0x432e56){return function(_0x38e7c4){if(_0x38e7c4){return _0x38e7c4[_0x0a9e('0x21')]()['then'](function(){var _0xfb6e48=_0x38e7c4[_0x0a9e('0x22')]({'plain':!![]});var _0x3b45bc=_0x0a9e('0x23');return db[_0x0a9e('0x24')][_0x0a9e('0x21')]({'where':{'type':_0x3b45bc,'resourceId':_0xfb6e48['id']}})[_0x0a9e('0x25')](function(){return _0x38e7c4;});})['then'](function(){_0x3a02e1['status'](0xcc)[_0x0a9e('0x18')]();});}};}function handleEntityNotFound(_0x3a8e58,_0x40c424){return function(_0x33161b){if(!_0x33161b){_0x3a8e58['sendStatus'](0x194);}return _0x33161b;};}function handleError(_0x384319,_0x479bc4){_0x479bc4=_0x479bc4||0x1f4;return function(_0x45a1e7){logger['error'](_0x45a1e7[_0x0a9e('0x26')]);if(_0x45a1e7[_0x0a9e('0x27')]){delete _0x45a1e7[_0x0a9e('0x27')];}_0x384319[_0x0a9e('0x17')](_0x479bc4)[_0x0a9e('0x28')](_0x45a1e7);};}exports[_0x0a9e('0x29')]=function(_0x11c3b6,_0x14de77){var _0x5a101a={},_0x3652a7={},_0x468813={'count':0x0,'rows':[]};var _0x2b1f27=_[_0x0a9e('0x2a')](db['AnalyticCustomReport'][_0x0a9e('0x2b')],function(_0x40e7a3){return{'name':_0x40e7a3[_0x0a9e('0x2c')],'type':_0x40e7a3[_0x0a9e('0x2d')][_0x0a9e('0x2e')]};});_0x3652a7[_0x0a9e('0x2f')]=_[_0x0a9e('0x2a')](_0x2b1f27,_0x0a9e('0x27'));_0x3652a7[_0x0a9e('0x30')]=_['keys'](_0x11c3b6[_0x0a9e('0x30')]);_0x3652a7['filters']=_[_0x0a9e('0x31')](_0x3652a7[_0x0a9e('0x2f')],_0x3652a7[_0x0a9e('0x30')]);_0x5a101a[_0x0a9e('0x32')]=_[_0x0a9e('0x31')](_0x3652a7['model'],qs[_0x0a9e('0x33')](_0x11c3b6[_0x0a9e('0x30')][_0x0a9e('0x33')]));_0x5a101a[_0x0a9e('0x32')]=_0x5a101a[_0x0a9e('0x32')][_0x0a9e('0x34')]?_0x5a101a[_0x0a9e('0x32')]:_0x3652a7[_0x0a9e('0x2f')];if(!_0x11c3b6['query'][_0x0a9e('0x35')]('nolimit')){_0x5a101a[_0x0a9e('0x1b')]=qs[_0x0a9e('0x1b')](_0x11c3b6[_0x0a9e('0x30')][_0x0a9e('0x1b')]);_0x5a101a['offset']=qs[_0x0a9e('0x1a')](_0x11c3b6[_0x0a9e('0x30')][_0x0a9e('0x1a')]);}_0x5a101a[_0x0a9e('0x36')]=qs['sort'](_0x11c3b6['query'][_0x0a9e('0x37')]);_0x5a101a['where']=qs[_0x0a9e('0x38')](_[_0x0a9e('0x39')](_0x11c3b6[_0x0a9e('0x30')],_0x3652a7[_0x0a9e('0x38')]),_0x2b1f27);if(_0x11c3b6['query'][_0x0a9e('0x3a')]){_0x5a101a[_0x0a9e('0x3b')]=_[_0x0a9e('0x3c')](_0x5a101a['where'],{'$or':_[_0x0a9e('0x2a')](_0x2b1f27,function(_0x1a180b){if(_0x1a180b[_0x0a9e('0x2d')]!=='VIRTUAL'){var _0x546ef8={};_0x546ef8[_0x1a180b[_0x0a9e('0x27')]]={'$like':'%'+_0x11c3b6[_0x0a9e('0x30')]['filter']+'%'};return _0x546ef8;}})});}_0x5a101a=_[_0x0a9e('0x3c')]({},_0x5a101a,_0x11c3b6[_0x0a9e('0x3d')]);var _0x2e1b3a={'where':_0x5a101a[_0x0a9e('0x3b')]};return db['AnalyticCustomReport']['count'](_0x2e1b3a)[_0x0a9e('0x25')](function(_0x45b3d0){_0x468813['count']=_0x45b3d0;if(_0x11c3b6[_0x0a9e('0x30')][_0x0a9e('0x3e')]){_0x5a101a[_0x0a9e('0x3f')]=[{'all':!![]}];}return db['AnalyticCustomReport'][_0x0a9e('0x40')](_0x5a101a);})[_0x0a9e('0x25')](function(_0x274e8e){_0x468813[_0x0a9e('0x41')]=_0x274e8e;return _0x468813;})[_0x0a9e('0x25')](respondWithFilteredResult(_0x14de77,_0x5a101a))[_0x0a9e('0x42')](handleError(_0x14de77,null));};exports[_0x0a9e('0x43')]=function(_0x45a9b8,_0x23b089){var _0x3da2cd={'raw':![],'where':{'id':_0x45a9b8[_0x0a9e('0x44')]['id']}},_0x2c3711={};_0x2c3711[_0x0a9e('0x2f')]=_[_0x0a9e('0x45')](db[_0x0a9e('0x46')]['rawAttributes']);_0x2c3711['query']=_[_0x0a9e('0x45')](_0x45a9b8[_0x0a9e('0x30')]);_0x2c3711[_0x0a9e('0x38')]=_[_0x0a9e('0x31')](_0x2c3711[_0x0a9e('0x2f')],_0x2c3711[_0x0a9e('0x30')]);_0x3da2cd[_0x0a9e('0x32')]=_[_0x0a9e('0x31')](_0x2c3711[_0x0a9e('0x2f')],qs[_0x0a9e('0x33')](_0x45a9b8[_0x0a9e('0x30')][_0x0a9e('0x33')]));_0x3da2cd['attributes']=_0x3da2cd[_0x0a9e('0x32')][_0x0a9e('0x34')]?_0x3da2cd[_0x0a9e('0x32')]:_0x2c3711[_0x0a9e('0x2f')];if(_0x45a9b8[_0x0a9e('0x30')][_0x0a9e('0x3e')]){_0x3da2cd[_0x0a9e('0x3f')]=[{'all':!![]}];}_0x3da2cd=_[_0x0a9e('0x3c')]({},_0x3da2cd,_0x45a9b8['options']);return db[_0x0a9e('0x46')]['find'](_0x3da2cd)[_0x0a9e('0x25')](handleEntityNotFound(_0x23b089,null))[_0x0a9e('0x25')](respondWithResult(_0x23b089,null))[_0x0a9e('0x42')](handleError(_0x23b089,null));};exports['create']=function(_0x14bec2,_0x7f6eb1){return db[_0x0a9e('0x46')][_0x0a9e('0x47')](_0x14bec2[_0x0a9e('0x48')],{})[_0x0a9e('0x25')](function(_0x45bf7f){var _0x5bbcde=_0x14bec2[_0x0a9e('0x49')][_0x0a9e('0x22')]({'plain':!![]});if(!_0x5bbcde)throw new Error(_0x0a9e('0x4a'));if(_0x5bbcde[_0x0a9e('0x4b')]===_0x0a9e('0x49')){var _0x992c77=_0x45bf7f[_0x0a9e('0x22')]({'plain':!![]});var _0x19383e=_0x0a9e('0x4c');return db['UserProfileSection'][_0x0a9e('0x4d')]({'where':{'name':_0x19383e,'userProfileId':_0x5bbcde[_0x0a9e('0x4e')]},'raw':!![]})['then'](function(_0x4ae14b){if(_0x4ae14b&&_0x4ae14b['autoAssociation']===0x0){return db[_0x0a9e('0x24')][_0x0a9e('0x47')]({'name':_0x992c77[_0x0a9e('0x27')],'resourceId':_0x992c77['id'],'type':_0x0a9e('0x23'),'sectionId':_0x4ae14b['id']},{})[_0x0a9e('0x25')](function(){return _0x45bf7f;});}else{return _0x45bf7f;}})[_0x0a9e('0x42')](function(_0x2e5165){logger[_0x0a9e('0x4f')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x2e5165);throw _0x2e5165;});}return _0x45bf7f;})['then'](respondWithResult(_0x7f6eb1,0xc9))['catch'](handleError(_0x7f6eb1,null));};exports[_0x0a9e('0x20')]=function(_0x204173,_0x14d602){if(_0x204173['body']['id']){delete _0x204173[_0x0a9e('0x48')]['id'];}return db[_0x0a9e('0x46')]['find']({'where':{'id':_0x204173['params']['id']}})[_0x0a9e('0x25')](handleEntityNotFound(_0x14d602,null))['then'](saveUpdates(_0x204173[_0x0a9e('0x48')],null))['then'](respondWithResult(_0x14d602,null))[_0x0a9e('0x42')](handleError(_0x14d602,null));};exports[_0x0a9e('0x21')]=function(_0x439340,_0x53613a){return db[_0x0a9e('0x46')][_0x0a9e('0x4d')]({'where':{'id':_0x439340['params']['id']}})['then'](handleEntityNotFound(_0x53613a,null))[_0x0a9e('0x25')](removeEntity(_0x53613a,null))[_0x0a9e('0x42')](handleError(_0x53613a,null));};exports['preview']=function(_0x145931,_0x5ce9ac){var _0x211ef9=0xa;var _0x523cd2=[_0x0a9e('0x50'),'left_join','right_join','cross_join'];var _0x2da03c={'SUM':'SUM(%s)','COUNT':_0x0a9e('0x51'),'COUNT DISTINCT':_0x0a9e('0x52'),'MAX':_0x0a9e('0x53'),'MIN':_0x0a9e('0x54'),'AVG':_0x0a9e('0x55'),'GROUP_CONCAT':_0x0a9e('0x56'),'GROUP_CONCAT ASC':_0x0a9e('0x57'),'GROUP_CONCAT DESC':_0x0a9e('0x58')};var _0x4e67ab={'SEC_TO_TIME':_0x0a9e('0x59'),'DATE':_0x0a9e('0x5a'),'HOUR':_0x0a9e('0x5b'),'ROUND':_0x0a9e('0x5c'),'UNIX_TIMESTAMP':_0x0a9e('0x5d')};var _0x156662=function(_0x5d86e9){return!_[_0x0a9e('0x5e')]([_0x0a9e('0x5f'),'IS\x20NOT\x20NULL',_0x0a9e('0x60'),'IS\x20NOT\x20EMPTY'],_0x5d86e9);};var _0x20c668=function(_0x5ba1f9){if(!_0x5ba1f9||!_0x5ba1f9['rules']['length']){return'';}for(var _0x273cb5='(',_0x49d231=0x0;_0x49d231<_0x5ba1f9[_0x0a9e('0x61')][_0x0a9e('0x34')];_0x49d231+=0x1){_0x49d231>0x0&&(_0x273cb5+='\x20'+_0x5ba1f9[_0x0a9e('0x62')]+'\x20');_0x273cb5+=_0x5ba1f9[_0x0a9e('0x61')][_0x49d231][_0x0a9e('0x63')]?_0x20c668(_0x5ba1f9[_0x0a9e('0x61')][_0x49d231]['group']):_0x5ba1f9[_0x0a9e('0x61')][_0x49d231]['field']+'\x20'+_0x5ba1f9[_0x0a9e('0x61')][_0x49d231][_0x0a9e('0x64')]+(_0x156662(_0x5ba1f9[_0x0a9e('0x61')][_0x49d231]['condition'])?'\x20'+_0x5ba1f9[_0x0a9e('0x61')][_0x49d231][_0x0a9e('0x65')]:'');}return _0x273cb5+')';};var _0x119677={'where':{'id':_0x145931[_0x0a9e('0x44')]['id']}},_0x32e134,_0x497d91,_0x1d0dc8,_0xe05a5a,_0x54327c;_0x119677=_[_0x0a9e('0x3c')]({},_0x119677,_0x145931[_0x0a9e('0x3d')]);return db[_0x0a9e('0x46')][_0x0a9e('0x4d')](_0x119677)['then'](function(_0x176840){if(_0x176840){_0x32e134=_0x176840;return _0x176840[_0x0a9e('0x66')]();}return null;})[_0x0a9e('0x25')](function(_0x47bb43){if(_0x47bb43){if(!_0x47bb43[_0x0a9e('0x34')]){throw new db['Sequelize']['ValidationErrorItem'](_0x0a9e('0x67'),0x193);}_0x497d91=_0x47bb43;return db[_0x0a9e('0x68')][_0x0a9e('0x40')]({'raw':!![]});}return null;})[_0x0a9e('0x25')](function(_0x186f39){if(_0x186f39){_0x1d0dc8=_[_0x0a9e('0x69')](_0x186f39,'id');var _0x387489;var _0x54a37d=squel[_0x0a9e('0x6a')]();_0x54a37d[_0x0a9e('0x6b')](_0x32e134[_0x0a9e('0x6c')]);for(var _0x19012b=0x0;_0x19012b<_0x497d91[_0x0a9e('0x34')];_0x19012b+=0x1){_0x387489=_0x497d91[_0x19012b][_0x0a9e('0x6d')]?_0x1d0dc8[_0x497d91[_0x19012b][_0x0a9e('0x6d')]][_0x0a9e('0x6e')]:_0x497d91[_0x19012b][_0x0a9e('0x6f')];_0x387489=_0x497d91[_0x19012b][_0x0a9e('0x70')]?_['replace'](_0x2da03c[_0x497d91[_0x19012b][_0x0a9e('0x70')]],'%s',_0x387489):_0x387489;_0x387489=_0x497d91[_0x19012b][_0x0a9e('0x71')]?_[_0x0a9e('0x72')](_0x4e67ab[_0x497d91[_0x19012b]['format']],'%s',_0x387489):_0x387489;if(_0x497d91[_0x19012b][_0x0a9e('0x73')]){_0x54a37d[_0x0a9e('0x63')](_0x387489);}_0x497d91[_0x19012b]['orderBy']&&_0x54a37d[_0x0a9e('0x36')](_0x387489,_0x497d91[_0x19012b][_0x0a9e('0x74')]===_0x0a9e('0x75')?![]:!![]);_0x54a37d[_0x0a9e('0x6f')](_0x387489,_0x497d91[_0x19012b][_0x0a9e('0x76')]||_0x387489);}if(_0x32e134['joins']){_0x32e134['joins']=JSON['parse'](_0x32e134[_0x0a9e('0x77')]);for(var _0x18bf5d=0x0;_0x18bf5d<_0x32e134[_0x0a9e('0x77')][_0x0a9e('0x34')];_0x18bf5d+=0x1){if(_0x32e134[_0x0a9e('0x77')][_0x18bf5d][_0x0a9e('0x2d')]&&_[_0x0a9e('0x5e')](_0x523cd2,_0x32e134[_0x0a9e('0x77')][_0x18bf5d]['type'])&&_0x32e134[_0x0a9e('0x77')][_0x18bf5d][_0x0a9e('0x78')]&&_0x32e134[_0x0a9e('0x77')][_0x18bf5d]['foreignTable']&&_0x32e134[_0x0a9e('0x77')][_0x18bf5d]['foreignKey']){_0x54a37d[_0x32e134[_0x0a9e('0x77')][_0x18bf5d][_0x0a9e('0x2d')]](_0x32e134['joins'][_0x18bf5d][_0x0a9e('0x79')],null,util[_0x0a9e('0x71')](_0x0a9e('0x7a'),_0x32e134[_0x0a9e('0x6c')],_0x32e134['joins'][_0x18bf5d][_0x0a9e('0x78')],_0x32e134[_0x0a9e('0x77')][_0x18bf5d][_0x0a9e('0x79')],_0x32e134[_0x0a9e('0x77')][_0x18bf5d]['foreignKey']));}}}if(_0x32e134[_0x0a9e('0x7b')]){_0x32e134[_0x0a9e('0x7b')]=JSON[_0x0a9e('0x7c')](_0x32e134[_0x0a9e('0x7b')]);_0x54a37d['where'](_0x20c668(_0x32e134[_0x0a9e('0x7b')][_0x0a9e('0x63')]));}_0x54327c=_0x54a37d[_0x0a9e('0x7d')]();_0x54a37d[_0x0a9e('0x1b')](_0x211ef9);_0x54a37d[_0x0a9e('0x1a')](0x0);logger[_0x0a9e('0x7e')](_0x0a9e('0x7f'),_0x54a37d[_0x0a9e('0x80')]());return dbH[_0x0a9e('0x81')][_0x0a9e('0x30')](_0x54a37d[_0x0a9e('0x80')](),{'type':dbH[_0x0a9e('0x81')][_0x0a9e('0x82')][_0x0a9e('0x83')]});}})['then'](respondWithResult(_0x5ce9ac,null))[_0x0a9e('0x42')](handleError(_0x5ce9ac,null));};function runReport(_0x11da9c,_0xc599b3,_0x563627){var _0x3736e0=_0xc599b3[_0x0a9e('0x27')];var _0x8cea96=0xa;var _0x2b9463=['join','left_join',_0x0a9e('0x84'),_0x0a9e('0x85')];var _0x4c54fa={'SUM':_0x0a9e('0x86'),'COUNT':'COUNT(%s)','COUNT DISTINCT':_0x0a9e('0x52'),'MAX':_0x0a9e('0x53'),'MIN':'MIN(%s)','AVG':_0x0a9e('0x55'),'GROUP_CONCAT':_0x0a9e('0x56'),'GROUP_CONCAT ASC':_0x0a9e('0x57'),'GROUP_CONCAT DESC':_0x0a9e('0x58')};var _0x3755fe={'SEC_TO_TIME':_0x0a9e('0x59'),'DATE':_0x0a9e('0x5a'),'HOUR':'HOUR(%s)','ROUND':_0x0a9e('0x5c'),'UNIX_TIMESTAMP':_0x0a9e('0x5d')};var _0x45c109=function(_0x16e5b9){return!_['includes']([_0x0a9e('0x5f'),_0x0a9e('0x87'),'IS\x20EMPTY',_0x0a9e('0x88')],_0x16e5b9);};var _0x5b7940=function(_0x163710){if(!_0x163710||!_0x163710[_0x0a9e('0x61')][_0x0a9e('0x34')]){return'';}for(var _0x385d52='(',_0x5af453=0x0;_0x5af453<_0x163710['rules'][_0x0a9e('0x34')];_0x5af453+=0x1){_0x5af453>0x0&&(_0x385d52+='\x20'+_0x163710[_0x0a9e('0x62')]+'\x20');_0x385d52+=_0x163710[_0x0a9e('0x61')][_0x5af453]['group']?_0x5b7940(_0x163710[_0x0a9e('0x61')][_0x5af453][_0x0a9e('0x63')]):_0x163710['rules'][_0x5af453]['field']+'\x20'+_0x163710[_0x0a9e('0x61')][_0x5af453]['condition']+(_0x45c109(_0x163710['rules'][_0x5af453]['condition'])?'\x20'+_0x163710[_0x0a9e('0x61')][_0x5af453][_0x0a9e('0x65')]:'');}return _0x385d52+')';};var _0x9044fe={'where':{'id':_0x11da9c['id']}},_0x3bfadf,_0x3c6dd6,_0x2600de,_0x5a8854,_0x5fd5db;_0x9044fe=_['merge']({},_0x9044fe,_0x563627);return db[_0x0a9e('0x46')][_0x0a9e('0x4d')](_0x9044fe)[_0x0a9e('0x25')](function(_0x4566b0){if(_0x4566b0){_0x3bfadf=_0x4566b0;return _0x4566b0['getFields']();}return null;})[_0x0a9e('0x25')](function(_0x32f761){if(_0x32f761){if(!_0x32f761[_0x0a9e('0x34')]){throw new db['Sequelize'][(_0x0a9e('0x89'))](_0x0a9e('0x67'),0x193);}_0x3c6dd6=_0x32f761;return db[_0x0a9e('0x68')][_0x0a9e('0x40')]({'raw':!![]});}return null;})[_0x0a9e('0x25')](function(_0x1910bf){if(_0x1910bf){_0x2600de=_[_0x0a9e('0x69')](_0x1910bf,'id');var _0x11ac43;var _0x509efe=squel[_0x0a9e('0x6a')]();_0x509efe[_0x0a9e('0x6b')](_0x3bfadf['table']);for(var _0x40e0f0=0x0;_0x40e0f0<_0x3c6dd6[_0x0a9e('0x34')];_0x40e0f0+=0x1){_0x11ac43=_0x3c6dd6[_0x40e0f0][_0x0a9e('0x6d')]?_0x2600de[_0x3c6dd6[_0x40e0f0]['MetricId']][_0x0a9e('0x6e')]:_0x3c6dd6[_0x40e0f0]['field'];_0x11ac43=_0x3c6dd6[_0x40e0f0][_0x0a9e('0x70')]?_[_0x0a9e('0x72')](_0x4c54fa[_0x3c6dd6[_0x40e0f0][_0x0a9e('0x70')]],'%s',_0x11ac43):_0x11ac43;_0x11ac43=_0x3c6dd6[_0x40e0f0][_0x0a9e('0x71')]?_[_0x0a9e('0x72')](_0x3755fe[_0x3c6dd6[_0x40e0f0][_0x0a9e('0x71')]],'%s',_0x11ac43):_0x11ac43;if(_0x3c6dd6[_0x40e0f0][_0x0a9e('0x73')]){_0x509efe[_0x0a9e('0x63')](_0x11ac43);}_0x3c6dd6[_0x40e0f0]['orderBy']&&_0x509efe[_0x0a9e('0x36')](_0x11ac43,_0x3c6dd6[_0x40e0f0][_0x0a9e('0x74')]===_0x0a9e('0x75')?![]:!![]);_0x509efe[_0x0a9e('0x6f')](_0x11ac43,_0x3c6dd6[_0x40e0f0][_0x0a9e('0x76')]||_0x11ac43);}if(_0x3bfadf[_0x0a9e('0x77')]){_0x3bfadf[_0x0a9e('0x77')]=JSON[_0x0a9e('0x7c')](_0x3bfadf[_0x0a9e('0x77')]);for(var _0x31af8c=0x0;_0x31af8c<_0x3bfadf[_0x0a9e('0x77')][_0x0a9e('0x34')];_0x31af8c+=0x1){if(_0x3bfadf[_0x0a9e('0x77')][_0x31af8c]['type']&&_[_0x0a9e('0x5e')](_0x2b9463,_0x3bfadf[_0x0a9e('0x77')][_0x31af8c][_0x0a9e('0x2d')])&&_0x3bfadf[_0x0a9e('0x77')][_0x31af8c][_0x0a9e('0x78')]&&_0x3bfadf['joins'][_0x31af8c][_0x0a9e('0x79')]&&_0x3bfadf[_0x0a9e('0x77')][_0x31af8c]['foreignKey']){_0x509efe[_0x3bfadf[_0x0a9e('0x77')][_0x31af8c]['type']](_0x3bfadf[_0x0a9e('0x77')][_0x31af8c][_0x0a9e('0x79')],null,util[_0x0a9e('0x71')](_0x0a9e('0x7a'),_0x3bfadf['table'],_0x3bfadf[_0x0a9e('0x77')][_0x31af8c]['parentKey'],_0x3bfadf[_0x0a9e('0x77')][_0x31af8c][_0x0a9e('0x79')],_0x3bfadf['joins'][_0x31af8c][_0x0a9e('0x8a')]));}}}if(_0x3bfadf[_0x0a9e('0x7b')]){_0x3bfadf[_0x0a9e('0x7b')]=JSON['parse'](_0x3bfadf['conditions']);_0x509efe[_0x0a9e('0x3b')](_0x5b7940(_0x3bfadf[_0x0a9e('0x7b')][_0x0a9e('0x63')]));}_0x5fd5db=_0x509efe[_0x0a9e('0x7d')]();_0x509efe[_0x0a9e('0x1b')](_0x8cea96);_0x509efe[_0x0a9e('0x1a')](0x0);return;}})[_0x0a9e('0x25')](function(){if(_0xc599b3[_0x0a9e('0x8b')]===_0x0a9e('0x8c')){return null;}var _0x586510=_[_0x0a9e('0x3c')](_0xc599b3,{'name':_0xc599b3['fullPath']||_0xc599b3[_0x0a9e('0x27')]||_0x3bfadf[_0x0a9e('0x27')],'basename':_0x3736e0,'savename':util[_0x0a9e('0x71')](_0x0a9e('0x8d'),_0xc599b3[_0x0a9e('0x27')]||_0x3bfadf['name'],require(_0x0a9e('0x8e'))[_0x0a9e('0x8f')](0x4),_0xc599b3[_0x0a9e('0x8b')]||_0x0a9e('0x90')),'reportId':_0x3bfadf['id'],'reportType':_0x0a9e('0x91')});return db['AnalyticExtractedReport']['create'](_0x586510,{'raw':!![]});})[_0x0a9e('0x25')](function(_0x583662){if(_0x3bfadf[_0x0a9e('0x6c')]===_0x0a9e('0x92')){_0x5fd5db[_0x0a9e('0x3b')](_0x3bfadf[_0x0a9e('0x6c')]+_0x0a9e('0x93'),_0xc599b3[_0x0a9e('0x94')],_0xc599b3['endDate']);}else{_0x5fd5db['where'](_0x3bfadf[_0x0a9e('0x6c')]+'.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0xc599b3[_0x0a9e('0x94')],_0xc599b3['endDate']);}if(_0x583662){logger[_0x0a9e('0x95')]('Run\x20Query:',_0x5fd5db['toString']());require(_0x0a9e('0x96'))[_0x0a9e('0x97')](path['join'](__dirname,_0x0a9e('0x98'),_0x583662[_0x0a9e('0x8b')]),[_0x583662['id'],_0x5fd5db[_0x0a9e('0x80')](),path[_0x0a9e('0x50')](__dirname,_0x0a9e('0x99'),_0x583662['savename']),_0x3736e0]);return _0x583662;}else{var _0x5505f4=squel[_0x0a9e('0x6a')]();_0x5505f4[_0x0a9e('0x6b')]('('+_0x5fd5db[_0x0a9e('0x80')]()+')',_0x0a9e('0x9a'));_0x5505f4[_0x0a9e('0x6f')]('COUNT(*)',_0x0a9e('0x9b'));_0x5fd5db[_0x0a9e('0x1b')](_0xc599b3['limit']||_0x8cea96);_0x5fd5db[_0x0a9e('0x1a')](_0xc599b3[_0x0a9e('0x1a')]||0x0);return dbH[_0x0a9e('0x81')][_0x0a9e('0x30')](_0x5505f4[_0x0a9e('0x80')](),{'type':dbH[_0x0a9e('0x81')][_0x0a9e('0x82')][_0x0a9e('0x83')]})[_0x0a9e('0x25')](function(_0x16afb3){if(!_0x16afb3['length']){_0x5a8854=0x0;}else{_0x5a8854=_0x16afb3[0x0][_0x0a9e('0x9b')]||0x0;}return dbH[_0x0a9e('0x81')][_0x0a9e('0x30')](_0x5fd5db[_0x0a9e('0x80')](),{'type':dbH[_0x0a9e('0x81')]['QueryTypes']['SELECT']});})[_0x0a9e('0x25')](function(_0x16ae1a){return{'rows':_0x16ae1a||[],'count':_0x5a8854};});}});}exports[_0x0a9e('0x9c')]=function(_0x2fea95,_0x34f7b5){return runReport(_0x2fea95['params'],_0x2fea95[_0x0a9e('0x30')],_0x2fea95[_0x0a9e('0x3d')])[_0x0a9e('0x25')](respondWithResult(_0x34f7b5,null))['catch'](handleError(_0x34f7b5,null));};exports[_0x0a9e('0x9d')]=runReport;exports['query']=function(_0x2144ca,_0x4799d4){var _0x25b745=0xa;var _0x42b833=[_0x0a9e('0x50'),'left_join',_0x0a9e('0x84'),'cross_join'];var _0x4383da={'SUM':_0x0a9e('0x86'),'COUNT':_0x0a9e('0x51'),'COUNT DISTINCT':_0x0a9e('0x52'),'MAX':_0x0a9e('0x53'),'MIN':_0x0a9e('0x54'),'AVG':_0x0a9e('0x55'),'GROUP_CONCAT':_0x0a9e('0x56'),'GROUP_CONCAT ASC':_0x0a9e('0x57'),'GROUP_CONCAT DESC':_0x0a9e('0x58')};var _0x4262d0={'SEC_TO_TIME':_0x0a9e('0x59'),'DATE':_0x0a9e('0x5a'),'HOUR':_0x0a9e('0x5b'),'ROUND':_0x0a9e('0x5c'),'UNIX_TIMESTAMP':_0x0a9e('0x5d')};var _0x5b93dd=function(_0x556443){return!_[_0x0a9e('0x5e')](['IS\x20NULL',_0x0a9e('0x87'),_0x0a9e('0x60'),'IS\x20NOT\x20EMPTY'],_0x556443);};var _0x1a3754=function(_0xe2b083){if(!_0xe2b083||!_0xe2b083[_0x0a9e('0x61')][_0x0a9e('0x34')]){return'';}for(var _0x5585d5='(',_0x148fd9=0x0;_0x148fd9<_0xe2b083[_0x0a9e('0x61')][_0x0a9e('0x34')];_0x148fd9+=0x1){_0x148fd9>0x0&&(_0x5585d5+='\x20'+_0xe2b083[_0x0a9e('0x62')]+'\x20');_0x5585d5+=_0xe2b083['rules'][_0x148fd9][_0x0a9e('0x63')]?_0x1a3754(_0xe2b083[_0x0a9e('0x61')][_0x148fd9][_0x0a9e('0x63')]):_0xe2b083['rules'][_0x148fd9][_0x0a9e('0x6f')]+'\x20'+_0xe2b083[_0x0a9e('0x61')][_0x148fd9][_0x0a9e('0x64')]+(_0x5b93dd(_0xe2b083['rules'][_0x148fd9][_0x0a9e('0x64')])?'\x20'+_0xe2b083[_0x0a9e('0x61')][_0x148fd9][_0x0a9e('0x65')]:'');}return _0x5585d5+')';};var _0x1a7f58={'where':{'id':_0x2144ca[_0x0a9e('0x44')]['id']}},_0x2394d3,_0x555780,_0x3211d2,_0x289e65,_0x4795ae;_0x1a7f58=_[_0x0a9e('0x3c')]({},_0x1a7f58,_0x2144ca[_0x0a9e('0x3d')]);return db['AnalyticCustomReport']['find'](_0x1a7f58)['then'](function(_0x1015aa){if(_0x1015aa){_0x2394d3=_0x1015aa;return _0x1015aa[_0x0a9e('0x66')]();}return null;})['then'](function(_0x183244){if(_0x183244){if(!_0x183244[_0x0a9e('0x34')]){throw new db[(_0x0a9e('0x9e'))]['ValidationErrorItem'](_0x0a9e('0x67'),0x193);}_0x555780=_0x183244;return db[_0x0a9e('0x68')][_0x0a9e('0x40')]({'raw':!![]});}return null;})[_0x0a9e('0x25')](function(_0x46956b){if(_0x46956b){_0x3211d2=_[_0x0a9e('0x69')](_0x46956b,'id');var _0x40e6e7;var _0x328ec5=squel[_0x0a9e('0x6a')]();_0x328ec5['from'](_0x2394d3[_0x0a9e('0x6c')]);for(var _0x5526a7=0x0;_0x5526a7<_0x555780[_0x0a9e('0x34')];_0x5526a7+=0x1){_0x40e6e7=_0x555780[_0x5526a7][_0x0a9e('0x6d')]?_0x3211d2[_0x555780[_0x5526a7][_0x0a9e('0x6d')]][_0x0a9e('0x6e')]:_0x555780[_0x5526a7][_0x0a9e('0x6f')];_0x40e6e7=_0x555780[_0x5526a7][_0x0a9e('0x70')]?_['replace'](_0x4383da[_0x555780[_0x5526a7][_0x0a9e('0x70')]],'%s',_0x40e6e7):_0x40e6e7;_0x40e6e7=_0x555780[_0x5526a7][_0x0a9e('0x71')]?_[_0x0a9e('0x72')](_0x4262d0[_0x555780[_0x5526a7][_0x0a9e('0x71')]],'%s',_0x40e6e7):_0x40e6e7;if(_0x555780[_0x5526a7]['groupBy']){_0x328ec5[_0x0a9e('0x63')](_0x40e6e7);}_0x555780[_0x5526a7][_0x0a9e('0x74')]&&_0x328ec5[_0x0a9e('0x36')](_0x40e6e7,_0x555780[_0x5526a7][_0x0a9e('0x74')]===_0x0a9e('0x75')?![]:!![]);_0x328ec5[_0x0a9e('0x6f')](_0x40e6e7,_0x555780[_0x5526a7][_0x0a9e('0x76')]||_0x40e6e7);}if(_0x2394d3[_0x0a9e('0x77')]){_0x2394d3[_0x0a9e('0x77')]=JSON[_0x0a9e('0x7c')](_0x2394d3['joins']);for(var _0x2272bc=0x0;_0x2272bc<_0x2394d3[_0x0a9e('0x77')][_0x0a9e('0x34')];_0x2272bc+=0x1){if(_0x2394d3[_0x0a9e('0x77')][_0x2272bc][_0x0a9e('0x2d')]&&_[_0x0a9e('0x5e')](_0x42b833,_0x2394d3[_0x0a9e('0x77')][_0x2272bc][_0x0a9e('0x2d')])&&_0x2394d3['joins'][_0x2272bc][_0x0a9e('0x78')]&&_0x2394d3[_0x0a9e('0x77')][_0x2272bc][_0x0a9e('0x79')]&&_0x2394d3['joins'][_0x2272bc][_0x0a9e('0x8a')]){_0x328ec5[_0x2394d3[_0x0a9e('0x77')][_0x2272bc][_0x0a9e('0x2d')]](_0x2394d3[_0x0a9e('0x77')][_0x2272bc][_0x0a9e('0x79')],null,util[_0x0a9e('0x71')](_0x0a9e('0x7a'),_0x2394d3[_0x0a9e('0x6c')],_0x2394d3[_0x0a9e('0x77')][_0x2272bc][_0x0a9e('0x78')],_0x2394d3['joins'][_0x2272bc][_0x0a9e('0x79')],_0x2394d3[_0x0a9e('0x77')][_0x2272bc][_0x0a9e('0x8a')]));}}}if(_0x2394d3[_0x0a9e('0x7b')]){_0x2394d3[_0x0a9e('0x7b')]=JSON[_0x0a9e('0x7c')](_0x2394d3['conditions']);_0x328ec5[_0x0a9e('0x3b')](_0x1a3754(_0x2394d3['conditions']['group']));}_0x4795ae=_0x328ec5['clone']();_0x328ec5[_0x0a9e('0x1b')](_0x25b745);_0x328ec5[_0x0a9e('0x1a')](0x0);logger[_0x0a9e('0x7e')](_0x0a9e('0x7f'),_0x328ec5['toString']());return dbH[_0x0a9e('0x81')][_0x0a9e('0x30')](_0x328ec5[_0x0a9e('0x80')](),{'type':dbH[_0x0a9e('0x81')][_0x0a9e('0x82')]['SELECT']});}})['then'](function(){return{'sql':_0x4795ae[_0x0a9e('0x80')]()};})[_0x0a9e('0x25')](respondWithResult(_0x4799d4,null))[_0x0a9e('0x42')](handleError(_0x4799d4,null));};