Built motion from commit (unavailable).|2.4.4
[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 _0xccc5=['cdr','.calldate\x20BETWEEN\x20?\x20AND\x20?','endDate','.createdAt\x20BETWEEN\x20?\x20AND\x20?','info','Run\x20Query:','fork','../../components/export/','join','../../files/reports','savename','countTable','COUNT(*)','SUM(%s)','html-pdf','eml-format','rimraf','zip-dir','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../config/license/hardware','api','../../mysqldb','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','update','then','destroy','get','stack','name','send','index','AnalyticCustomReport','rawAttributes','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','merge','type','key','VIRTUAL','field','options','include','findAll','catch','show','params','includeAll','find','create','role','user','Reports','UserProfileSection','userProfileId','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','left_join','right_join','cross_join','COUNT(%s)','MAX(%s)','MIN(%s)','GROUP_CONCAT(%s)','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)','SEC_TO_TIME(%s)','ROUND(%s)','UNIX_TIMESTAMP(%s)','includes','IS\x20NULL','IS\x20NOT\x20NULL','IS\x20EMPTY','IS\x20NOT\x20EMPTY','rules','operator','group','condition','value','getFields','Sequelize','ValidationErrorItem','Please\x20insert\x20at\x20least\x20one\x20field','keyBy','select','from','MetricId','metric','replace','function','format','groupBy','orderBy','DESC','alias','joins','parse','parentKey','foreignTable','foreignKey','%s.%s\x20=\x20%s.%s','conditions','clone','debug','Limited\x20Query:','toString','sequelize','QueryTypes','SELECT','COUNT(DISTINCT\x20%s)','DATE(%s)','HOUR(%s)','AnalyticMetric','table','No\x20available\x20data','web','fullPath','randomstring','output','csv','custom','AnalyticExtractedReport'];(function(_0x46aff0,_0x122890){var _0x9d78cf=function(_0x3f14cb){while(--_0x3f14cb){_0x46aff0['push'](_0x46aff0['shift']());}};_0x9d78cf(++_0x122890);}(_0xccc5,0x1e8));var _0x5ccc=function(_0x5d2803,_0xf375bd){_0x5d2803=_0x5d2803-0x0;var _0xdcad2c=_0xccc5[_0x5d2803];return _0xdcad2c;};'use strict';var pdf=require(_0x5ccc('0x0'));var emlformat=require(_0x5ccc('0x1'));var rimraf=require(_0x5ccc('0x2'));var zipdir=require(_0x5ccc('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0x5ccc('0x4'));var moment=require('moment');var BPromise=require(_0x5ccc('0x5'));var Mustache=require(_0x5ccc('0x6'));var util=require(_0x5ccc('0x7'));var path=require(_0x5ccc('0x8'));var sox=require(_0x5ccc('0x9'));var csv=require(_0x5ccc('0xa'));var ejs=require(_0x5ccc('0xb'));var fs=require('fs');var _=require(_0x5ccc('0xc'));var squel=require(_0x5ccc('0xd'));var crypto=require(_0x5ccc('0xe'));var jsforce=require(_0x5ccc('0xf'));var deskjs=require(_0x5ccc('0x10'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x5ccc('0x11'));var Redis=require(_0x5ccc('0x12'));var authService=require(_0x5ccc('0x13'));var qs=require('../../components/parsers/qs');var hardwareService=require(_0x5ccc('0x14'));var logger=require('../../config/logger')(_0x5ccc('0x15'));var utils=require('../../config/utils');var config=require('../../config/environment');var db=require(_0x5ccc('0x16'))['db'];function respondWithStatusCode(_0x5367e1,_0x1c8e8d){_0x1c8e8d=_0x1c8e8d||0xcc;return function(_0x2e9a00){if(_0x2e9a00){return _0x5367e1['sendStatus'](_0x1c8e8d);}return _0x5367e1[_0x5ccc('0x17')](_0x1c8e8d)[_0x5ccc('0x18')]();};}function respondWithResult(_0x3f75ab,_0x2d6e0d){_0x2d6e0d=_0x2d6e0d||0xc8;return function(_0x311079){if(_0x311079){return _0x3f75ab[_0x5ccc('0x17')](_0x2d6e0d)[_0x5ccc('0x19')](_0x311079);}};}function respondWithFilteredResult(_0x466b9d,_0x3133fa){return function(_0x548334){if(_0x548334){var _0x277305=_0x548334[_0x5ccc('0x1a')],_0x5ca4c9=_0x3133fa[_0x5ccc('0x1b')],_0xdaa7d2=_0x3133fa['offset']+_0x3133fa[_0x5ccc('0x1c')],_0x4cb16f;if(_0xdaa7d2>=_0x277305){_0xdaa7d2=_0x277305;_0x4cb16f=0xc8;}else{_0x4cb16f=0xce;}_0x466b9d[_0x5ccc('0x17')](_0x4cb16f);return _0x466b9d[_0x5ccc('0x1d')](_0x5ccc('0x1e'),_0x5ca4c9+'-'+_0xdaa7d2+'/'+_0x277305)[_0x5ccc('0x19')](_0x548334);}return null;};}function patchUpdates(_0x5172db){return function(_0x4f537a){try{jsonpatch[_0x5ccc('0x1f')](_0x4f537a,_0x5172db,!![]);}catch(_0x4f1bf5){return BPromise[_0x5ccc('0x20')](_0x4f1bf5);}return _0x4f537a[_0x5ccc('0x21')]();};}function saveUpdates(_0x375814,_0xc37c2e){return function(_0xcd306f){if(_0xcd306f){return _0xcd306f[_0x5ccc('0x22')](_0x375814)[_0x5ccc('0x23')](function(_0x367e58){return _0x367e58;});}return null;};}function removeEntity(_0x31ad7f,_0xd4beea){return function(_0x2cd637){if(_0x2cd637){return _0x2cd637[_0x5ccc('0x24')]()['then'](function(){var _0x580163=_0x2cd637[_0x5ccc('0x25')]({'plain':!![]});var _0x9ea2f1='CustomReports';return db['UserProfileResource'][_0x5ccc('0x24')]({'where':{'type':_0x9ea2f1,'resourceId':_0x580163['id']}})['then'](function(){return _0x2cd637;});})[_0x5ccc('0x23')](function(){_0x31ad7f['status'](0xcc)[_0x5ccc('0x18')]();});}};}function handleEntityNotFound(_0x43e4e9,_0x3f7678){return function(_0x499032){if(!_0x499032){_0x43e4e9['sendStatus'](0x194);}return _0x499032;};}function handleError(_0x2f42be,_0x4471ae){_0x4471ae=_0x4471ae||0x1f4;return function(_0x16f76e){logger['error'](_0x16f76e[_0x5ccc('0x26')]);if(_0x16f76e[_0x5ccc('0x27')]){delete _0x16f76e['name'];}_0x2f42be[_0x5ccc('0x17')](_0x4471ae)[_0x5ccc('0x28')](_0x16f76e);};}exports[_0x5ccc('0x29')]=function(_0x2a0947,_0x48b903){var _0x1f6d20={},_0x10e5b1={},_0x43e39a={'count':0x0,'rows':[]};var _0x1b011a=db[_0x5ccc('0x2a')][_0x5ccc('0x2b')];_0x10e5b1['model']=_['keys'](_0x1b011a);_0x10e5b1[_0x5ccc('0x2c')]=_[_0x5ccc('0x2d')](_0x2a0947[_0x5ccc('0x2c')]);_0x10e5b1[_0x5ccc('0x2e')]=_[_0x5ccc('0x2f')](_0x10e5b1[_0x5ccc('0x30')],_0x10e5b1['query']);_0x1f6d20[_0x5ccc('0x31')]=_['intersection'](_0x10e5b1[_0x5ccc('0x30')],qs[_0x5ccc('0x32')](_0x2a0947[_0x5ccc('0x2c')]['fields']));_0x1f6d20['attributes']=_0x1f6d20[_0x5ccc('0x31')][_0x5ccc('0x33')]?_0x1f6d20[_0x5ccc('0x31')]:_0x10e5b1[_0x5ccc('0x30')];if(!_0x2a0947[_0x5ccc('0x2c')][_0x5ccc('0x34')](_0x5ccc('0x35'))){_0x1f6d20[_0x5ccc('0x1c')]=qs[_0x5ccc('0x1c')](_0x2a0947[_0x5ccc('0x2c')][_0x5ccc('0x1c')]);_0x1f6d20['offset']=qs[_0x5ccc('0x1b')](_0x2a0947[_0x5ccc('0x2c')][_0x5ccc('0x1b')]);}_0x1f6d20[_0x5ccc('0x36')]=qs[_0x5ccc('0x37')](_0x2a0947[_0x5ccc('0x2c')][_0x5ccc('0x37')]);_0x1f6d20[_0x5ccc('0x38')]=qs[_0x5ccc('0x2e')](_['pick'](_0x2a0947[_0x5ccc('0x2c')],_0x10e5b1['filters']));if(_0x2a0947[_0x5ccc('0x2c')]['filter']){_0x1f6d20[_0x5ccc('0x38')]=_[_0x5ccc('0x39')](_0x1f6d20['where'],{'$or':_['map'](_0x1b011a,function(_0x50a2ab){if(_0x50a2ab[_0x5ccc('0x3a')][_0x5ccc('0x3b')]!==_0x5ccc('0x3c')){var _0x192a8c={};_0x192a8c[_0x50a2ab[_0x5ccc('0x3d')]]={'$like':'%'+_0x2a0947[_0x5ccc('0x2c')]['filter']+'%'};return _0x192a8c;}})});}_0x1f6d20=_[_0x5ccc('0x39')]({},_0x1f6d20,_0x2a0947[_0x5ccc('0x3e')]);var _0x9fe35={'where':_0x1f6d20[_0x5ccc('0x38')]};return db[_0x5ccc('0x2a')][_0x5ccc('0x1a')](_0x9fe35)['then'](function(_0x3d87d6){_0x43e39a[_0x5ccc('0x1a')]=_0x3d87d6;if(_0x2a0947[_0x5ccc('0x2c')]['includeAll']){_0x1f6d20[_0x5ccc('0x3f')]=[{'all':!![]}];}return db['AnalyticCustomReport'][_0x5ccc('0x40')](_0x1f6d20);})[_0x5ccc('0x23')](function(_0x36b381){_0x43e39a['rows']=_0x36b381;return _0x43e39a;})[_0x5ccc('0x23')](respondWithFilteredResult(_0x48b903,_0x1f6d20))[_0x5ccc('0x41')](handleError(_0x48b903,null));};exports[_0x5ccc('0x42')]=function(_0x1e2147,_0x3c0e88){var _0x436e17={'raw':![],'where':{'id':_0x1e2147[_0x5ccc('0x43')]['id']}},_0x4799b2={};_0x4799b2[_0x5ccc('0x30')]=_['keys'](db[_0x5ccc('0x2a')][_0x5ccc('0x2b')]);_0x4799b2[_0x5ccc('0x2c')]=_[_0x5ccc('0x2d')](_0x1e2147['query']);_0x4799b2['filters']=_[_0x5ccc('0x2f')](_0x4799b2[_0x5ccc('0x30')],_0x4799b2[_0x5ccc('0x2c')]);_0x436e17[_0x5ccc('0x31')]=_[_0x5ccc('0x2f')](_0x4799b2['model'],qs[_0x5ccc('0x32')](_0x1e2147[_0x5ccc('0x2c')][_0x5ccc('0x32')]));_0x436e17[_0x5ccc('0x31')]=_0x436e17[_0x5ccc('0x31')][_0x5ccc('0x33')]?_0x436e17['attributes']:_0x4799b2[_0x5ccc('0x30')];if(_0x1e2147['query'][_0x5ccc('0x44')]){_0x436e17[_0x5ccc('0x3f')]=[{'all':!![]}];}_0x436e17=_[_0x5ccc('0x39')]({},_0x436e17,_0x1e2147[_0x5ccc('0x3e')]);return db['AnalyticCustomReport'][_0x5ccc('0x45')](_0x436e17)[_0x5ccc('0x23')](handleEntityNotFound(_0x3c0e88,null))[_0x5ccc('0x23')](respondWithResult(_0x3c0e88,null))[_0x5ccc('0x41')](handleError(_0x3c0e88,null));};exports['create']=function(_0x4bbbdc,_0x4ab13c){return db[_0x5ccc('0x2a')][_0x5ccc('0x46')](_0x4bbbdc['body'],{})[_0x5ccc('0x23')](function(_0x265b6e){var _0xd9d561=_0x4bbbdc['user'][_0x5ccc('0x25')]({'plain':!![]});if(!_0xd9d561)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0xd9d561[_0x5ccc('0x47')]===_0x5ccc('0x48')){var _0x154422=_0x265b6e[_0x5ccc('0x25')]({'plain':!![]});var _0x57791a=_0x5ccc('0x49');return db[_0x5ccc('0x4a')][_0x5ccc('0x45')]({'where':{'name':_0x57791a,'userProfileId':_0xd9d561[_0x5ccc('0x4b')]},'raw':!![]})[_0x5ccc('0x23')](function(_0x550fd3){if(_0x550fd3&&_0x550fd3['autoAssociation']===0x0){return db[_0x5ccc('0x4c')]['create']({'name':_0x154422[_0x5ccc('0x27')],'resourceId':_0x154422['id'],'type':'CustomReports','sectionId':_0x550fd3['id']},{})[_0x5ccc('0x23')](function(){return _0x265b6e;});}else{return _0x265b6e;}})[_0x5ccc('0x41')](function(_0x295eaa){logger['error'](_0x5ccc('0x4d'),_0x295eaa);throw _0x295eaa;});}return _0x265b6e;})['then'](respondWithResult(_0x4ab13c,0xc9))[_0x5ccc('0x41')](handleError(_0x4ab13c,null));};exports[_0x5ccc('0x22')]=function(_0x1863fa,_0x3f5ab7){if(_0x1863fa[_0x5ccc('0x4e')]['id']){delete _0x1863fa[_0x5ccc('0x4e')]['id'];}return db[_0x5ccc('0x2a')]['find']({'where':{'id':_0x1863fa[_0x5ccc('0x43')]['id']}})[_0x5ccc('0x23')](handleEntityNotFound(_0x3f5ab7,null))[_0x5ccc('0x23')](saveUpdates(_0x1863fa['body'],null))['then'](respondWithResult(_0x3f5ab7,null))[_0x5ccc('0x41')](handleError(_0x3f5ab7,null));};exports[_0x5ccc('0x24')]=function(_0x30cbe8,_0xd19f38){return db[_0x5ccc('0x2a')][_0x5ccc('0x45')]({'where':{'id':_0x30cbe8[_0x5ccc('0x43')]['id']}})['then'](handleEntityNotFound(_0xd19f38,null))[_0x5ccc('0x23')](removeEntity(_0xd19f38,null))['catch'](handleError(_0xd19f38,null));};exports['preview']=function(_0x349f07,_0xf8a425){var _0x3973cb=0xa;var _0x42b408=['join',_0x5ccc('0x4f'),_0x5ccc('0x50'),_0x5ccc('0x51')];var _0xb2f8c={'SUM':'SUM(%s)','COUNT':_0x5ccc('0x52'),'COUNT DISTINCT':'COUNT(DISTINCT\x20%s)','MAX':_0x5ccc('0x53'),'MIN':_0x5ccc('0x54'),'AVG':'AVG(%s)','GROUP_CONCAT':_0x5ccc('0x55'),'GROUP_CONCAT ASC':_0x5ccc('0x56'),'GROUP_CONCAT DESC':_0x5ccc('0x57')};var _0x542aca={'SEC_TO_TIME':_0x5ccc('0x58'),'DATE':'DATE(%s)','HOUR':'HOUR(%s)','ROUND':_0x5ccc('0x59'),'UNIX_TIMESTAMP':_0x5ccc('0x5a')};var _0x254c89=function(_0x86473a){return!_[_0x5ccc('0x5b')]([_0x5ccc('0x5c'),_0x5ccc('0x5d'),_0x5ccc('0x5e'),_0x5ccc('0x5f')],_0x86473a);};var _0x597c7c=function(_0x29bc86){if(!_0x29bc86||!_0x29bc86[_0x5ccc('0x60')][_0x5ccc('0x33')]){return'';}for(var _0x1c5d84='(',_0x6d8e7f=0x0;_0x6d8e7f<_0x29bc86[_0x5ccc('0x60')][_0x5ccc('0x33')];_0x6d8e7f+=0x1){_0x6d8e7f>0x0&&(_0x1c5d84+='\x20'+_0x29bc86[_0x5ccc('0x61')]+'\x20');_0x1c5d84+=_0x29bc86['rules'][_0x6d8e7f][_0x5ccc('0x62')]?_0x597c7c(_0x29bc86['rules'][_0x6d8e7f][_0x5ccc('0x62')]):_0x29bc86[_0x5ccc('0x60')][_0x6d8e7f][_0x5ccc('0x3d')]+'\x20'+_0x29bc86[_0x5ccc('0x60')][_0x6d8e7f][_0x5ccc('0x63')]+(_0x254c89(_0x29bc86[_0x5ccc('0x60')][_0x6d8e7f][_0x5ccc('0x63')])?'\x20'+_0x29bc86[_0x5ccc('0x60')][_0x6d8e7f][_0x5ccc('0x64')]:'');}return _0x1c5d84+')';};var _0x2f6103={'where':{'id':_0x349f07[_0x5ccc('0x43')]['id']}},_0x4d9b96,_0x8ad390,_0x26f113,_0x55dd30,_0xb0f48d;_0x2f6103=_['merge']({},_0x2f6103,_0x349f07[_0x5ccc('0x3e')]);return db[_0x5ccc('0x2a')][_0x5ccc('0x45')](_0x2f6103)['then'](function(_0xacd818){if(_0xacd818){_0x4d9b96=_0xacd818;return _0xacd818[_0x5ccc('0x65')]();}return null;})['then'](function(_0x220709){if(_0x220709){if(!_0x220709[_0x5ccc('0x33')]){throw new db[(_0x5ccc('0x66'))][(_0x5ccc('0x67'))](_0x5ccc('0x68'),0x193);}_0x8ad390=_0x220709;return db['AnalyticMetric']['findAll']({'raw':!![]});}return null;})[_0x5ccc('0x23')](function(_0x503d6b){if(_0x503d6b){_0x26f113=_[_0x5ccc('0x69')](_0x503d6b,'id');var _0x367789;var _0x296415=squel[_0x5ccc('0x6a')]();_0x296415[_0x5ccc('0x6b')](_0x4d9b96['table']);for(var _0x5e245e=0x0;_0x5e245e<_0x8ad390[_0x5ccc('0x33')];_0x5e245e+=0x1){_0x367789=_0x8ad390[_0x5e245e][_0x5ccc('0x6c')]?_0x26f113[_0x8ad390[_0x5e245e][_0x5ccc('0x6c')]][_0x5ccc('0x6d')]:_0x8ad390[_0x5e245e][_0x5ccc('0x3d')];_0x367789=_0x8ad390[_0x5e245e]['function']?_[_0x5ccc('0x6e')](_0xb2f8c[_0x8ad390[_0x5e245e][_0x5ccc('0x6f')]],'%s',_0x367789):_0x367789;_0x367789=_0x8ad390[_0x5e245e][_0x5ccc('0x70')]?_[_0x5ccc('0x6e')](_0x542aca[_0x8ad390[_0x5e245e][_0x5ccc('0x70')]],'%s',_0x367789):_0x367789;if(_0x8ad390[_0x5e245e][_0x5ccc('0x71')]){_0x296415[_0x5ccc('0x62')](_0x367789);}_0x8ad390[_0x5e245e]['orderBy']&&_0x296415[_0x5ccc('0x36')](_0x367789,_0x8ad390[_0x5e245e][_0x5ccc('0x72')]===_0x5ccc('0x73')?![]:!![]);_0x296415[_0x5ccc('0x3d')](_0x367789,_0x8ad390[_0x5e245e][_0x5ccc('0x74')]||_0x367789);}if(_0x4d9b96[_0x5ccc('0x75')]){_0x4d9b96[_0x5ccc('0x75')]=JSON[_0x5ccc('0x76')](_0x4d9b96[_0x5ccc('0x75')]);for(var _0x336903=0x0;_0x336903<_0x4d9b96[_0x5ccc('0x75')][_0x5ccc('0x33')];_0x336903+=0x1){if(_0x4d9b96[_0x5ccc('0x75')][_0x336903]['type']&&_[_0x5ccc('0x5b')](_0x42b408,_0x4d9b96['joins'][_0x336903][_0x5ccc('0x3a')])&&_0x4d9b96[_0x5ccc('0x75')][_0x336903][_0x5ccc('0x77')]&&_0x4d9b96[_0x5ccc('0x75')][_0x336903][_0x5ccc('0x78')]&&_0x4d9b96['joins'][_0x336903][_0x5ccc('0x79')]){_0x296415[_0x4d9b96[_0x5ccc('0x75')][_0x336903][_0x5ccc('0x3a')]](_0x4d9b96['joins'][_0x336903][_0x5ccc('0x78')],null,util[_0x5ccc('0x70')](_0x5ccc('0x7a'),_0x4d9b96['table'],_0x4d9b96[_0x5ccc('0x75')][_0x336903]['parentKey'],_0x4d9b96[_0x5ccc('0x75')][_0x336903][_0x5ccc('0x78')],_0x4d9b96[_0x5ccc('0x75')][_0x336903][_0x5ccc('0x79')]));}}}if(_0x4d9b96[_0x5ccc('0x7b')]){_0x4d9b96[_0x5ccc('0x7b')]=JSON[_0x5ccc('0x76')](_0x4d9b96[_0x5ccc('0x7b')]);_0x296415['where'](_0x597c7c(_0x4d9b96[_0x5ccc('0x7b')]['group']));}_0xb0f48d=_0x296415[_0x5ccc('0x7c')]();_0x296415[_0x5ccc('0x1c')](_0x3973cb);_0x296415[_0x5ccc('0x1b')](0x0);logger[_0x5ccc('0x7d')](_0x5ccc('0x7e'),_0x296415[_0x5ccc('0x7f')]());return db[_0x5ccc('0x80')][_0x5ccc('0x2c')](_0x296415[_0x5ccc('0x7f')](),{'type':db[_0x5ccc('0x80')][_0x5ccc('0x81')][_0x5ccc('0x82')]});}})[_0x5ccc('0x23')](respondWithResult(_0xf8a425,null))[_0x5ccc('0x41')](handleError(_0xf8a425,null));};function runReport(_0x476206,_0x4ffa06,_0xdfb069){var _0xac8374=_0x4ffa06[_0x5ccc('0x27')];var _0x2916f5=0xa;var _0x30ea09=['join',_0x5ccc('0x4f'),_0x5ccc('0x50'),'cross_join'];var _0x49f8c2={'SUM':'SUM(%s)','COUNT':_0x5ccc('0x52'),'COUNT DISTINCT':_0x5ccc('0x83'),'MAX':_0x5ccc('0x53'),'MIN':_0x5ccc('0x54'),'AVG':'AVG(%s)','GROUP_CONCAT':_0x5ccc('0x55'),'GROUP_CONCAT ASC':_0x5ccc('0x56'),'GROUP_CONCAT DESC':_0x5ccc('0x57')};var _0x2ecd5b={'SEC_TO_TIME':_0x5ccc('0x58'),'DATE':_0x5ccc('0x84'),'HOUR':_0x5ccc('0x85'),'ROUND':_0x5ccc('0x59'),'UNIX_TIMESTAMP':_0x5ccc('0x5a')};var _0x37ecf6=function(_0x154b4b){return!_[_0x5ccc('0x5b')]([_0x5ccc('0x5c'),_0x5ccc('0x5d'),_0x5ccc('0x5e'),_0x5ccc('0x5f')],_0x154b4b);};var _0x5b7409=function(_0x42bd58){if(!_0x42bd58||!_0x42bd58[_0x5ccc('0x60')]['length']){return'';}for(var _0x138f5a='(',_0x44cc64=0x0;_0x44cc64<_0x42bd58[_0x5ccc('0x60')][_0x5ccc('0x33')];_0x44cc64+=0x1){_0x44cc64>0x0&&(_0x138f5a+='\x20'+_0x42bd58['operator']+'\x20');_0x138f5a+=_0x42bd58[_0x5ccc('0x60')][_0x44cc64][_0x5ccc('0x62')]?_0x5b7409(_0x42bd58[_0x5ccc('0x60')][_0x44cc64][_0x5ccc('0x62')]):_0x42bd58[_0x5ccc('0x60')][_0x44cc64][_0x5ccc('0x3d')]+'\x20'+_0x42bd58[_0x5ccc('0x60')][_0x44cc64][_0x5ccc('0x63')]+(_0x37ecf6(_0x42bd58['rules'][_0x44cc64]['condition'])?'\x20'+_0x42bd58[_0x5ccc('0x60')][_0x44cc64][_0x5ccc('0x64')]:'');}return _0x138f5a+')';};var _0x4dd25a={'where':{'id':_0x476206['id']}},_0x3164de,_0x1fb888,_0x268214,_0x10277c,_0x124b77;_0x4dd25a=_['merge']({},_0x4dd25a,_0xdfb069);return db[_0x5ccc('0x2a')][_0x5ccc('0x45')](_0x4dd25a)[_0x5ccc('0x23')](function(_0x4f7d24){if(_0x4f7d24){_0x3164de=_0x4f7d24;return _0x4f7d24[_0x5ccc('0x65')]();}return null;})[_0x5ccc('0x23')](function(_0x558398){if(_0x558398){if(!_0x558398[_0x5ccc('0x33')]){throw new db[(_0x5ccc('0x66'))][(_0x5ccc('0x67'))](_0x5ccc('0x68'),0x193);}_0x1fb888=_0x558398;return db[_0x5ccc('0x86')][_0x5ccc('0x40')]({'raw':!![]});}return null;})[_0x5ccc('0x23')](function(_0x57f9f3){if(_0x57f9f3){_0x268214=_[_0x5ccc('0x69')](_0x57f9f3,'id');var _0x129fce;var _0x27d96b=squel[_0x5ccc('0x6a')]();_0x27d96b[_0x5ccc('0x6b')](_0x3164de[_0x5ccc('0x87')]);for(var _0x4dd148=0x0;_0x4dd148<_0x1fb888[_0x5ccc('0x33')];_0x4dd148+=0x1){_0x129fce=_0x1fb888[_0x4dd148][_0x5ccc('0x6c')]?_0x268214[_0x1fb888[_0x4dd148][_0x5ccc('0x6c')]]['metric']:_0x1fb888[_0x4dd148][_0x5ccc('0x3d')];_0x129fce=_0x1fb888[_0x4dd148]['function']?_[_0x5ccc('0x6e')](_0x49f8c2[_0x1fb888[_0x4dd148][_0x5ccc('0x6f')]],'%s',_0x129fce):_0x129fce;_0x129fce=_0x1fb888[_0x4dd148][_0x5ccc('0x70')]?_[_0x5ccc('0x6e')](_0x2ecd5b[_0x1fb888[_0x4dd148][_0x5ccc('0x70')]],'%s',_0x129fce):_0x129fce;if(_0x1fb888[_0x4dd148][_0x5ccc('0x71')]){_0x27d96b[_0x5ccc('0x62')](_0x129fce);}_0x1fb888[_0x4dd148]['orderBy']&&_0x27d96b[_0x5ccc('0x36')](_0x129fce,_0x1fb888[_0x4dd148][_0x5ccc('0x72')]===_0x5ccc('0x73')?![]:!![]);_0x27d96b[_0x5ccc('0x3d')](_0x129fce,_0x1fb888[_0x4dd148][_0x5ccc('0x74')]||_0x129fce);}if(_0x3164de[_0x5ccc('0x75')]){_0x3164de[_0x5ccc('0x75')]=JSON[_0x5ccc('0x76')](_0x3164de['joins']);for(var _0x3d1299=0x0;_0x3d1299<_0x3164de[_0x5ccc('0x75')][_0x5ccc('0x33')];_0x3d1299+=0x1){if(_0x3164de[_0x5ccc('0x75')][_0x3d1299][_0x5ccc('0x3a')]&&_[_0x5ccc('0x5b')](_0x30ea09,_0x3164de[_0x5ccc('0x75')][_0x3d1299][_0x5ccc('0x3a')])&&_0x3164de[_0x5ccc('0x75')][_0x3d1299][_0x5ccc('0x77')]&&_0x3164de[_0x5ccc('0x75')][_0x3d1299]['foreignTable']&&_0x3164de[_0x5ccc('0x75')][_0x3d1299]['foreignKey']){_0x27d96b[_0x3164de['joins'][_0x3d1299][_0x5ccc('0x3a')]](_0x3164de[_0x5ccc('0x75')][_0x3d1299]['foreignTable'],null,util[_0x5ccc('0x70')]('%s.%s\x20=\x20%s.%s',_0x3164de['table'],_0x3164de[_0x5ccc('0x75')][_0x3d1299]['parentKey'],_0x3164de[_0x5ccc('0x75')][_0x3d1299][_0x5ccc('0x78')],_0x3164de[_0x5ccc('0x75')][_0x3d1299][_0x5ccc('0x79')]));}}}if(_0x3164de[_0x5ccc('0x7b')]){_0x3164de['conditions']=JSON[_0x5ccc('0x76')](_0x3164de[_0x5ccc('0x7b')]);_0x27d96b[_0x5ccc('0x38')](_0x5b7409(_0x3164de[_0x5ccc('0x7b')][_0x5ccc('0x62')]));}_0x124b77=_0x27d96b[_0x5ccc('0x7c')]();_0x27d96b[_0x5ccc('0x1c')](_0x2916f5);_0x27d96b[_0x5ccc('0x1b')](0x0);logger[_0x5ccc('0x7d')](_0x5ccc('0x7e'),_0x27d96b[_0x5ccc('0x7f')]());return db[_0x5ccc('0x80')]['query'](_0x27d96b[_0x5ccc('0x7f')](),{'type':db[_0x5ccc('0x80')][_0x5ccc('0x81')][_0x5ccc('0x82')]});}})[_0x5ccc('0x23')](function(_0x53a427){if(!_0x53a427[_0x5ccc('0x33')]){throw new db[(_0x5ccc('0x66'))]['ValidationErrorItem'](_0x5ccc('0x88'),0xcc);}if(_0x4ffa06['output']===_0x5ccc('0x89')){return null;}var _0x5d2c74=_['merge'](_0x4ffa06,{'name':_0x4ffa06[_0x5ccc('0x8a')]||_0x4ffa06[_0x5ccc('0x27')]||_0x3164de[_0x5ccc('0x27')],'basename':_0xac8374,'savename':util[_0x5ccc('0x70')]('%s-%s.%s',_0x4ffa06[_0x5ccc('0x27')]||_0x3164de[_0x5ccc('0x27')],require(_0x5ccc('0x8b'))['generate'](0x4),_0x4ffa06[_0x5ccc('0x8c')]||_0x5ccc('0x8d')),'reportId':_0x3164de['id'],'reportType':_0x5ccc('0x8e')});return db[_0x5ccc('0x8f')][_0x5ccc('0x46')](_0x5d2c74,{'raw':!![]});})[_0x5ccc('0x23')](function(_0x213d81){if(_0x3164de[_0x5ccc('0x87')]===_0x5ccc('0x90')){_0x124b77[_0x5ccc('0x38')](_0x3164de[_0x5ccc('0x87')]+_0x5ccc('0x91'),_0x4ffa06['startDate'],_0x4ffa06[_0x5ccc('0x92')]);}else{_0x124b77[_0x5ccc('0x38')](_0x3164de[_0x5ccc('0x87')]+_0x5ccc('0x93'),_0x4ffa06['startDate'],_0x4ffa06[_0x5ccc('0x92')]);}if(_0x213d81){logger[_0x5ccc('0x94')](_0x5ccc('0x95'),_0x124b77[_0x5ccc('0x7f')]());require('child_process')[_0x5ccc('0x96')](path['join'](__dirname,_0x5ccc('0x97'),_0x213d81['output']),[_0x213d81['id'],_0x124b77[_0x5ccc('0x7f')](),path[_0x5ccc('0x98')](__dirname,_0x5ccc('0x99'),_0x213d81[_0x5ccc('0x9a')]),_0xac8374]);return _0x213d81;}else{var _0x5c440a=squel[_0x5ccc('0x6a')]();_0x5c440a[_0x5ccc('0x6b')]('('+_0x124b77[_0x5ccc('0x7f')]()+')',_0x5ccc('0x9b'));_0x5c440a['field'](_0x5ccc('0x9c'),_0x5ccc('0x1a'));_0x124b77[_0x5ccc('0x1c')](_0x4ffa06[_0x5ccc('0x1c')]||_0x2916f5);_0x124b77[_0x5ccc('0x1b')](_0x4ffa06[_0x5ccc('0x1b')]||0x0);return db['sequelize'][_0x5ccc('0x2c')](_0x5c440a[_0x5ccc('0x7f')](),{'type':db[_0x5ccc('0x80')]['QueryTypes'][_0x5ccc('0x82')]})[_0x5ccc('0x23')](function(_0x2df64b){if(!_0x2df64b['length']){_0x10277c=0x0;}else{_0x10277c=_0x2df64b[0x0][_0x5ccc('0x1a')]||0x0;}return db[_0x5ccc('0x80')]['query'](_0x124b77[_0x5ccc('0x7f')](),{'type':db[_0x5ccc('0x80')][_0x5ccc('0x81')]['SELECT']});})[_0x5ccc('0x23')](function(_0x5e381e){return{'rows':_0x5e381e||[],'count':_0x10277c};});}});}exports['run']=function(_0x2f3e49,_0x2cfcac){return runReport(_0x2f3e49['params'],_0x2f3e49[_0x5ccc('0x2c')],_0x2f3e49[_0x5ccc('0x3e')])[_0x5ccc('0x23')](respondWithResult(_0x2cfcac,null))[_0x5ccc('0x41')](handleError(_0x2cfcac,null));};exports['runReport']=runReport;exports['query']=function(_0x35623b,_0x542213){var _0x4aaee5=0xa;var _0x207e53=[_0x5ccc('0x98'),_0x5ccc('0x4f'),'right_join',_0x5ccc('0x51')];var _0x2ebbc1={'SUM':_0x5ccc('0x9d'),'COUNT':_0x5ccc('0x52'),'COUNT DISTINCT':_0x5ccc('0x83'),'MAX':_0x5ccc('0x53'),'MIN':_0x5ccc('0x54'),'AVG':'AVG(%s)','GROUP_CONCAT':_0x5ccc('0x55'),'GROUP_CONCAT ASC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','GROUP_CONCAT DESC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)'};var _0x20c466={'SEC_TO_TIME':_0x5ccc('0x58'),'DATE':'DATE(%s)','HOUR':'HOUR(%s)','ROUND':_0x5ccc('0x59'),'UNIX_TIMESTAMP':_0x5ccc('0x5a')};var _0x560daf=function(_0x350e45){return!_[_0x5ccc('0x5b')]([_0x5ccc('0x5c'),_0x5ccc('0x5d'),'IS\x20EMPTY',_0x5ccc('0x5f')],_0x350e45);};var _0x587a53=function(_0x2797fa){if(!_0x2797fa||!_0x2797fa['rules'][_0x5ccc('0x33')]){return'';}for(var _0x3d3d5b='(',_0xa06962=0x0;_0xa06962<_0x2797fa[_0x5ccc('0x60')][_0x5ccc('0x33')];_0xa06962+=0x1){_0xa06962>0x0&&(_0x3d3d5b+='\x20'+_0x2797fa[_0x5ccc('0x61')]+'\x20');_0x3d3d5b+=_0x2797fa['rules'][_0xa06962]['group']?_0x587a53(_0x2797fa['rules'][_0xa06962]['group']):_0x2797fa['rules'][_0xa06962][_0x5ccc('0x3d')]+'\x20'+_0x2797fa[_0x5ccc('0x60')][_0xa06962][_0x5ccc('0x63')]+(_0x560daf(_0x2797fa[_0x5ccc('0x60')][_0xa06962][_0x5ccc('0x63')])?'\x20'+_0x2797fa[_0x5ccc('0x60')][_0xa06962][_0x5ccc('0x64')]:'');}return _0x3d3d5b+')';};var _0xe39381={'where':{'id':_0x35623b[_0x5ccc('0x43')]['id']}},_0x1632a8,_0x4945e3,_0x5eb9ce,_0x23f0ff,_0x224f7f;_0xe39381=_['merge']({},_0xe39381,_0x35623b[_0x5ccc('0x3e')]);return db[_0x5ccc('0x2a')]['find'](_0xe39381)[_0x5ccc('0x23')](function(_0x572dd1){if(_0x572dd1){_0x1632a8=_0x572dd1;return _0x572dd1['getFields']();}return null;})['then'](function(_0x589004){if(_0x589004){if(!_0x589004[_0x5ccc('0x33')]){throw new db[(_0x5ccc('0x66'))]['ValidationErrorItem'](_0x5ccc('0x68'),0x193);}_0x4945e3=_0x589004;return db[_0x5ccc('0x86')][_0x5ccc('0x40')]({'raw':!![]});}return null;})[_0x5ccc('0x23')](function(_0x2df677){if(_0x2df677){_0x5eb9ce=_[_0x5ccc('0x69')](_0x2df677,'id');var _0x48265f;var _0x20fb52=squel['select']();_0x20fb52['from'](_0x1632a8['table']);for(var _0x1b24c6=0x0;_0x1b24c6<_0x4945e3[_0x5ccc('0x33')];_0x1b24c6+=0x1){_0x48265f=_0x4945e3[_0x1b24c6][_0x5ccc('0x6c')]?_0x5eb9ce[_0x4945e3[_0x1b24c6][_0x5ccc('0x6c')]][_0x5ccc('0x6d')]:_0x4945e3[_0x1b24c6]['field'];_0x48265f=_0x4945e3[_0x1b24c6][_0x5ccc('0x6f')]?_['replace'](_0x2ebbc1[_0x4945e3[_0x1b24c6][_0x5ccc('0x6f')]],'%s',_0x48265f):_0x48265f;_0x48265f=_0x4945e3[_0x1b24c6][_0x5ccc('0x70')]?_[_0x5ccc('0x6e')](_0x20c466[_0x4945e3[_0x1b24c6][_0x5ccc('0x70')]],'%s',_0x48265f):_0x48265f;if(_0x4945e3[_0x1b24c6][_0x5ccc('0x71')]){_0x20fb52[_0x5ccc('0x62')](_0x48265f);}_0x4945e3[_0x1b24c6][_0x5ccc('0x72')]&&_0x20fb52[_0x5ccc('0x36')](_0x48265f,_0x4945e3[_0x1b24c6][_0x5ccc('0x72')]===_0x5ccc('0x73')?![]:!![]);_0x20fb52[_0x5ccc('0x3d')](_0x48265f,_0x4945e3[_0x1b24c6][_0x5ccc('0x74')]||_0x48265f);}if(_0x1632a8['joins']){_0x1632a8[_0x5ccc('0x75')]=JSON[_0x5ccc('0x76')](_0x1632a8[_0x5ccc('0x75')]);for(var _0x52fda1=0x0;_0x52fda1<_0x1632a8['joins'][_0x5ccc('0x33')];_0x52fda1+=0x1){if(_0x1632a8[_0x5ccc('0x75')][_0x52fda1][_0x5ccc('0x3a')]&&_[_0x5ccc('0x5b')](_0x207e53,_0x1632a8[_0x5ccc('0x75')][_0x52fda1][_0x5ccc('0x3a')])&&_0x1632a8[_0x5ccc('0x75')][_0x52fda1]['parentKey']&&_0x1632a8[_0x5ccc('0x75')][_0x52fda1][_0x5ccc('0x78')]&&_0x1632a8['joins'][_0x52fda1][_0x5ccc('0x79')]){_0x20fb52[_0x1632a8['joins'][_0x52fda1][_0x5ccc('0x3a')]](_0x1632a8['joins'][_0x52fda1]['foreignTable'],null,util['format']('%s.%s\x20=\x20%s.%s',_0x1632a8['table'],_0x1632a8[_0x5ccc('0x75')][_0x52fda1]['parentKey'],_0x1632a8[_0x5ccc('0x75')][_0x52fda1]['foreignTable'],_0x1632a8[_0x5ccc('0x75')][_0x52fda1][_0x5ccc('0x79')]));}}}if(_0x1632a8['conditions']){_0x1632a8[_0x5ccc('0x7b')]=JSON[_0x5ccc('0x76')](_0x1632a8[_0x5ccc('0x7b')]);_0x20fb52[_0x5ccc('0x38')](_0x587a53(_0x1632a8[_0x5ccc('0x7b')][_0x5ccc('0x62')]));}_0x224f7f=_0x20fb52['clone']();_0x20fb52[_0x5ccc('0x1c')](_0x4aaee5);_0x20fb52['offset'](0x0);logger[_0x5ccc('0x7d')](_0x5ccc('0x7e'),_0x20fb52[_0x5ccc('0x7f')]());return db[_0x5ccc('0x80')][_0x5ccc('0x2c')](_0x20fb52[_0x5ccc('0x7f')](),{'type':db['sequelize'][_0x5ccc('0x81')][_0x5ccc('0x82')]});}})['then'](function(){return{'sql':_0x224f7f[_0x5ccc('0x7f')]()};})['then'](respondWithResult(_0x542213,null))['catch'](handleError(_0x542213,null));};