534e452e1517748a65e6d9c11088e1a29880c15b
[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 _0xdbf5=['ValidationErrorItem','Please\x20insert\x20at\x20least\x20one\x20field','AnalyticMetric','select','from','table','MetricId','metric','function','replace','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','left_join','right_join','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)','findAll','keyBy','No\x20available\x20data','output','web','fullPath','%s-%s.%s','randomstring','generate','default','.calldate\x20BETWEEN\x20?\x20AND\x20?','endDate','.createdAt\x20BETWEEN\x20?\x20AND\x20?','startDate','info','Run\x20Query:','child_process','fork','../../components/export/','../../files/reports','savename','countTable','COUNT(*)','runReport','eml-format','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','api','../../config/license/util','../../mysqldb','dbH','end','status','json','count','offset','limit','set','apply','reject','save','update','then','get','DefaultReports','UserProfileResource','destroy','sendStatus','error','stack','name','index','map','AnalyticDefaultReport','rawAttributes','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','type','options','include','rows','catch','show','keys','create','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','Reports','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','find','params','body','preview','join','cross_join','SUM(%s)','COUNT(%s)','COUNT(DISTINCT\x20%s)','MAX(%s)','AVG(%s)','DATE(%s)','HOUR(%s)','ROUND(%s)','UNIX_TIMESTAMP(%s)','includes','IS\x20NULL','IS\x20NOT\x20NULL','IS\x20EMPTY','IS\x20NOT\x20EMPTY','rules','operator','group','field','condition','value','getFields','Sequelize'];(function(_0x53ccf2,_0x13cb67){var _0x5a2964=function(_0x3b0514){while(--_0x3b0514){_0x53ccf2['push'](_0x53ccf2['shift']());}};_0x5a2964(++_0x13cb67);}(_0xdbf5,0x18c));var _0x5dbf=function(_0x2628cb,_0x1c5223){_0x2628cb=_0x2628cb-0x0;var _0x1e7d8f=_0xdbf5[_0x2628cb];return _0x1e7d8f;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x5dbf('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x5dbf('0x1'));var rp=require(_0x5dbf('0x2'));var moment=require(_0x5dbf('0x3'));var BPromise=require(_0x5dbf('0x4'));var Mustache=require(_0x5dbf('0x5'));var util=require(_0x5dbf('0x6'));var path=require(_0x5dbf('0x7'));var sox=require(_0x5dbf('0x8'));var csv=require(_0x5dbf('0x9'));var ejs=require(_0x5dbf('0xa'));var fs=require('fs');var _=require(_0x5dbf('0xb'));var squel=require(_0x5dbf('0xc'));var crypto=require(_0x5dbf('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x5dbf('0xe'));var toCsv=require('to-csv');var querystring=require(_0x5dbf('0xf'));var Papa=require(_0x5dbf('0x10'));var Redis=require(_0x5dbf('0x11'));var authService=require(_0x5dbf('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0x5dbf('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x5dbf('0x14'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x5dbf('0x15'));var db=require('../../mysqldb')['db'];var dbH=require(_0x5dbf('0x16'))[_0x5dbf('0x17')];function respondWithStatusCode(_0x1453a9,_0x7cb848){_0x7cb848=_0x7cb848||0xcc;return function(_0x14493a){if(_0x14493a){return _0x1453a9['sendStatus'](_0x7cb848);}return _0x1453a9['status'](_0x7cb848)[_0x5dbf('0x18')]();};}function respondWithResult(_0x3480c8,_0x48e7fd){_0x48e7fd=_0x48e7fd||0xc8;return function(_0x19624e){if(_0x19624e){return _0x3480c8[_0x5dbf('0x19')](_0x48e7fd)[_0x5dbf('0x1a')](_0x19624e);}};}function respondWithFilteredResult(_0x2dfa44,_0x181816){return function(_0x472eb9){if(_0x472eb9){var _0x2d32cc=_0x472eb9[_0x5dbf('0x1b')],_0x50ef1d=_0x181816[_0x5dbf('0x1c')],_0x499cd9=_0x181816[_0x5dbf('0x1c')]+_0x181816[_0x5dbf('0x1d')],_0x16dc82;if(_0x499cd9>=_0x2d32cc){_0x499cd9=_0x2d32cc;_0x16dc82=0xc8;}else{_0x16dc82=0xce;}_0x2dfa44['status'](_0x16dc82);return _0x2dfa44[_0x5dbf('0x1e')]('Content-Range',_0x50ef1d+'-'+_0x499cd9+'/'+_0x2d32cc)['json'](_0x472eb9);}return null;};}function patchUpdates(_0x577ca2){return function(_0x23d1e7){try{jsonpatch[_0x5dbf('0x1f')](_0x23d1e7,_0x577ca2,!![]);}catch(_0x358d46){return BPromise[_0x5dbf('0x20')](_0x358d46);}return _0x23d1e7[_0x5dbf('0x21')]();};}function saveUpdates(_0x5b2518,_0x2764ea){return function(_0x58e9ac){if(_0x58e9ac){return _0x58e9ac[_0x5dbf('0x22')](_0x5b2518)[_0x5dbf('0x23')](function(_0x14d133){return _0x14d133;});}return null;};}function removeEntity(_0x43a612,_0x3b763c){return function(_0x2f154e){if(_0x2f154e){return _0x2f154e['destroy']()[_0x5dbf('0x23')](function(){var _0x3e3a2d=_0x2f154e[_0x5dbf('0x24')]({'plain':!![]});var _0x2079fc=_0x5dbf('0x25');return db[_0x5dbf('0x26')][_0x5dbf('0x27')]({'where':{'type':_0x2079fc,'resourceId':_0x3e3a2d['id']}})[_0x5dbf('0x23')](function(){return _0x2f154e;});})[_0x5dbf('0x23')](function(){_0x43a612[_0x5dbf('0x19')](0xcc)[_0x5dbf('0x18')]();});}};}function handleEntityNotFound(_0x232c77,_0x3f9e60){return function(_0x407741){if(!_0x407741){_0x232c77[_0x5dbf('0x28')](0x194);}return _0x407741;};}function handleError(_0x17f135,_0x466985){_0x466985=_0x466985||0x1f4;return function(_0x3f8341){logger[_0x5dbf('0x29')](_0x3f8341[_0x5dbf('0x2a')]);if(_0x3f8341[_0x5dbf('0x2b')]){delete _0x3f8341[_0x5dbf('0x2b')];}_0x17f135[_0x5dbf('0x19')](_0x466985)['send'](_0x3f8341);};}exports[_0x5dbf('0x2c')]=function(_0x24dc99,_0xc4748){var _0x1fb9a7={},_0x38825a={},_0x6a276d={'count':0x0,'rows':[]};var _0x2a65c5=_[_0x5dbf('0x2d')](db[_0x5dbf('0x2e')][_0x5dbf('0x2f')],function(_0x294dd7){return{'name':_0x294dd7['fieldName'],'type':_0x294dd7['type'][_0x5dbf('0x30')]};});_0x38825a[_0x5dbf('0x31')]=_[_0x5dbf('0x2d')](_0x2a65c5,_0x5dbf('0x2b'));_0x38825a[_0x5dbf('0x32')]=_['keys'](_0x24dc99['query']);_0x38825a[_0x5dbf('0x33')]=_[_0x5dbf('0x34')](_0x38825a['model'],_0x38825a[_0x5dbf('0x32')]);_0x1fb9a7[_0x5dbf('0x35')]=_[_0x5dbf('0x34')](_0x38825a[_0x5dbf('0x31')],qs[_0x5dbf('0x36')](_0x24dc99['query'][_0x5dbf('0x36')]));_0x1fb9a7[_0x5dbf('0x35')]=_0x1fb9a7[_0x5dbf('0x35')][_0x5dbf('0x37')]?_0x1fb9a7[_0x5dbf('0x35')]:_0x38825a['model'];if(!_0x24dc99[_0x5dbf('0x32')][_0x5dbf('0x38')](_0x5dbf('0x39'))){_0x1fb9a7[_0x5dbf('0x1d')]=qs['limit'](_0x24dc99[_0x5dbf('0x32')][_0x5dbf('0x1d')]);_0x1fb9a7[_0x5dbf('0x1c')]=qs[_0x5dbf('0x1c')](_0x24dc99[_0x5dbf('0x32')][_0x5dbf('0x1c')]);}_0x1fb9a7[_0x5dbf('0x3a')]=qs[_0x5dbf('0x3b')](_0x24dc99[_0x5dbf('0x32')][_0x5dbf('0x3b')]);_0x1fb9a7[_0x5dbf('0x3c')]=qs['filters'](_[_0x5dbf('0x3d')](_0x24dc99[_0x5dbf('0x32')],_0x38825a[_0x5dbf('0x33')]),_0x2a65c5);if(_0x24dc99['query'][_0x5dbf('0x3e')]){_0x1fb9a7[_0x5dbf('0x3c')]=_[_0x5dbf('0x3f')](_0x1fb9a7['where'],{'$or':_[_0x5dbf('0x2d')](_0x2a65c5,function(_0x45cb4d){if(_0x45cb4d[_0x5dbf('0x40')]!=='VIRTUAL'){var _0x4527fb={};_0x4527fb[_0x45cb4d[_0x5dbf('0x2b')]]={'$like':'%'+_0x24dc99[_0x5dbf('0x32')][_0x5dbf('0x3e')]+'%'};return _0x4527fb;}})});}_0x1fb9a7=_[_0x5dbf('0x3f')]({},_0x1fb9a7,_0x24dc99[_0x5dbf('0x41')]);var _0x321ae3={'where':_0x1fb9a7[_0x5dbf('0x3c')]};return db['AnalyticDefaultReport']['count'](_0x321ae3)['then'](function(_0x555e61){_0x6a276d[_0x5dbf('0x1b')]=_0x555e61;if(_0x24dc99[_0x5dbf('0x32')]['includeAll']){_0x1fb9a7[_0x5dbf('0x42')]=[{'all':!![]}];}return db[_0x5dbf('0x2e')]['findAll'](_0x1fb9a7);})[_0x5dbf('0x23')](function(_0x9824a0){_0x6a276d[_0x5dbf('0x43')]=_0x9824a0;return _0x6a276d;})[_0x5dbf('0x23')](respondWithFilteredResult(_0xc4748,_0x1fb9a7))[_0x5dbf('0x44')](handleError(_0xc4748,null));};exports[_0x5dbf('0x45')]=function(_0x2745df,_0x1c020a){var _0xf5bdc5={'raw':!![],'where':{'id':_0x2745df['params']['id']}},_0x2718e9={};_0x2718e9[_0x5dbf('0x31')]=_[_0x5dbf('0x46')](db[_0x5dbf('0x2e')]['rawAttributes']);_0x2718e9[_0x5dbf('0x32')]=_[_0x5dbf('0x46')](_0x2745df[_0x5dbf('0x32')]);_0x2718e9[_0x5dbf('0x33')]=_['intersection'](_0x2718e9[_0x5dbf('0x31')],_0x2718e9['query']);_0xf5bdc5[_0x5dbf('0x35')]=_[_0x5dbf('0x34')](_0x2718e9[_0x5dbf('0x31')],qs[_0x5dbf('0x36')](_0x2745df['query']['fields']));_0xf5bdc5[_0x5dbf('0x35')]=_0xf5bdc5[_0x5dbf('0x35')][_0x5dbf('0x37')]?_0xf5bdc5['attributes']:_0x2718e9[_0x5dbf('0x31')];if(_0x2745df['query']['includeAll']){_0xf5bdc5['include']=[{'all':!![]}];}_0xf5bdc5=_['merge']({},_0xf5bdc5,_0x2745df[_0x5dbf('0x41')]);return db[_0x5dbf('0x2e')]['find'](_0xf5bdc5)[_0x5dbf('0x23')](handleEntityNotFound(_0x1c020a,null))[_0x5dbf('0x23')](respondWithResult(_0x1c020a,null))['catch'](handleError(_0x1c020a,null));};exports[_0x5dbf('0x47')]=function(_0x214539,_0x5b6990){return db[_0x5dbf('0x2e')]['create'](_0x214539['body'],{})[_0x5dbf('0x23')](function(_0x2a3d30){var _0x17a1c0=_0x214539['user']['get']({'plain':!![]});if(!_0x17a1c0)throw new Error(_0x5dbf('0x48'));if(_0x17a1c0[_0x5dbf('0x49')]===_0x5dbf('0x4a')){var _0x307a00=_0x2a3d30[_0x5dbf('0x24')]({'plain':!![]});var _0x3c169b=_0x5dbf('0x4b');return db[_0x5dbf('0x4c')]['find']({'where':{'name':_0x3c169b,'userProfileId':_0x17a1c0[_0x5dbf('0x4d')]},'raw':!![]})[_0x5dbf('0x23')](function(_0x2927a3){if(_0x2927a3&&_0x2927a3[_0x5dbf('0x4e')]===0x0){return db[_0x5dbf('0x26')][_0x5dbf('0x47')]({'name':_0x307a00[_0x5dbf('0x2b')],'resourceId':_0x307a00['id'],'type':'DefaultReports','sectionId':_0x2927a3['id']},{})[_0x5dbf('0x23')](function(){return _0x2a3d30;});}else{return _0x2a3d30;}})['catch'](function(_0x32c13d){logger[_0x5dbf('0x29')](_0x5dbf('0x4f'),_0x32c13d);throw _0x32c13d;});}return _0x2a3d30;})[_0x5dbf('0x23')](respondWithResult(_0x5b6990,0xc9))[_0x5dbf('0x44')](handleError(_0x5b6990,null));};exports[_0x5dbf('0x22')]=function(_0x353d0f,_0x48403a){if(_0x353d0f['body']['id']){delete _0x353d0f['body']['id'];}return db[_0x5dbf('0x2e')][_0x5dbf('0x50')]({'where':{'id':_0x353d0f[_0x5dbf('0x51')]['id']}})['then'](handleEntityNotFound(_0x48403a,null))['then'](saveUpdates(_0x353d0f[_0x5dbf('0x52')],null))[_0x5dbf('0x23')](respondWithResult(_0x48403a,null))[_0x5dbf('0x44')](handleError(_0x48403a,null));};exports['destroy']=function(_0x2c9876,_0x56633d){return db[_0x5dbf('0x2e')][_0x5dbf('0x50')]({'where':{'id':_0x2c9876[_0x5dbf('0x51')]['id']}})['then'](handleEntityNotFound(_0x56633d,null))['then'](removeEntity(_0x56633d,null))[_0x5dbf('0x44')](handleError(_0x56633d,null));};exports[_0x5dbf('0x53')]=function(_0x129367,_0x3fd5d5){var _0x4c034f=0xa;var _0xfcc43c=[_0x5dbf('0x54'),'left_join','right_join',_0x5dbf('0x55')];var _0x14bdb1={'SUM':_0x5dbf('0x56'),'COUNT':_0x5dbf('0x57'),'COUNT DISTINCT':_0x5dbf('0x58'),'MAX':_0x5dbf('0x59'),'MIN':'MIN(%s)','AVG':_0x5dbf('0x5a'),'GROUP_CONCAT':'GROUP_CONCAT(%s)','GROUP_CONCAT ASC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','GROUP_CONCAT DESC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)'};var _0x38f253={'SEC_TO_TIME':'SEC_TO_TIME(%s)','DATE':_0x5dbf('0x5b'),'HOUR':_0x5dbf('0x5c'),'ROUND':_0x5dbf('0x5d'),'UNIX_TIMESTAMP':_0x5dbf('0x5e')};var _0x461ffb=function(_0x28d1eb){return!_[_0x5dbf('0x5f')]([_0x5dbf('0x60'),_0x5dbf('0x61'),_0x5dbf('0x62'),_0x5dbf('0x63')],_0x28d1eb);};var _0x2ca889=function(_0x1c1b4b){if(!_0x1c1b4b||!_0x1c1b4b[_0x5dbf('0x64')][_0x5dbf('0x37')]){return'';}for(var _0x53ab1a='(',_0x3fbc3d=0x0;_0x3fbc3d<_0x1c1b4b['rules'][_0x5dbf('0x37')];_0x3fbc3d+=0x1){_0x3fbc3d>0x0&&(_0x53ab1a+='\x20'+_0x1c1b4b[_0x5dbf('0x65')]+'\x20');_0x53ab1a+=_0x1c1b4b[_0x5dbf('0x64')][_0x3fbc3d][_0x5dbf('0x66')]?_0x2ca889(_0x1c1b4b['rules'][_0x3fbc3d][_0x5dbf('0x66')]):_0x1c1b4b[_0x5dbf('0x64')][_0x3fbc3d][_0x5dbf('0x67')]+'\x20'+_0x1c1b4b[_0x5dbf('0x64')][_0x3fbc3d][_0x5dbf('0x68')]+(_0x461ffb(_0x1c1b4b[_0x5dbf('0x64')][_0x3fbc3d]['condition'])?'\x20'+_0x1c1b4b[_0x5dbf('0x64')][_0x3fbc3d][_0x5dbf('0x69')]:'');}return _0x53ab1a+')';};var _0x3b0465={'where':{'id':_0x129367[_0x5dbf('0x51')]['id']}},_0x18bc53,_0x4d18d,_0x3f7508,_0x2870c3,_0x1cc4eb;_0x3b0465=_[_0x5dbf('0x3f')]({},_0x3b0465,_0x129367[_0x5dbf('0x41')]);return db[_0x5dbf('0x2e')]['find'](_0x3b0465)['then'](function(_0x119ae6){if(_0x119ae6){_0x18bc53=_0x119ae6;return _0x119ae6[_0x5dbf('0x6a')]();}return null;})[_0x5dbf('0x23')](function(_0x110713){if(_0x110713){if(!_0x110713[_0x5dbf('0x37')]){throw new db[(_0x5dbf('0x6b'))][(_0x5dbf('0x6c'))](_0x5dbf('0x6d'),0x193);}_0x4d18d=_0x110713;return db[_0x5dbf('0x6e')]['findAll']({'raw':!![]});}return null;})['then'](function(_0x49005c){if(_0x49005c){_0x3f7508=_['keyBy'](_0x49005c,'id');var _0x408b51;var _0x398326=squel[_0x5dbf('0x6f')]();_0x398326[_0x5dbf('0x70')](_0x18bc53[_0x5dbf('0x71')]);for(var _0xe3ad3=0x0;_0xe3ad3<_0x4d18d['length'];_0xe3ad3+=0x1){_0x408b51=_0x4d18d[_0xe3ad3]['MetricId']?_0x3f7508[_0x4d18d[_0xe3ad3][_0x5dbf('0x72')]][_0x5dbf('0x73')]:_0x4d18d[_0xe3ad3]['field'];_0x408b51=_0x4d18d[_0xe3ad3][_0x5dbf('0x74')]?_[_0x5dbf('0x75')](_0x14bdb1[_0x4d18d[_0xe3ad3][_0x5dbf('0x74')]],'%s',_0x408b51):_0x408b51;_0x408b51=_0x4d18d[_0xe3ad3][_0x5dbf('0x76')]?_['replace'](_0x38f253[_0x4d18d[_0xe3ad3][_0x5dbf('0x76')]],'%s',_0x408b51):_0x408b51;if(_0x4d18d[_0xe3ad3][_0x5dbf('0x77')]){_0x398326[_0x5dbf('0x66')](_0x408b51);}_0x4d18d[_0xe3ad3][_0x5dbf('0x78')]&&_0x398326[_0x5dbf('0x3a')](_0x408b51,_0x4d18d[_0xe3ad3]['orderBy']===_0x5dbf('0x79')?![]:!![]);_0x398326[_0x5dbf('0x67')](_0x408b51,_0x4d18d[_0xe3ad3][_0x5dbf('0x7a')]||_0x408b51);}if(_0x18bc53[_0x5dbf('0x7b')]){_0x18bc53['joins']=JSON[_0x5dbf('0x7c')](_0x18bc53['joins']);for(var _0x2ba37f=0x0;_0x2ba37f<_0x18bc53[_0x5dbf('0x7b')][_0x5dbf('0x37')];_0x2ba37f+=0x1){if(_0x18bc53['joins'][_0x2ba37f][_0x5dbf('0x40')]&&_[_0x5dbf('0x5f')](_0xfcc43c,_0x18bc53[_0x5dbf('0x7b')][_0x2ba37f][_0x5dbf('0x40')])&&_0x18bc53['joins'][_0x2ba37f][_0x5dbf('0x7d')]&&_0x18bc53[_0x5dbf('0x7b')][_0x2ba37f][_0x5dbf('0x7e')]&&_0x18bc53[_0x5dbf('0x7b')][_0x2ba37f][_0x5dbf('0x7f')]){_0x398326[_0x18bc53[_0x5dbf('0x7b')][_0x2ba37f]['type']](_0x18bc53[_0x5dbf('0x7b')][_0x2ba37f][_0x5dbf('0x7e')],null,util['format'](_0x5dbf('0x80'),_0x18bc53[_0x5dbf('0x71')],_0x18bc53[_0x5dbf('0x7b')][_0x2ba37f][_0x5dbf('0x7d')],_0x18bc53[_0x5dbf('0x7b')][_0x2ba37f][_0x5dbf('0x7e')],_0x18bc53[_0x5dbf('0x7b')][_0x2ba37f][_0x5dbf('0x7f')]));}}}if(_0x18bc53[_0x5dbf('0x81')]){_0x18bc53[_0x5dbf('0x81')]=JSON[_0x5dbf('0x7c')](_0x18bc53[_0x5dbf('0x81')]);_0x398326[_0x5dbf('0x3c')](_0x2ca889(_0x18bc53[_0x5dbf('0x81')][_0x5dbf('0x66')]));}_0x1cc4eb=_0x398326[_0x5dbf('0x82')]();_0x398326['limit'](_0x4c034f);_0x398326[_0x5dbf('0x1c')](0x0);logger[_0x5dbf('0x83')](_0x5dbf('0x84'),_0x398326[_0x5dbf('0x85')]());return db['sequelize'][_0x5dbf('0x32')](_0x398326[_0x5dbf('0x85')](),{'type':db[_0x5dbf('0x86')][_0x5dbf('0x87')][_0x5dbf('0x88')]});}})['then'](respondWithResult(_0x3fd5d5,null))[_0x5dbf('0x44')](handleError(_0x3fd5d5,null));};function runReport(_0x1ba14c,_0x4e0117,_0x5d02f7){var _0x3dac55=_0x4e0117[_0x5dbf('0x2b')];var _0x1efe3f=0xa;var _0x8ca7de=[_0x5dbf('0x54'),_0x5dbf('0x89'),_0x5dbf('0x8a'),'cross_join'];var _0x310078={'SUM':_0x5dbf('0x56'),'COUNT':_0x5dbf('0x57'),'COUNT DISTINCT':_0x5dbf('0x58'),'MAX':_0x5dbf('0x59'),'MIN':_0x5dbf('0x8b'),'AVG':'AVG(%s)','GROUP_CONCAT':_0x5dbf('0x8c'),'GROUP_CONCAT ASC':_0x5dbf('0x8d'),'GROUP_CONCAT DESC':_0x5dbf('0x8e')};var _0x2c5a6e={'SEC_TO_TIME':_0x5dbf('0x8f'),'DATE':'DATE(%s)','HOUR':_0x5dbf('0x5c'),'ROUND':'ROUND(%s)','UNIX_TIMESTAMP':'UNIX_TIMESTAMP(%s)'};var _0x5924d2=function(_0x496306){return!_[_0x5dbf('0x5f')]([_0x5dbf('0x60'),_0x5dbf('0x61'),_0x5dbf('0x62'),_0x5dbf('0x63')],_0x496306);};var _0x4cb92d=function(_0x5b9f19){if(!_0x5b9f19||!_0x5b9f19[_0x5dbf('0x64')]['length']){return'';}for(var _0x25315f='(',_0x6e4f3c=0x0;_0x6e4f3c<_0x5b9f19['rules'][_0x5dbf('0x37')];_0x6e4f3c+=0x1){_0x6e4f3c>0x0&&(_0x25315f+='\x20'+_0x5b9f19['operator']+'\x20');_0x25315f+=_0x5b9f19[_0x5dbf('0x64')][_0x6e4f3c][_0x5dbf('0x66')]?_0x4cb92d(_0x5b9f19[_0x5dbf('0x64')][_0x6e4f3c][_0x5dbf('0x66')]):_0x5b9f19[_0x5dbf('0x64')][_0x6e4f3c]['field']+'\x20'+_0x5b9f19[_0x5dbf('0x64')][_0x6e4f3c][_0x5dbf('0x68')]+(_0x5924d2(_0x5b9f19[_0x5dbf('0x64')][_0x6e4f3c][_0x5dbf('0x68')])?'\x20'+_0x5b9f19['rules'][_0x6e4f3c][_0x5dbf('0x69')]:'');}return _0x25315f+')';};var _0x4f89ae={'where':{'id':_0x1ba14c['id']}},_0x2244aa,_0x285d54,_0x10bf3a,_0xc3ce87,_0x1445ec;_0x4f89ae=_[_0x5dbf('0x3f')]({},_0x4f89ae,_0x5d02f7);return db['AnalyticDefaultReport']['find'](_0x4f89ae)[_0x5dbf('0x23')](function(_0x1bd06b){if(_0x1bd06b){_0x2244aa=_0x1bd06b;return _0x1bd06b[_0x5dbf('0x6a')]();}return null;})['then'](function(_0x5434a0){if(_0x5434a0){if(!_0x5434a0['length']){throw new db[(_0x5dbf('0x6b'))][(_0x5dbf('0x6c'))](_0x5dbf('0x6d'),0x193);}_0x285d54=_0x5434a0;return db[_0x5dbf('0x6e')][_0x5dbf('0x90')]({'raw':!![]});}return null;})[_0x5dbf('0x23')](function(_0x5ba5bb){if(_0x5ba5bb){_0x10bf3a=_[_0x5dbf('0x91')](_0x5ba5bb,'id');var _0x15a6ed;var _0x5768fe=squel['select']();_0x5768fe[_0x5dbf('0x70')](_0x2244aa['table']);for(var _0x492cc8=0x0;_0x492cc8<_0x285d54[_0x5dbf('0x37')];_0x492cc8+=0x1){_0x15a6ed=_0x285d54[_0x492cc8][_0x5dbf('0x72')]?_0x10bf3a[_0x285d54[_0x492cc8][_0x5dbf('0x72')]]['metric']:_0x285d54[_0x492cc8][_0x5dbf('0x67')];_0x15a6ed=_0x285d54[_0x492cc8][_0x5dbf('0x74')]?_['replace'](_0x310078[_0x285d54[_0x492cc8][_0x5dbf('0x74')]],'%s',_0x15a6ed):_0x15a6ed;_0x15a6ed=_0x285d54[_0x492cc8][_0x5dbf('0x76')]?_[_0x5dbf('0x75')](_0x2c5a6e[_0x285d54[_0x492cc8][_0x5dbf('0x76')]],'%s',_0x15a6ed):_0x15a6ed;if(_0x285d54[_0x492cc8][_0x5dbf('0x77')]){_0x5768fe[_0x5dbf('0x66')](_0x15a6ed);}_0x285d54[_0x492cc8][_0x5dbf('0x78')]&&_0x5768fe[_0x5dbf('0x3a')](_0x15a6ed,_0x285d54[_0x492cc8]['orderBy']==='DESC'?![]:!![]);_0x5768fe['field'](_0x15a6ed,_0x285d54[_0x492cc8][_0x5dbf('0x7a')]||_0x15a6ed);}if(_0x2244aa[_0x5dbf('0x7b')]){_0x2244aa[_0x5dbf('0x7b')]=JSON[_0x5dbf('0x7c')](_0x2244aa[_0x5dbf('0x7b')]);for(var _0x339804=0x0;_0x339804<_0x2244aa[_0x5dbf('0x7b')][_0x5dbf('0x37')];_0x339804+=0x1){if(_0x2244aa[_0x5dbf('0x7b')][_0x339804][_0x5dbf('0x40')]&&_['includes'](_0x8ca7de,_0x2244aa[_0x5dbf('0x7b')][_0x339804][_0x5dbf('0x40')])&&_0x2244aa[_0x5dbf('0x7b')][_0x339804][_0x5dbf('0x7d')]&&_0x2244aa[_0x5dbf('0x7b')][_0x339804][_0x5dbf('0x7e')]&&_0x2244aa[_0x5dbf('0x7b')][_0x339804][_0x5dbf('0x7f')]){_0x5768fe[_0x2244aa['joins'][_0x339804]['type']](_0x2244aa[_0x5dbf('0x7b')][_0x339804]['foreignTable'],null,util['format'](_0x5dbf('0x80'),_0x2244aa['table'],_0x2244aa['joins'][_0x339804]['parentKey'],_0x2244aa['joins'][_0x339804][_0x5dbf('0x7e')],_0x2244aa['joins'][_0x339804][_0x5dbf('0x7f')]));}}}if(_0x2244aa[_0x5dbf('0x81')]){_0x2244aa[_0x5dbf('0x81')]=JSON['parse'](_0x2244aa[_0x5dbf('0x81')]);_0x5768fe[_0x5dbf('0x3c')](_0x4cb92d(_0x2244aa[_0x5dbf('0x81')]['group']));}_0x1445ec=_0x5768fe[_0x5dbf('0x82')]();_0x5768fe[_0x5dbf('0x1d')](_0x1efe3f);_0x5768fe[_0x5dbf('0x1c')](0x0);logger['debug'](_0x5dbf('0x84'),_0x5768fe[_0x5dbf('0x85')]());return db[_0x5dbf('0x86')]['query'](_0x5768fe[_0x5dbf('0x85')](),{'type':db[_0x5dbf('0x86')][_0x5dbf('0x87')]['SELECT']});}})['then'](function(_0x515c30){if(!_0x515c30[_0x5dbf('0x37')]){throw new db[(_0x5dbf('0x6b'))][(_0x5dbf('0x6c'))](_0x5dbf('0x92'),0xcc);}if(_0x4e0117[_0x5dbf('0x93')]===_0x5dbf('0x94')){return null;}var _0x4df7b5=_[_0x5dbf('0x3f')](_0x4e0117,{'name':_0x4e0117[_0x5dbf('0x95')]||_0x4e0117[_0x5dbf('0x2b')]||_0x2244aa['name'],'basename':_0x3dac55,'savename':util[_0x5dbf('0x76')](_0x5dbf('0x96'),_0x4e0117[_0x5dbf('0x2b')]||_0x2244aa[_0x5dbf('0x2b')],require(_0x5dbf('0x97'))[_0x5dbf('0x98')](0x4),_0x4e0117[_0x5dbf('0x93')]||'csv'),'reportId':_0x2244aa['id'],'reportType':_0x5dbf('0x99')});return db['AnalyticExtractedReport'][_0x5dbf('0x47')](_0x4df7b5,{'raw':!![]});})[_0x5dbf('0x23')](function(_0x1d01e4){if(_0x2244aa['table']==='cdr'){_0x1445ec['where'](_0x2244aa[_0x5dbf('0x71')]+_0x5dbf('0x9a'),_0x4e0117['startDate'],_0x4e0117[_0x5dbf('0x9b')]);}else{_0x1445ec['where'](_0x2244aa[_0x5dbf('0x71')]+_0x5dbf('0x9c'),_0x4e0117[_0x5dbf('0x9d')],_0x4e0117['endDate']);}if(_0x1d01e4){logger[_0x5dbf('0x9e')](_0x5dbf('0x9f'),_0x1445ec[_0x5dbf('0x85')]());require(_0x5dbf('0xa0'))[_0x5dbf('0xa1')](path[_0x5dbf('0x54')](__dirname,_0x5dbf('0xa2'),_0x1d01e4['output']),[_0x1d01e4['id'],_0x1445ec[_0x5dbf('0x85')](),path['join'](__dirname,_0x5dbf('0xa3'),_0x1d01e4[_0x5dbf('0xa4')]),_0x3dac55]);return _0x1d01e4;}else{var _0x33be00=squel['select']();_0x33be00[_0x5dbf('0x70')]('('+_0x1445ec[_0x5dbf('0x85')]()+')',_0x5dbf('0xa5'));_0x33be00[_0x5dbf('0x67')](_0x5dbf('0xa6'),_0x5dbf('0x1b'));_0x1445ec['limit'](_0x4e0117[_0x5dbf('0x1d')]||_0x1efe3f);_0x1445ec['offset'](_0x4e0117[_0x5dbf('0x1c')]||0x0);return dbH[_0x5dbf('0x86')][_0x5dbf('0x32')](_0x33be00[_0x5dbf('0x85')](),{'type':dbH[_0x5dbf('0x86')][_0x5dbf('0x87')]['SELECT']})[_0x5dbf('0x23')](function(_0x2481a5){if(!_0x2481a5[_0x5dbf('0x37')]){_0xc3ce87=0x0;}else{_0xc3ce87=_0x2481a5[0x0]['count']||0x0;}return dbH[_0x5dbf('0x86')]['query'](_0x1445ec['toString'](),{'type':dbH[_0x5dbf('0x86')][_0x5dbf('0x87')][_0x5dbf('0x88')]});})[_0x5dbf('0x23')](function(_0x2531f1){return{'rows':_0x2531f1||[],'count':_0xc3ce87};});}});}exports['run']=function(_0x52d3c2,_0x4f38a0){return runReport(_0x52d3c2[_0x5dbf('0x51')],_0x52d3c2[_0x5dbf('0x32')],_0x52d3c2[_0x5dbf('0x41')])[_0x5dbf('0x23')](respondWithResult(_0x4f38a0,null))[_0x5dbf('0x44')](handleError(_0x4f38a0,null));};exports[_0x5dbf('0xa7')]=runReport;exports[_0x5dbf('0x32')]=function(_0x236754,_0x5c6f2a){var _0xac0935=0xa;var _0x16c80d=[_0x5dbf('0x54'),_0x5dbf('0x89'),_0x5dbf('0x8a'),_0x5dbf('0x55')];var _0x15b27e={'SUM':_0x5dbf('0x56'),'COUNT':_0x5dbf('0x57'),'COUNT DISTINCT':_0x5dbf('0x58'),'MAX':'MAX(%s)','MIN':'MIN(%s)','AVG':'AVG(%s)','GROUP_CONCAT':_0x5dbf('0x8c'),'GROUP_CONCAT ASC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','GROUP_CONCAT DESC':_0x5dbf('0x8e')};var _0x5d0c87={'SEC_TO_TIME':_0x5dbf('0x8f'),'DATE':_0x5dbf('0x5b'),'HOUR':_0x5dbf('0x5c'),'ROUND':_0x5dbf('0x5d'),'UNIX_TIMESTAMP':_0x5dbf('0x5e')};var _0x4f8dde=function(_0x9186e){return!_[_0x5dbf('0x5f')]([_0x5dbf('0x60'),_0x5dbf('0x61'),_0x5dbf('0x62'),'IS\x20NOT\x20EMPTY'],_0x9186e);};var _0x3177d5=function(_0x2ef762){if(!_0x2ef762||!_0x2ef762[_0x5dbf('0x64')][_0x5dbf('0x37')]){return'';}for(var _0x588ad8='(',_0x355e4e=0x0;_0x355e4e<_0x2ef762[_0x5dbf('0x64')][_0x5dbf('0x37')];_0x355e4e+=0x1){_0x355e4e>0x0&&(_0x588ad8+='\x20'+_0x2ef762[_0x5dbf('0x65')]+'\x20');_0x588ad8+=_0x2ef762[_0x5dbf('0x64')][_0x355e4e][_0x5dbf('0x66')]?_0x3177d5(_0x2ef762[_0x5dbf('0x64')][_0x355e4e]['group']):_0x2ef762['rules'][_0x355e4e]['field']+'\x20'+_0x2ef762[_0x5dbf('0x64')][_0x355e4e][_0x5dbf('0x68')]+(_0x4f8dde(_0x2ef762['rules'][_0x355e4e][_0x5dbf('0x68')])?'\x20'+_0x2ef762['rules'][_0x355e4e][_0x5dbf('0x69')]:'');}return _0x588ad8+')';};var _0x4b835e={'where':{'id':_0x236754[_0x5dbf('0x51')]['id']}},_0x50b2be,_0x2f7063,_0x3540d0,_0x2eafe0,_0x1fcac1;_0x4b835e=_[_0x5dbf('0x3f')]({},_0x4b835e,_0x236754['options']);return db[_0x5dbf('0x2e')][_0x5dbf('0x50')](_0x4b835e)[_0x5dbf('0x23')](function(_0x2410fc){if(_0x2410fc){_0x50b2be=_0x2410fc;return _0x2410fc[_0x5dbf('0x6a')]();}return null;})[_0x5dbf('0x23')](function(_0x153401){if(_0x153401){if(!_0x153401[_0x5dbf('0x37')]){throw new db[(_0x5dbf('0x6b'))]['ValidationErrorItem'](_0x5dbf('0x6d'),0x193);}_0x2f7063=_0x153401;return db[_0x5dbf('0x6e')][_0x5dbf('0x90')]({'raw':!![]});}return null;})[_0x5dbf('0x23')](function(_0x380b2c){if(_0x380b2c){_0x3540d0=_[_0x5dbf('0x91')](_0x380b2c,'id');var _0x9e9248;var _0x1ec7dd=squel[_0x5dbf('0x6f')]();_0x1ec7dd[_0x5dbf('0x70')](_0x50b2be[_0x5dbf('0x71')]);for(var _0x43ee4c=0x0;_0x43ee4c<_0x2f7063[_0x5dbf('0x37')];_0x43ee4c+=0x1){_0x9e9248=_0x2f7063[_0x43ee4c][_0x5dbf('0x72')]?_0x3540d0[_0x2f7063[_0x43ee4c][_0x5dbf('0x72')]][_0x5dbf('0x73')]:_0x2f7063[_0x43ee4c][_0x5dbf('0x67')];_0x9e9248=_0x2f7063[_0x43ee4c][_0x5dbf('0x74')]?_[_0x5dbf('0x75')](_0x15b27e[_0x2f7063[_0x43ee4c]['function']],'%s',_0x9e9248):_0x9e9248;_0x9e9248=_0x2f7063[_0x43ee4c][_0x5dbf('0x76')]?_['replace'](_0x5d0c87[_0x2f7063[_0x43ee4c][_0x5dbf('0x76')]],'%s',_0x9e9248):_0x9e9248;if(_0x2f7063[_0x43ee4c]['groupBy']){_0x1ec7dd[_0x5dbf('0x66')](_0x9e9248);}_0x2f7063[_0x43ee4c]['orderBy']&&_0x1ec7dd[_0x5dbf('0x3a')](_0x9e9248,_0x2f7063[_0x43ee4c][_0x5dbf('0x78')]===_0x5dbf('0x79')?![]:!![]);_0x1ec7dd['field'](_0x9e9248,_0x2f7063[_0x43ee4c][_0x5dbf('0x7a')]||_0x9e9248);}if(_0x50b2be[_0x5dbf('0x7b')]){_0x50b2be[_0x5dbf('0x7b')]=JSON[_0x5dbf('0x7c')](_0x50b2be[_0x5dbf('0x7b')]);for(var _0x3f0136=0x0;_0x3f0136<_0x50b2be[_0x5dbf('0x7b')]['length'];_0x3f0136+=0x1){if(_0x50b2be[_0x5dbf('0x7b')][_0x3f0136][_0x5dbf('0x40')]&&_['includes'](_0x16c80d,_0x50b2be[_0x5dbf('0x7b')][_0x3f0136]['type'])&&_0x50b2be['joins'][_0x3f0136][_0x5dbf('0x7d')]&&_0x50b2be[_0x5dbf('0x7b')][_0x3f0136]['foreignTable']&&_0x50b2be[_0x5dbf('0x7b')][_0x3f0136]['foreignKey']){_0x1ec7dd[_0x50b2be['joins'][_0x3f0136][_0x5dbf('0x40')]](_0x50b2be['joins'][_0x3f0136][_0x5dbf('0x7e')],null,util[_0x5dbf('0x76')](_0x5dbf('0x80'),_0x50b2be[_0x5dbf('0x71')],_0x50b2be[_0x5dbf('0x7b')][_0x3f0136][_0x5dbf('0x7d')],_0x50b2be[_0x5dbf('0x7b')][_0x3f0136][_0x5dbf('0x7e')],_0x50b2be[_0x5dbf('0x7b')][_0x3f0136][_0x5dbf('0x7f')]));}}}if(_0x50b2be[_0x5dbf('0x81')]){_0x50b2be[_0x5dbf('0x81')]=JSON[_0x5dbf('0x7c')](_0x50b2be['conditions']);_0x1ec7dd[_0x5dbf('0x3c')](_0x3177d5(_0x50b2be[_0x5dbf('0x81')][_0x5dbf('0x66')]));}_0x1fcac1=_0x1ec7dd[_0x5dbf('0x82')]();_0x1ec7dd[_0x5dbf('0x1d')](_0xac0935);_0x1ec7dd[_0x5dbf('0x1c')](0x0);logger['debug'](_0x5dbf('0x84'),_0x1ec7dd[_0x5dbf('0x85')]());return db[_0x5dbf('0x86')][_0x5dbf('0x32')](_0x1ec7dd['toString'](),{'type':db[_0x5dbf('0x86')][_0x5dbf('0x87')][_0x5dbf('0x88')]});}})[_0x5dbf('0x23')](function(){return{'sql':_0x1fcac1[_0x5dbf('0x85')]()};})[_0x5dbf('0x23')](respondWithResult(_0x5c6f2a,null))[_0x5dbf('0x44')](handleError(_0x5c6f2a,null));};