Built motion from commit (unavailable).|2.5.10
[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 _0x4874=['foreignKey','%s.%s\x20=\x20%s.%s','conditions','clone','debug','Limited\x20Query:','toString','sequelize','QueryTypes','SELECT','cross_join','COUNT(%s)','GROUP_CONCAT(%s)','SEC_TO_TIME(%s)','includes','IS\x20NOT\x20EMPTY','getFields','ValidationErrorItem','from','function','output','web','fullPath','%s-%s.%s','randomstring','generate','default','create','cdr','.calldate\x20BETWEEN\x20?\x20AND\x20?','startDate','endDate','info','Run\x20Query:','child_process','fork','../../components/export/','../../files/reports','savename','select','countTable','run','runReport','right_join','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','path','to-csv','ejs','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','dbH','sendStatus','status','end','count','offset','limit','set','Content-Range','json','reject','update','destroy','then','get','DefaultReports','error','stack','name','send','map','AnalyticDefaultReport','rawAttributes','fieldName','type','key','model','query','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','filters','pick','filter','VIRTUAL','merge','options','include','findAll','rows','catch','show','keys','includeAll','find','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','Reports','userProfileId','autoAssociation','UserProfileResource','params','preview','join','left_join','SUM(%s)','COUNT(DISTINCT\x20%s)','MAX(%s)','MIN(%s)','AVG(%s)','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)','DATE(%s)','HOUR(%s)','ROUND(%s)','UNIX_TIMESTAMP(%s)','IS\x20NOT\x20NULL','IS\x20EMPTY','rules','operator','group','field','condition','value','Sequelize','Please\x20insert\x20at\x20least\x20one\x20field','AnalyticMetric','keyBy','table','MetricId','metric','replace','format','groupBy','orderBy','order','DESC','alias','joins','parse','parentKey','foreignTable'];(function(_0x50b35e,_0x1e664a){var _0x4a1b21=function(_0x4efd31){while(--_0x4efd31){_0x50b35e['push'](_0x50b35e['shift']());}};_0x4a1b21(++_0x1e664a);}(_0x4874,0x17b));var _0x4487=function(_0x1992f1,_0x5c61f0){_0x1992f1=_0x1992f1-0x0;var _0x413dfe=_0x4874[_0x1992f1];return _0x413dfe;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x4487('0x0'));var rimraf=require(_0x4487('0x1'));var zipdir=require(_0x4487('0x2'));var jsonpatch=require(_0x4487('0x3'));var rp=require(_0x4487('0x4'));var moment=require('moment');var BPromise=require(_0x4487('0x5'));var Mustache=require(_0x4487('0x6'));var util=require('util');var path=require(_0x4487('0x7'));var sox=require('sox');var csv=require(_0x4487('0x8'));var ejs=require(_0x4487('0x9'));var fs=require('fs');var _=require('lodash');var squel=require(_0x4487('0xa'));var crypto=require('crypto');var jsforce=require(_0x4487('0xb'));var deskjs=require(_0x4487('0xc'));var toCsv=require(_0x4487('0x8'));var querystring=require(_0x4487('0xd'));var Papa=require(_0x4487('0xe'));var Redis=require(_0x4487('0xf'));var authService=require(_0x4487('0x10'));var qs=require(_0x4487('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x4487('0x12'));var logger=require(_0x4487('0x13'))(_0x4487('0x14'));var utils=require('../../config/utils');var config=require(_0x4487('0x15'));var licenseUtil=require(_0x4487('0x16'));var db=require(_0x4487('0x17'))['db'];var dbH=require(_0x4487('0x17'))[_0x4487('0x18')];function respondWithStatusCode(_0x217c58,_0x577742){_0x577742=_0x577742||0xcc;return function(_0x3ddc11){if(_0x3ddc11){return _0x217c58[_0x4487('0x19')](_0x577742);}return _0x217c58[_0x4487('0x1a')](_0x577742)[_0x4487('0x1b')]();};}function respondWithResult(_0x2a5245,_0x196f05){_0x196f05=_0x196f05||0xc8;return function(_0x88c2a2){if(_0x88c2a2){return _0x2a5245[_0x4487('0x1a')](_0x196f05)['json'](_0x88c2a2);}};}function respondWithFilteredResult(_0x69e30f,_0x1fbfd3){return function(_0x257cf1){if(_0x257cf1){var _0xffa6f4=_0x257cf1[_0x4487('0x1c')],_0x553332=_0x1fbfd3[_0x4487('0x1d')],_0x3c5f79=_0x1fbfd3[_0x4487('0x1d')]+_0x1fbfd3[_0x4487('0x1e')],_0x4081e2;if(_0x3c5f79>=_0xffa6f4){_0x3c5f79=_0xffa6f4;_0x4081e2=0xc8;}else{_0x4081e2=0xce;}_0x69e30f['status'](_0x4081e2);return _0x69e30f[_0x4487('0x1f')](_0x4487('0x20'),_0x553332+'-'+_0x3c5f79+'/'+_0xffa6f4)[_0x4487('0x21')](_0x257cf1);}return null;};}function patchUpdates(_0x78fe6b){return function(_0x269164){try{jsonpatch['apply'](_0x269164,_0x78fe6b,!![]);}catch(_0x3d542b){return BPromise[_0x4487('0x22')](_0x3d542b);}return _0x269164['save']();};}function saveUpdates(_0x290c84,_0x428212){return function(_0x295715){if(_0x295715){return _0x295715[_0x4487('0x23')](_0x290c84)['then'](function(_0x80c820){return _0x80c820;});}return null;};}function removeEntity(_0x417a86,_0x1b2a32){return function(_0x15a661){if(_0x15a661){return _0x15a661[_0x4487('0x24')]()[_0x4487('0x25')](function(){var _0x3b6956=_0x15a661[_0x4487('0x26')]({'plain':!![]});var _0x5c785b=_0x4487('0x27');return db['UserProfileResource'][_0x4487('0x24')]({'where':{'type':_0x5c785b,'resourceId':_0x3b6956['id']}})[_0x4487('0x25')](function(){return _0x15a661;});})[_0x4487('0x25')](function(){_0x417a86[_0x4487('0x1a')](0xcc)[_0x4487('0x1b')]();});}};}function handleEntityNotFound(_0x1c9d3a,_0x45f0b2){return function(_0x36c500){if(!_0x36c500){_0x1c9d3a[_0x4487('0x19')](0x194);}return _0x36c500;};}function handleError(_0x555893,_0x26ecb3){_0x26ecb3=_0x26ecb3||0x1f4;return function(_0x36b23f){logger[_0x4487('0x28')](_0x36b23f[_0x4487('0x29')]);if(_0x36b23f[_0x4487('0x2a')]){delete _0x36b23f[_0x4487('0x2a')];}_0x555893['status'](_0x26ecb3)[_0x4487('0x2b')](_0x36b23f);};}exports['index']=function(_0x188c80,_0x25eab0){var _0x17bd6d={},_0x48cff4={},_0x42766f={'count':0x0,'rows':[]};var _0x4e9c5a=_[_0x4487('0x2c')](db[_0x4487('0x2d')][_0x4487('0x2e')],function(_0x1922a5){return{'name':_0x1922a5[_0x4487('0x2f')],'type':_0x1922a5[_0x4487('0x30')][_0x4487('0x31')]};});_0x48cff4[_0x4487('0x32')]=_[_0x4487('0x2c')](_0x4e9c5a,_0x4487('0x2a'));_0x48cff4[_0x4487('0x33')]=_['keys'](_0x188c80['query']);_0x48cff4['filters']=_[_0x4487('0x34')](_0x48cff4[_0x4487('0x32')],_0x48cff4[_0x4487('0x33')]);_0x17bd6d[_0x4487('0x35')]=_[_0x4487('0x34')](_0x48cff4[_0x4487('0x32')],qs[_0x4487('0x36')](_0x188c80[_0x4487('0x33')][_0x4487('0x36')]));_0x17bd6d['attributes']=_0x17bd6d[_0x4487('0x35')][_0x4487('0x37')]?_0x17bd6d[_0x4487('0x35')]:_0x48cff4[_0x4487('0x32')];if(!_0x188c80[_0x4487('0x33')][_0x4487('0x38')](_0x4487('0x39'))){_0x17bd6d['limit']=qs[_0x4487('0x1e')](_0x188c80[_0x4487('0x33')][_0x4487('0x1e')]);_0x17bd6d[_0x4487('0x1d')]=qs['offset'](_0x188c80['query'][_0x4487('0x1d')]);}_0x17bd6d['order']=qs[_0x4487('0x3a')](_0x188c80[_0x4487('0x33')][_0x4487('0x3a')]);_0x17bd6d[_0x4487('0x3b')]=qs[_0x4487('0x3c')](_[_0x4487('0x3d')](_0x188c80['query'],_0x48cff4[_0x4487('0x3c')]),_0x4e9c5a);if(_0x188c80[_0x4487('0x33')][_0x4487('0x3e')]){_0x17bd6d['where']=_['merge'](_0x17bd6d[_0x4487('0x3b')],{'$or':_[_0x4487('0x2c')](_0x4e9c5a,function(_0x47fcd4){if(_0x47fcd4['type']!==_0x4487('0x3f')){var _0x2768ce={};_0x2768ce[_0x47fcd4[_0x4487('0x2a')]]={'$like':'%'+_0x188c80['query']['filter']+'%'};return _0x2768ce;}})});}_0x17bd6d=_[_0x4487('0x40')]({},_0x17bd6d,_0x188c80[_0x4487('0x41')]);var _0xbd6361={'where':_0x17bd6d['where']};return db[_0x4487('0x2d')][_0x4487('0x1c')](_0xbd6361)[_0x4487('0x25')](function(_0x940ae5){_0x42766f[_0x4487('0x1c')]=_0x940ae5;if(_0x188c80['query']['includeAll']){_0x17bd6d[_0x4487('0x42')]=[{'all':!![]}];}return db[_0x4487('0x2d')][_0x4487('0x43')](_0x17bd6d);})['then'](function(_0x3a2063){_0x42766f[_0x4487('0x44')]=_0x3a2063;return _0x42766f;})[_0x4487('0x25')](respondWithFilteredResult(_0x25eab0,_0x17bd6d))[_0x4487('0x45')](handleError(_0x25eab0,null));};exports[_0x4487('0x46')]=function(_0x4b4e6f,_0x3ab104){var _0x47fcbd={'raw':!![],'where':{'id':_0x4b4e6f['params']['id']}},_0xf1243={};_0xf1243['model']=_[_0x4487('0x47')](db['AnalyticDefaultReport'][_0x4487('0x2e')]);_0xf1243[_0x4487('0x33')]=_[_0x4487('0x47')](_0x4b4e6f[_0x4487('0x33')]);_0xf1243[_0x4487('0x3c')]=_[_0x4487('0x34')](_0xf1243[_0x4487('0x32')],_0xf1243[_0x4487('0x33')]);_0x47fcbd[_0x4487('0x35')]=_['intersection'](_0xf1243[_0x4487('0x32')],qs[_0x4487('0x36')](_0x4b4e6f[_0x4487('0x33')]['fields']));_0x47fcbd['attributes']=_0x47fcbd[_0x4487('0x35')][_0x4487('0x37')]?_0x47fcbd[_0x4487('0x35')]:_0xf1243['model'];if(_0x4b4e6f[_0x4487('0x33')][_0x4487('0x48')]){_0x47fcbd[_0x4487('0x42')]=[{'all':!![]}];}_0x47fcbd=_[_0x4487('0x40')]({},_0x47fcbd,_0x4b4e6f[_0x4487('0x41')]);return db[_0x4487('0x2d')][_0x4487('0x49')](_0x47fcbd)[_0x4487('0x25')](handleEntityNotFound(_0x3ab104,null))[_0x4487('0x25')](respondWithResult(_0x3ab104,null))[_0x4487('0x45')](handleError(_0x3ab104,null));};exports['create']=function(_0x43628a,_0x429a5b){return db[_0x4487('0x2d')]['create'](_0x43628a[_0x4487('0x4a')],{})[_0x4487('0x25')](function(_0x336271){var _0x4e6262=_0x43628a[_0x4487('0x4b')]['get']({'plain':!![]});if(!_0x4e6262)throw new Error(_0x4487('0x4c'));if(_0x4e6262[_0x4487('0x4d')]===_0x4487('0x4b')){var _0x4c7f5d=_0x336271[_0x4487('0x26')]({'plain':!![]});var _0x303fa5=_0x4487('0x4e');return db['UserProfileSection'][_0x4487('0x49')]({'where':{'name':_0x303fa5,'userProfileId':_0x4e6262[_0x4487('0x4f')]},'raw':!![]})[_0x4487('0x25')](function(_0x2f6b86){if(_0x2f6b86&&_0x2f6b86[_0x4487('0x50')]===0x0){return db[_0x4487('0x51')]['create']({'name':_0x4c7f5d[_0x4487('0x2a')],'resourceId':_0x4c7f5d['id'],'type':_0x4487('0x27'),'sectionId':_0x2f6b86['id']},{})[_0x4487('0x25')](function(){return _0x336271;});}else{return _0x336271;}})[_0x4487('0x45')](function(_0x5df746){logger[_0x4487('0x28')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x5df746);throw _0x5df746;});}return _0x336271;})[_0x4487('0x25')](respondWithResult(_0x429a5b,0xc9))[_0x4487('0x45')](handleError(_0x429a5b,null));};exports[_0x4487('0x23')]=function(_0x58cb5a,_0x3e31fd){if(_0x58cb5a[_0x4487('0x4a')]['id']){delete _0x58cb5a['body']['id'];}return db[_0x4487('0x2d')][_0x4487('0x49')]({'where':{'id':_0x58cb5a[_0x4487('0x52')]['id']}})[_0x4487('0x25')](handleEntityNotFound(_0x3e31fd,null))[_0x4487('0x25')](saveUpdates(_0x58cb5a[_0x4487('0x4a')],null))[_0x4487('0x25')](respondWithResult(_0x3e31fd,null))[_0x4487('0x45')](handleError(_0x3e31fd,null));};exports['destroy']=function(_0x257817,_0xb1ce82){return db[_0x4487('0x2d')][_0x4487('0x49')]({'where':{'id':_0x257817['params']['id']}})[_0x4487('0x25')](handleEntityNotFound(_0xb1ce82,null))[_0x4487('0x25')](removeEntity(_0xb1ce82,null))[_0x4487('0x45')](handleError(_0xb1ce82,null));};exports[_0x4487('0x53')]=function(_0x2ec48f,_0x113476){var _0x48ff3f=0xa;var _0x21ddc1=[_0x4487('0x54'),_0x4487('0x55'),'right_join','cross_join'];var _0x35372e={'SUM':_0x4487('0x56'),'COUNT':'COUNT(%s)','COUNT DISTINCT':_0x4487('0x57'),'MAX':_0x4487('0x58'),'MIN':_0x4487('0x59'),'AVG':_0x4487('0x5a'),'GROUP_CONCAT':'GROUP_CONCAT(%s)','GROUP_CONCAT ASC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','GROUP_CONCAT DESC':_0x4487('0x5b')};var _0x5bd57e={'SEC_TO_TIME':'SEC_TO_TIME(%s)','DATE':_0x4487('0x5c'),'HOUR':_0x4487('0x5d'),'ROUND':_0x4487('0x5e'),'UNIX_TIMESTAMP':_0x4487('0x5f')};var _0x2b9dc5=function(_0x5a12ed){return!_['includes'](['IS\x20NULL',_0x4487('0x60'),_0x4487('0x61'),'IS\x20NOT\x20EMPTY'],_0x5a12ed);};var _0x53109b=function(_0x41dcf8){if(!_0x41dcf8||!_0x41dcf8[_0x4487('0x62')][_0x4487('0x37')]){return'';}for(var _0x6f309f='(',_0x35bdde=0x0;_0x35bdde<_0x41dcf8['rules'][_0x4487('0x37')];_0x35bdde+=0x1){_0x35bdde>0x0&&(_0x6f309f+='\x20'+_0x41dcf8[_0x4487('0x63')]+'\x20');_0x6f309f+=_0x41dcf8[_0x4487('0x62')][_0x35bdde][_0x4487('0x64')]?_0x53109b(_0x41dcf8[_0x4487('0x62')][_0x35bdde]['group']):_0x41dcf8[_0x4487('0x62')][_0x35bdde][_0x4487('0x65')]+'\x20'+_0x41dcf8[_0x4487('0x62')][_0x35bdde]['condition']+(_0x2b9dc5(_0x41dcf8[_0x4487('0x62')][_0x35bdde][_0x4487('0x66')])?'\x20'+_0x41dcf8[_0x4487('0x62')][_0x35bdde][_0x4487('0x67')]:'');}return _0x6f309f+')';};var _0x478b48={'where':{'id':_0x2ec48f[_0x4487('0x52')]['id']}},_0x259a62,_0x5affa8,_0x5c9ebe,_0x329293,_0x2b5d89;_0x478b48=_['merge']({},_0x478b48,_0x2ec48f[_0x4487('0x41')]);return db['AnalyticDefaultReport']['find'](_0x478b48)[_0x4487('0x25')](function(_0x54c668){if(_0x54c668){_0x259a62=_0x54c668;return _0x54c668['getFields']();}return null;})[_0x4487('0x25')](function(_0x36a33a){if(_0x36a33a){if(!_0x36a33a['length']){throw new db[(_0x4487('0x68'))]['ValidationErrorItem'](_0x4487('0x69'),0x193);}_0x5affa8=_0x36a33a;return db[_0x4487('0x6a')]['findAll']({'raw':!![]});}return null;})[_0x4487('0x25')](function(_0x11b746){if(_0x11b746){_0x5c9ebe=_[_0x4487('0x6b')](_0x11b746,'id');var _0x5f3a93;var _0x2d100a=squel['select']();_0x2d100a['from'](_0x259a62[_0x4487('0x6c')]);for(var _0x4682d7=0x0;_0x4682d7<_0x5affa8[_0x4487('0x37')];_0x4682d7+=0x1){_0x5f3a93=_0x5affa8[_0x4682d7][_0x4487('0x6d')]?_0x5c9ebe[_0x5affa8[_0x4682d7][_0x4487('0x6d')]][_0x4487('0x6e')]:_0x5affa8[_0x4682d7][_0x4487('0x65')];_0x5f3a93=_0x5affa8[_0x4682d7]['function']?_[_0x4487('0x6f')](_0x35372e[_0x5affa8[_0x4682d7]['function']],'%s',_0x5f3a93):_0x5f3a93;_0x5f3a93=_0x5affa8[_0x4682d7]['format']?_[_0x4487('0x6f')](_0x5bd57e[_0x5affa8[_0x4682d7][_0x4487('0x70')]],'%s',_0x5f3a93):_0x5f3a93;if(_0x5affa8[_0x4682d7][_0x4487('0x71')]){_0x2d100a['group'](_0x5f3a93);}_0x5affa8[_0x4682d7][_0x4487('0x72')]&&_0x2d100a[_0x4487('0x73')](_0x5f3a93,_0x5affa8[_0x4682d7][_0x4487('0x72')]===_0x4487('0x74')?![]:!![]);_0x2d100a[_0x4487('0x65')](_0x5f3a93,_0x5affa8[_0x4682d7][_0x4487('0x75')]||_0x5f3a93);}if(_0x259a62[_0x4487('0x76')]){_0x259a62[_0x4487('0x76')]=JSON[_0x4487('0x77')](_0x259a62[_0x4487('0x76')]);for(var _0x21852d=0x0;_0x21852d<_0x259a62[_0x4487('0x76')][_0x4487('0x37')];_0x21852d+=0x1){if(_0x259a62[_0x4487('0x76')][_0x21852d][_0x4487('0x30')]&&_['includes'](_0x21ddc1,_0x259a62[_0x4487('0x76')][_0x21852d][_0x4487('0x30')])&&_0x259a62[_0x4487('0x76')][_0x21852d][_0x4487('0x78')]&&_0x259a62[_0x4487('0x76')][_0x21852d][_0x4487('0x79')]&&_0x259a62[_0x4487('0x76')][_0x21852d][_0x4487('0x7a')]){_0x2d100a[_0x259a62[_0x4487('0x76')][_0x21852d][_0x4487('0x30')]](_0x259a62[_0x4487('0x76')][_0x21852d]['foreignTable'],null,util[_0x4487('0x70')](_0x4487('0x7b'),_0x259a62[_0x4487('0x6c')],_0x259a62[_0x4487('0x76')][_0x21852d][_0x4487('0x78')],_0x259a62[_0x4487('0x76')][_0x21852d][_0x4487('0x79')],_0x259a62[_0x4487('0x76')][_0x21852d][_0x4487('0x7a')]));}}}if(_0x259a62[_0x4487('0x7c')]){_0x259a62[_0x4487('0x7c')]=JSON[_0x4487('0x77')](_0x259a62['conditions']);_0x2d100a[_0x4487('0x3b')](_0x53109b(_0x259a62[_0x4487('0x7c')][_0x4487('0x64')]));}_0x2b5d89=_0x2d100a[_0x4487('0x7d')]();_0x2d100a['limit'](_0x48ff3f);_0x2d100a[_0x4487('0x1d')](0x0);logger[_0x4487('0x7e')](_0x4487('0x7f'),_0x2d100a[_0x4487('0x80')]());return db[_0x4487('0x81')][_0x4487('0x33')](_0x2d100a[_0x4487('0x80')](),{'type':db[_0x4487('0x81')][_0x4487('0x82')][_0x4487('0x83')]});}})[_0x4487('0x25')](respondWithResult(_0x113476,null))[_0x4487('0x45')](handleError(_0x113476,null));};function runReport(_0x1c045c,_0x423dd8,_0x402d6f){var _0x42e1e8=_0x423dd8[_0x4487('0x2a')];var _0x4358e3=0xa;var _0x392d67=[_0x4487('0x54'),_0x4487('0x55'),'right_join',_0x4487('0x84')];var _0x49b6dd={'SUM':_0x4487('0x56'),'COUNT':_0x4487('0x85'),'COUNT DISTINCT':_0x4487('0x57'),'MAX':_0x4487('0x58'),'MIN':_0x4487('0x59'),'AVG':_0x4487('0x5a'),'GROUP_CONCAT':_0x4487('0x86'),'GROUP_CONCAT ASC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','GROUP_CONCAT DESC':_0x4487('0x5b')};var _0xfe603={'SEC_TO_TIME':_0x4487('0x87'),'DATE':_0x4487('0x5c'),'HOUR':_0x4487('0x5d'),'ROUND':'ROUND(%s)','UNIX_TIMESTAMP':'UNIX_TIMESTAMP(%s)'};var _0x2fdee1=function(_0x19dfaf){return!_[_0x4487('0x88')](['IS\x20NULL',_0x4487('0x60'),'IS\x20EMPTY',_0x4487('0x89')],_0x19dfaf);};var _0x4bd8f4=function(_0x237d58){if(!_0x237d58||!_0x237d58['rules']['length']){return'';}for(var _0x9ae42f='(',_0x54d60f=0x0;_0x54d60f<_0x237d58['rules'][_0x4487('0x37')];_0x54d60f+=0x1){_0x54d60f>0x0&&(_0x9ae42f+='\x20'+_0x237d58[_0x4487('0x63')]+'\x20');_0x9ae42f+=_0x237d58[_0x4487('0x62')][_0x54d60f][_0x4487('0x64')]?_0x4bd8f4(_0x237d58[_0x4487('0x62')][_0x54d60f][_0x4487('0x64')]):_0x237d58['rules'][_0x54d60f][_0x4487('0x65')]+'\x20'+_0x237d58[_0x4487('0x62')][_0x54d60f][_0x4487('0x66')]+(_0x2fdee1(_0x237d58[_0x4487('0x62')][_0x54d60f][_0x4487('0x66')])?'\x20'+_0x237d58['rules'][_0x54d60f][_0x4487('0x67')]:'');}return _0x9ae42f+')';};var _0x5a289a={'where':{'id':_0x1c045c['id']}},_0xd5bac1,_0x2fa88d,_0x71bd57,_0x4b7d76,_0x21271c;_0x5a289a=_[_0x4487('0x40')]({},_0x5a289a,_0x402d6f);return db['AnalyticDefaultReport'][_0x4487('0x49')](_0x5a289a)[_0x4487('0x25')](function(_0x55c22c){if(_0x55c22c){_0xd5bac1=_0x55c22c;return _0x55c22c[_0x4487('0x8a')]();}return null;})[_0x4487('0x25')](function(_0x121cf8){if(_0x121cf8){if(!_0x121cf8['length']){throw new db[(_0x4487('0x68'))][(_0x4487('0x8b'))]('Please\x20insert\x20at\x20least\x20one\x20field',0x193);}_0x2fa88d=_0x121cf8;return db['AnalyticMetric']['findAll']({'raw':!![]});}return null;})[_0x4487('0x25')](function(_0x8cfb8f){if(_0x8cfb8f){_0x71bd57=_[_0x4487('0x6b')](_0x8cfb8f,'id');var _0x48eb92;var _0x10eb5a=squel['select']();_0x10eb5a[_0x4487('0x8c')](_0xd5bac1[_0x4487('0x6c')]);for(var _0x410d15=0x0;_0x410d15<_0x2fa88d[_0x4487('0x37')];_0x410d15+=0x1){_0x48eb92=_0x2fa88d[_0x410d15][_0x4487('0x6d')]?_0x71bd57[_0x2fa88d[_0x410d15][_0x4487('0x6d')]][_0x4487('0x6e')]:_0x2fa88d[_0x410d15]['field'];_0x48eb92=_0x2fa88d[_0x410d15]['function']?_[_0x4487('0x6f')](_0x49b6dd[_0x2fa88d[_0x410d15][_0x4487('0x8d')]],'%s',_0x48eb92):_0x48eb92;_0x48eb92=_0x2fa88d[_0x410d15][_0x4487('0x70')]?_[_0x4487('0x6f')](_0xfe603[_0x2fa88d[_0x410d15][_0x4487('0x70')]],'%s',_0x48eb92):_0x48eb92;if(_0x2fa88d[_0x410d15][_0x4487('0x71')]){_0x10eb5a[_0x4487('0x64')](_0x48eb92);}_0x2fa88d[_0x410d15][_0x4487('0x72')]&&_0x10eb5a[_0x4487('0x73')](_0x48eb92,_0x2fa88d[_0x410d15][_0x4487('0x72')]===_0x4487('0x74')?![]:!![]);_0x10eb5a['field'](_0x48eb92,_0x2fa88d[_0x410d15][_0x4487('0x75')]||_0x48eb92);}if(_0xd5bac1[_0x4487('0x76')]){_0xd5bac1[_0x4487('0x76')]=JSON['parse'](_0xd5bac1[_0x4487('0x76')]);for(var _0x481b9a=0x0;_0x481b9a<_0xd5bac1[_0x4487('0x76')][_0x4487('0x37')];_0x481b9a+=0x1){if(_0xd5bac1[_0x4487('0x76')][_0x481b9a][_0x4487('0x30')]&&_[_0x4487('0x88')](_0x392d67,_0xd5bac1['joins'][_0x481b9a]['type'])&&_0xd5bac1[_0x4487('0x76')][_0x481b9a][_0x4487('0x78')]&&_0xd5bac1[_0x4487('0x76')][_0x481b9a][_0x4487('0x79')]&&_0xd5bac1[_0x4487('0x76')][_0x481b9a][_0x4487('0x7a')]){_0x10eb5a[_0xd5bac1['joins'][_0x481b9a][_0x4487('0x30')]](_0xd5bac1[_0x4487('0x76')][_0x481b9a][_0x4487('0x79')],null,util[_0x4487('0x70')](_0x4487('0x7b'),_0xd5bac1[_0x4487('0x6c')],_0xd5bac1['joins'][_0x481b9a]['parentKey'],_0xd5bac1[_0x4487('0x76')][_0x481b9a][_0x4487('0x79')],_0xd5bac1[_0x4487('0x76')][_0x481b9a][_0x4487('0x7a')]));}}}if(_0xd5bac1[_0x4487('0x7c')]){_0xd5bac1[_0x4487('0x7c')]=JSON[_0x4487('0x77')](_0xd5bac1[_0x4487('0x7c')]);_0x10eb5a[_0x4487('0x3b')](_0x4bd8f4(_0xd5bac1['conditions'][_0x4487('0x64')]));}_0x21271c=_0x10eb5a[_0x4487('0x7d')]();_0x10eb5a[_0x4487('0x1e')](_0x4358e3);_0x10eb5a[_0x4487('0x1d')](0x0);logger[_0x4487('0x7e')](_0x4487('0x7f'),_0x10eb5a['toString']());return db[_0x4487('0x81')][_0x4487('0x33')](_0x10eb5a[_0x4487('0x80')](),{'type':db[_0x4487('0x81')][_0x4487('0x82')][_0x4487('0x83')]});}})[_0x4487('0x25')](function(_0x44ab52){if(!_0x44ab52[_0x4487('0x37')]){throw new db[(_0x4487('0x68'))]['ValidationErrorItem']('No\x20available\x20data',0xcc);}if(_0x423dd8[_0x4487('0x8e')]===_0x4487('0x8f')){return null;}var _0x44e4b6=_[_0x4487('0x40')](_0x423dd8,{'name':_0x423dd8[_0x4487('0x90')]||_0x423dd8['name']||_0xd5bac1['name'],'basename':_0x42e1e8,'savename':util[_0x4487('0x70')](_0x4487('0x91'),_0x423dd8[_0x4487('0x2a')]||_0xd5bac1[_0x4487('0x2a')],require(_0x4487('0x92'))[_0x4487('0x93')](0x4),_0x423dd8[_0x4487('0x8e')]||'csv'),'reportId':_0xd5bac1['id'],'reportType':_0x4487('0x94')});return db['AnalyticExtractedReport'][_0x4487('0x95')](_0x44e4b6,{'raw':!![]});})[_0x4487('0x25')](function(_0x492f8e){if(_0xd5bac1[_0x4487('0x6c')]===_0x4487('0x96')){_0x21271c[_0x4487('0x3b')](_0xd5bac1[_0x4487('0x6c')]+_0x4487('0x97'),_0x423dd8[_0x4487('0x98')],_0x423dd8['endDate']);}else{_0x21271c['where'](_0xd5bac1[_0x4487('0x6c')]+'.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0x423dd8[_0x4487('0x98')],_0x423dd8[_0x4487('0x99')]);}if(_0x492f8e){logger[_0x4487('0x9a')](_0x4487('0x9b'),_0x21271c[_0x4487('0x80')]());require(_0x4487('0x9c'))[_0x4487('0x9d')](path[_0x4487('0x54')](__dirname,_0x4487('0x9e'),_0x492f8e[_0x4487('0x8e')]),[_0x492f8e['id'],_0x21271c[_0x4487('0x80')](),path[_0x4487('0x54')](__dirname,_0x4487('0x9f'),_0x492f8e[_0x4487('0xa0')]),_0x42e1e8]);return _0x492f8e;}else{var _0x524763=squel[_0x4487('0xa1')]();_0x524763[_0x4487('0x8c')]('('+_0x21271c[_0x4487('0x80')]()+')',_0x4487('0xa2'));_0x524763['field']('COUNT(*)',_0x4487('0x1c'));_0x21271c[_0x4487('0x1e')](_0x423dd8[_0x4487('0x1e')]||_0x4358e3);_0x21271c[_0x4487('0x1d')](_0x423dd8[_0x4487('0x1d')]||0x0);return dbH[_0x4487('0x81')][_0x4487('0x33')](_0x524763[_0x4487('0x80')](),{'type':dbH[_0x4487('0x81')]['QueryTypes'][_0x4487('0x83')]})[_0x4487('0x25')](function(_0x2c96b4){if(!_0x2c96b4[_0x4487('0x37')]){_0x4b7d76=0x0;}else{_0x4b7d76=_0x2c96b4[0x0][_0x4487('0x1c')]||0x0;}return dbH[_0x4487('0x81')][_0x4487('0x33')](_0x21271c['toString'](),{'type':dbH[_0x4487('0x81')][_0x4487('0x82')]['SELECT']});})[_0x4487('0x25')](function(_0x135086){return{'rows':_0x135086||[],'count':_0x4b7d76};});}});}exports[_0x4487('0xa3')]=function(_0x1ee0b1,_0x3c59e4){return runReport(_0x1ee0b1[_0x4487('0x52')],_0x1ee0b1[_0x4487('0x33')],_0x1ee0b1[_0x4487('0x41')])[_0x4487('0x25')](respondWithResult(_0x3c59e4,null))[_0x4487('0x45')](handleError(_0x3c59e4,null));};exports[_0x4487('0xa4')]=runReport;exports[_0x4487('0x33')]=function(_0x1793e8,_0x218ab6){var _0x17ebda=0xa;var _0x14113b=['join',_0x4487('0x55'),_0x4487('0xa5'),_0x4487('0x84')];var _0x52d114={'SUM':'SUM(%s)','COUNT':'COUNT(%s)','COUNT DISTINCT':'COUNT(DISTINCT\x20%s)','MAX':'MAX(%s)','MIN':'MIN(%s)','AVG':'AVG(%s)','GROUP_CONCAT':'GROUP_CONCAT(%s)','GROUP_CONCAT ASC':_0x4487('0xa6'),'GROUP_CONCAT DESC':_0x4487('0x5b')};var _0x20c050={'SEC_TO_TIME':'SEC_TO_TIME(%s)','DATE':_0x4487('0x5c'),'HOUR':_0x4487('0x5d'),'ROUND':_0x4487('0x5e'),'UNIX_TIMESTAMP':_0x4487('0x5f')};var _0x41b082=function(_0x267b54){return!_['includes'](['IS\x20NULL',_0x4487('0x60'),_0x4487('0x61'),'IS\x20NOT\x20EMPTY'],_0x267b54);};var _0x177c01=function(_0x21cd1c){if(!_0x21cd1c||!_0x21cd1c[_0x4487('0x62')]['length']){return'';}for(var _0x40b2ec='(',_0x33ecdf=0x0;_0x33ecdf<_0x21cd1c['rules']['length'];_0x33ecdf+=0x1){_0x33ecdf>0x0&&(_0x40b2ec+='\x20'+_0x21cd1c[_0x4487('0x63')]+'\x20');_0x40b2ec+=_0x21cd1c[_0x4487('0x62')][_0x33ecdf][_0x4487('0x64')]?_0x177c01(_0x21cd1c[_0x4487('0x62')][_0x33ecdf][_0x4487('0x64')]):_0x21cd1c[_0x4487('0x62')][_0x33ecdf][_0x4487('0x65')]+'\x20'+_0x21cd1c['rules'][_0x33ecdf][_0x4487('0x66')]+(_0x41b082(_0x21cd1c[_0x4487('0x62')][_0x33ecdf][_0x4487('0x66')])?'\x20'+_0x21cd1c[_0x4487('0x62')][_0x33ecdf][_0x4487('0x67')]:'');}return _0x40b2ec+')';};var _0x1267bb={'where':{'id':_0x1793e8['params']['id']}},_0x371c9f,_0x4948f4,_0x5400b4,_0x4829bc,_0x423c4e;_0x1267bb=_[_0x4487('0x40')]({},_0x1267bb,_0x1793e8[_0x4487('0x41')]);return db['AnalyticDefaultReport'][_0x4487('0x49')](_0x1267bb)['then'](function(_0x4dce4a){if(_0x4dce4a){_0x371c9f=_0x4dce4a;return _0x4dce4a['getFields']();}return null;})[_0x4487('0x25')](function(_0xf6eeb9){if(_0xf6eeb9){if(!_0xf6eeb9[_0x4487('0x37')]){throw new db['Sequelize']['ValidationErrorItem'](_0x4487('0x69'),0x193);}_0x4948f4=_0xf6eeb9;return db[_0x4487('0x6a')][_0x4487('0x43')]({'raw':!![]});}return null;})[_0x4487('0x25')](function(_0xe485a3){if(_0xe485a3){_0x5400b4=_[_0x4487('0x6b')](_0xe485a3,'id');var _0x441245;var _0x13efb6=squel['select']();_0x13efb6['from'](_0x371c9f['table']);for(var _0x438e6c=0x0;_0x438e6c<_0x4948f4['length'];_0x438e6c+=0x1){_0x441245=_0x4948f4[_0x438e6c][_0x4487('0x6d')]?_0x5400b4[_0x4948f4[_0x438e6c][_0x4487('0x6d')]]['metric']:_0x4948f4[_0x438e6c][_0x4487('0x65')];_0x441245=_0x4948f4[_0x438e6c]['function']?_['replace'](_0x52d114[_0x4948f4[_0x438e6c][_0x4487('0x8d')]],'%s',_0x441245):_0x441245;_0x441245=_0x4948f4[_0x438e6c][_0x4487('0x70')]?_[_0x4487('0x6f')](_0x20c050[_0x4948f4[_0x438e6c]['format']],'%s',_0x441245):_0x441245;if(_0x4948f4[_0x438e6c][_0x4487('0x71')]){_0x13efb6[_0x4487('0x64')](_0x441245);}_0x4948f4[_0x438e6c][_0x4487('0x72')]&&_0x13efb6[_0x4487('0x73')](_0x441245,_0x4948f4[_0x438e6c][_0x4487('0x72')]==='DESC'?![]:!![]);_0x13efb6[_0x4487('0x65')](_0x441245,_0x4948f4[_0x438e6c][_0x4487('0x75')]||_0x441245);}if(_0x371c9f[_0x4487('0x76')]){_0x371c9f[_0x4487('0x76')]=JSON[_0x4487('0x77')](_0x371c9f[_0x4487('0x76')]);for(var _0x2aef08=0x0;_0x2aef08<_0x371c9f['joins'][_0x4487('0x37')];_0x2aef08+=0x1){if(_0x371c9f[_0x4487('0x76')][_0x2aef08][_0x4487('0x30')]&&_[_0x4487('0x88')](_0x14113b,_0x371c9f[_0x4487('0x76')][_0x2aef08][_0x4487('0x30')])&&_0x371c9f['joins'][_0x2aef08][_0x4487('0x78')]&&_0x371c9f[_0x4487('0x76')][_0x2aef08][_0x4487('0x79')]&&_0x371c9f[_0x4487('0x76')][_0x2aef08][_0x4487('0x7a')]){_0x13efb6[_0x371c9f[_0x4487('0x76')][_0x2aef08][_0x4487('0x30')]](_0x371c9f[_0x4487('0x76')][_0x2aef08][_0x4487('0x79')],null,util['format'](_0x4487('0x7b'),_0x371c9f[_0x4487('0x6c')],_0x371c9f[_0x4487('0x76')][_0x2aef08][_0x4487('0x78')],_0x371c9f[_0x4487('0x76')][_0x2aef08]['foreignTable'],_0x371c9f['joins'][_0x2aef08][_0x4487('0x7a')]));}}}if(_0x371c9f[_0x4487('0x7c')]){_0x371c9f[_0x4487('0x7c')]=JSON[_0x4487('0x77')](_0x371c9f['conditions']);_0x13efb6[_0x4487('0x3b')](_0x177c01(_0x371c9f[_0x4487('0x7c')][_0x4487('0x64')]));}_0x423c4e=_0x13efb6[_0x4487('0x7d')]();_0x13efb6['limit'](_0x17ebda);_0x13efb6[_0x4487('0x1d')](0x0);logger[_0x4487('0x7e')](_0x4487('0x7f'),_0x13efb6['toString']());return db[_0x4487('0x81')]['query'](_0x13efb6[_0x4487('0x80')](),{'type':db[_0x4487('0x81')][_0x4487('0x82')]['SELECT']});}})[_0x4487('0x25')](function(){return{'sql':_0x423c4e[_0x4487('0x80')]()};})[_0x4487('0x25')](respondWithResult(_0x218ab6,null))[_0x4487('0x45')](handleError(_0x218ab6,null));};