Built motion from commit (unavailable).|2.4.18
[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 _0x54bb=['stack','name','send','map','rawAttributes','fieldName','type','key','query','filters','intersection','attributes','fields','length','model','hasOwnProperty','nolimit','order','sort','filter','where','VIRTUAL','merge','AnalyticCustomReport','includeAll','include','catch','params','keys','options','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','Reports','userProfileId','autoAssociation','CustomReports','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','preview','join','right_join','cross_join','SUM(%s)','COUNT(%s)','COUNT(DISTINCT\x20%s)','MAX(%s)','MIN(%s)','AVG(%s)','GROUP_CONCAT(%s)','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)','DATE(%s)','HOUR(%s)','UNIX_TIMESTAMP(%s)','IS\x20NULL','IS\x20NOT\x20NULL','IS\x20EMPTY','IS\x20NOT\x20EMPTY','rules','operator','group','condition','value','getFields','Sequelize','ValidationErrorItem','findAll','keyBy','from','table','MetricId','metric','field','function','replace','format','orderBy','alias','joins','parse','includes','parentKey','foreignKey','foreignTable','%s.%s\x20=\x20%s.%s','conditions','clone','debug','Limited\x20Query:','toString','sequelize','QueryTypes','SELECT','left_join','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','SEC_TO_TIME(%s)','ROUND(%s)','AnalyticMetric','select','No\x20available\x20data','web','fullPath','%s-%s.%s','randomstring','generate','csv','custom','cdr','.calldate\x20BETWEEN\x20?\x20AND\x20?','startDate','endDate','.createdAt\x20BETWEEN\x20?\x20AND\x20?','info','Run\x20Query:','../../components/export/','output','../../files/reports','savename','COUNT(*)','run','Please\x20insert\x20at\x20least\x20one\x20field','html-pdf','rimraf','fast-json-patch','request-promise','moment','mustache','util','sox','ejs','squel','jsforce','desk.js','to-csv','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','end','status','count','offset','limit','set','Content-Range','apply','reject','save','update','then','destroy','get','UserProfileResource','sendStatus'];(function(_0x4e90e3,_0x570a1d){var _0x295e5b=function(_0x754043){while(--_0x754043){_0x4e90e3['push'](_0x4e90e3['shift']());}};_0x295e5b(++_0x570a1d);}(_0x54bb,0x7c));var _0xb54b=function(_0x11963b,_0x5d2da7){_0x11963b=_0x11963b-0x0;var _0x5d451e=_0x54bb[_0x11963b];return _0x5d451e;};'use strict';var pdf=require(_0xb54b('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xb54b('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xb54b('0x2'));var rp=require(_0xb54b('0x3'));var moment=require(_0xb54b('0x4'));var BPromise=require('bluebird');var Mustache=require(_0xb54b('0x5'));var util=require(_0xb54b('0x6'));var path=require('path');var sox=require(_0xb54b('0x7'));var csv=require('to-csv');var ejs=require(_0xb54b('0x8'));var fs=require('fs');var _=require('lodash');var squel=require(_0xb54b('0x9'));var crypto=require('crypto');var jsforce=require(_0xb54b('0xa'));var deskjs=require(_0xb54b('0xb'));var toCsv=require(_0xb54b('0xc'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0xb54b('0xd'));var authService=require(_0xb54b('0xe'));var qs=require(_0xb54b('0xf'));var as=require(_0xb54b('0x10'));var hardwareService=require(_0xb54b('0x11'));var logger=require(_0xb54b('0x12'))(_0xb54b('0x13'));var utils=require(_0xb54b('0x14'));var config=require('../../config/environment');var db=require(_0xb54b('0x15'))['db'];function respondWithStatusCode(_0x4165ff,_0x36bd92){_0x36bd92=_0x36bd92||0xcc;return function(_0x4afee3){if(_0x4afee3){return _0x4165ff['sendStatus'](_0x36bd92);}return _0x4165ff['status'](_0x36bd92)[_0xb54b('0x16')]();};}function respondWithResult(_0xfd7437,_0x52cef2){_0x52cef2=_0x52cef2||0xc8;return function(_0x511a2d){if(_0x511a2d){return _0xfd7437[_0xb54b('0x17')](_0x52cef2)['json'](_0x511a2d);}};}function respondWithFilteredResult(_0x3a72a7,_0x5b4831){return function(_0x502d31){if(_0x502d31){var _0x32660b=_0x502d31[_0xb54b('0x18')],_0x3ace3c=_0x5b4831['offset'],_0x379d8f=_0x5b4831[_0xb54b('0x19')]+_0x5b4831[_0xb54b('0x1a')],_0x17861b;if(_0x379d8f>=_0x32660b){_0x379d8f=_0x32660b;_0x17861b=0xc8;}else{_0x17861b=0xce;}_0x3a72a7[_0xb54b('0x17')](_0x17861b);return _0x3a72a7[_0xb54b('0x1b')](_0xb54b('0x1c'),_0x3ace3c+'-'+_0x379d8f+'/'+_0x32660b)['json'](_0x502d31);}return null;};}function patchUpdates(_0x2e176d){return function(_0x4b5bc8){try{jsonpatch[_0xb54b('0x1d')](_0x4b5bc8,_0x2e176d,!![]);}catch(_0x49c964){return BPromise[_0xb54b('0x1e')](_0x49c964);}return _0x4b5bc8[_0xb54b('0x1f')]();};}function saveUpdates(_0x4c8dda,_0x2c8e95){return function(_0x52727e){if(_0x52727e){return _0x52727e[_0xb54b('0x20')](_0x4c8dda)[_0xb54b('0x21')](function(_0x3bd987){return _0x3bd987;});}return null;};}function removeEntity(_0x5be84b,_0x3e1a1e){return function(_0x48cc4c){if(_0x48cc4c){return _0x48cc4c[_0xb54b('0x22')]()[_0xb54b('0x21')](function(){var _0x4f8506=_0x48cc4c[_0xb54b('0x23')]({'plain':!![]});var _0xe60bc3='CustomReports';return db[_0xb54b('0x24')][_0xb54b('0x22')]({'where':{'type':_0xe60bc3,'resourceId':_0x4f8506['id']}})[_0xb54b('0x21')](function(){return _0x48cc4c;});})[_0xb54b('0x21')](function(){_0x5be84b[_0xb54b('0x17')](0xcc)[_0xb54b('0x16')]();});}};}function handleEntityNotFound(_0x3cf25a,_0x386c8e){return function(_0x230c54){if(!_0x230c54){_0x3cf25a[_0xb54b('0x25')](0x194);}return _0x230c54;};}function handleError(_0x5bbf60,_0x5f1f10){_0x5f1f10=_0x5f1f10||0x1f4;return function(_0x3781af){logger['error'](_0x3781af[_0xb54b('0x26')]);if(_0x3781af[_0xb54b('0x27')]){delete _0x3781af['name'];}_0x5bbf60['status'](_0x5f1f10)[_0xb54b('0x28')](_0x3781af);};}exports['index']=function(_0x45c514,_0x3c9669){var _0x2300df={},_0x3b0964={},_0x312f7e={'count':0x0,'rows':[]};var _0x414cdd=_[_0xb54b('0x29')](db['AnalyticCustomReport'][_0xb54b('0x2a')],function(_0x215ac5){return{'name':_0x215ac5[_0xb54b('0x2b')],'type':_0x215ac5[_0xb54b('0x2c')][_0xb54b('0x2d')]};});_0x3b0964['model']=_['map'](_0x414cdd,'name');_0x3b0964['query']=_['keys'](_0x45c514[_0xb54b('0x2e')]);_0x3b0964[_0xb54b('0x2f')]=_[_0xb54b('0x30')](_0x3b0964['model'],_0x3b0964[_0xb54b('0x2e')]);_0x2300df[_0xb54b('0x31')]=_[_0xb54b('0x30')](_0x3b0964['model'],qs[_0xb54b('0x32')](_0x45c514['query'][_0xb54b('0x32')]));_0x2300df[_0xb54b('0x31')]=_0x2300df[_0xb54b('0x31')][_0xb54b('0x33')]?_0x2300df[_0xb54b('0x31')]:_0x3b0964[_0xb54b('0x34')];if(!_0x45c514[_0xb54b('0x2e')][_0xb54b('0x35')](_0xb54b('0x36'))){_0x2300df['limit']=qs[_0xb54b('0x1a')](_0x45c514[_0xb54b('0x2e')]['limit']);_0x2300df[_0xb54b('0x19')]=qs[_0xb54b('0x19')](_0x45c514[_0xb54b('0x2e')][_0xb54b('0x19')]);}_0x2300df[_0xb54b('0x37')]=qs['sort'](_0x45c514['query'][_0xb54b('0x38')]);_0x2300df['where']=qs[_0xb54b('0x2f')](_['pick'](_0x45c514[_0xb54b('0x2e')],_0x3b0964['filters']));if(_0x45c514[_0xb54b('0x2e')][_0xb54b('0x39')]){_0x2300df[_0xb54b('0x3a')]=_['merge'](_0x2300df['where'],{'$or':_[_0xb54b('0x29')](_0x414cdd,function(_0x48404e){if(_0x48404e['type']!==_0xb54b('0x3b')){var _0x1f4e4a={};_0x1f4e4a[_0x48404e[_0xb54b('0x27')]]={'$like':'%'+_0x45c514[_0xb54b('0x2e')][_0xb54b('0x39')]+'%'};return _0x1f4e4a;}})});}_0x2300df=_[_0xb54b('0x3c')]({},_0x2300df,_0x45c514['options']);var _0x75d064={'where':_0x2300df['where']};return db[_0xb54b('0x3d')]['count'](_0x75d064)[_0xb54b('0x21')](function(_0x431e95){_0x312f7e[_0xb54b('0x18')]=_0x431e95;if(_0x45c514[_0xb54b('0x2e')][_0xb54b('0x3e')]){_0x2300df[_0xb54b('0x3f')]=[{'all':!![]}];}return db['AnalyticCustomReport']['findAll'](_0x2300df);})[_0xb54b('0x21')](function(_0x4ef66d){_0x312f7e['rows']=_0x4ef66d;return _0x312f7e;})[_0xb54b('0x21')](respondWithFilteredResult(_0x3c9669,_0x2300df))[_0xb54b('0x40')](handleError(_0x3c9669,null));};exports['show']=function(_0x11b52a,_0x22efea){var _0x43e92c={'raw':![],'where':{'id':_0x11b52a[_0xb54b('0x41')]['id']}},_0x48abe1={};_0x48abe1['model']=_[_0xb54b('0x42')](db[_0xb54b('0x3d')][_0xb54b('0x2a')]);_0x48abe1['query']=_['keys'](_0x11b52a['query']);_0x48abe1[_0xb54b('0x2f')]=_[_0xb54b('0x30')](_0x48abe1['model'],_0x48abe1[_0xb54b('0x2e')]);_0x43e92c[_0xb54b('0x31')]=_[_0xb54b('0x30')](_0x48abe1['model'],qs[_0xb54b('0x32')](_0x11b52a[_0xb54b('0x2e')][_0xb54b('0x32')]));_0x43e92c[_0xb54b('0x31')]=_0x43e92c['attributes'][_0xb54b('0x33')]?_0x43e92c[_0xb54b('0x31')]:_0x48abe1['model'];if(_0x11b52a[_0xb54b('0x2e')][_0xb54b('0x3e')]){_0x43e92c[_0xb54b('0x3f')]=[{'all':!![]}];}_0x43e92c=_[_0xb54b('0x3c')]({},_0x43e92c,_0x11b52a[_0xb54b('0x43')]);return db[_0xb54b('0x3d')][_0xb54b('0x44')](_0x43e92c)[_0xb54b('0x21')](handleEntityNotFound(_0x22efea,null))[_0xb54b('0x21')](respondWithResult(_0x22efea,null))[_0xb54b('0x40')](handleError(_0x22efea,null));};exports['create']=function(_0x5be37a,_0x7cbe37){return db['AnalyticCustomReport'][_0xb54b('0x45')](_0x5be37a['body'],{})[_0xb54b('0x21')](function(_0x37200d){var _0xe87dc7=_0x5be37a[_0xb54b('0x46')][_0xb54b('0x23')]({'plain':!![]});if(!_0xe87dc7)throw new Error(_0xb54b('0x47'));if(_0xe87dc7[_0xb54b('0x48')]==='user'){var _0x570f26=_0x37200d[_0xb54b('0x23')]({'plain':!![]});var _0x4d1b5a=_0xb54b('0x49');return db['UserProfileSection'][_0xb54b('0x44')]({'where':{'name':_0x4d1b5a,'userProfileId':_0xe87dc7[_0xb54b('0x4a')]},'raw':!![]})[_0xb54b('0x21')](function(_0x1653d0){if(_0x1653d0&&_0x1653d0[_0xb54b('0x4b')]===0x0){return db[_0xb54b('0x24')]['create']({'name':_0x570f26['name'],'resourceId':_0x570f26['id'],'type':_0xb54b('0x4c'),'sectionId':_0x1653d0['id']},{})['then'](function(){return _0x37200d;});}else{return _0x37200d;}})[_0xb54b('0x40')](function(_0x131993){logger[_0xb54b('0x4d')](_0xb54b('0x4e'),_0x131993);throw _0x131993;});}return _0x37200d;})['then'](respondWithResult(_0x7cbe37,0xc9))['catch'](handleError(_0x7cbe37,null));};exports[_0xb54b('0x20')]=function(_0xde9348,_0x55a99f){if(_0xde9348['body']['id']){delete _0xde9348['body']['id'];}return db[_0xb54b('0x3d')][_0xb54b('0x44')]({'where':{'id':_0xde9348[_0xb54b('0x41')]['id']}})['then'](handleEntityNotFound(_0x55a99f,null))[_0xb54b('0x21')](saveUpdates(_0xde9348[_0xb54b('0x4f')],null))[_0xb54b('0x21')](respondWithResult(_0x55a99f,null))[_0xb54b('0x40')](handleError(_0x55a99f,null));};exports[_0xb54b('0x22')]=function(_0x4d2ccf,_0x1caa95){return db['AnalyticCustomReport'][_0xb54b('0x44')]({'where':{'id':_0x4d2ccf[_0xb54b('0x41')]['id']}})[_0xb54b('0x21')](handleEntityNotFound(_0x1caa95,null))['then'](removeEntity(_0x1caa95,null))[_0xb54b('0x40')](handleError(_0x1caa95,null));};exports[_0xb54b('0x50')]=function(_0x26690e,_0xb67bd9){var _0x56485f=0xa;var _0x1e086b=[_0xb54b('0x51'),'left_join',_0xb54b('0x52'),_0xb54b('0x53')];var _0x1d055a={'SUM':_0xb54b('0x54'),'COUNT':_0xb54b('0x55'),'COUNT DISTINCT':_0xb54b('0x56'),'MAX':_0xb54b('0x57'),'MIN':_0xb54b('0x58'),'AVG':_0xb54b('0x59'),'GROUP_CONCAT':_0xb54b('0x5a'),'GROUP_CONCAT ASC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','GROUP_CONCAT DESC':_0xb54b('0x5b')};var _0x1a8b6b={'SEC_TO_TIME':'SEC_TO_TIME(%s)','DATE':_0xb54b('0x5c'),'HOUR':_0xb54b('0x5d'),'ROUND':'ROUND(%s)','UNIX_TIMESTAMP':_0xb54b('0x5e')};var _0x13eb55=function(_0x510e5c){return!_['includes']([_0xb54b('0x5f'),_0xb54b('0x60'),_0xb54b('0x61'),_0xb54b('0x62')],_0x510e5c);};var _0x15ca3d=function(_0x5ce3ce){if(!_0x5ce3ce||!_0x5ce3ce['rules'][_0xb54b('0x33')]){return'';}for(var _0x34abdd='(',_0x52de06=0x0;_0x52de06<_0x5ce3ce[_0xb54b('0x63')][_0xb54b('0x33')];_0x52de06+=0x1){_0x52de06>0x0&&(_0x34abdd+='\x20'+_0x5ce3ce[_0xb54b('0x64')]+'\x20');_0x34abdd+=_0x5ce3ce[_0xb54b('0x63')][_0x52de06][_0xb54b('0x65')]?_0x15ca3d(_0x5ce3ce['rules'][_0x52de06][_0xb54b('0x65')]):_0x5ce3ce[_0xb54b('0x63')][_0x52de06]['field']+'\x20'+_0x5ce3ce[_0xb54b('0x63')][_0x52de06][_0xb54b('0x66')]+(_0x13eb55(_0x5ce3ce['rules'][_0x52de06][_0xb54b('0x66')])?'\x20'+_0x5ce3ce[_0xb54b('0x63')][_0x52de06][_0xb54b('0x67')]:'');}return _0x34abdd+')';};var _0x2248dd={'where':{'id':_0x26690e[_0xb54b('0x41')]['id']}},_0x51dd5d,_0xb761d5,_0x5f191d,_0xaa2a7e,_0x4dc513;_0x2248dd=_[_0xb54b('0x3c')]({},_0x2248dd,_0x26690e[_0xb54b('0x43')]);return db[_0xb54b('0x3d')][_0xb54b('0x44')](_0x2248dd)['then'](function(_0x46fd76){if(_0x46fd76){_0x51dd5d=_0x46fd76;return _0x46fd76[_0xb54b('0x68')]();}return null;})['then'](function(_0x2af366){if(_0x2af366){if(!_0x2af366[_0xb54b('0x33')]){throw new db[(_0xb54b('0x69'))][(_0xb54b('0x6a'))]('Please\x20insert\x20at\x20least\x20one\x20field',0x193);}_0xb761d5=_0x2af366;return db['AnalyticMetric'][_0xb54b('0x6b')]({'raw':!![]});}return null;})[_0xb54b('0x21')](function(_0x127d66){if(_0x127d66){_0x5f191d=_[_0xb54b('0x6c')](_0x127d66,'id');var _0x430b7d;var _0x54ad90=squel['select']();_0x54ad90[_0xb54b('0x6d')](_0x51dd5d[_0xb54b('0x6e')]);for(var _0x59acf1=0x0;_0x59acf1<_0xb761d5[_0xb54b('0x33')];_0x59acf1+=0x1){_0x430b7d=_0xb761d5[_0x59acf1][_0xb54b('0x6f')]?_0x5f191d[_0xb761d5[_0x59acf1]['MetricId']][_0xb54b('0x70')]:_0xb761d5[_0x59acf1][_0xb54b('0x71')];_0x430b7d=_0xb761d5[_0x59acf1][_0xb54b('0x72')]?_[_0xb54b('0x73')](_0x1d055a[_0xb761d5[_0x59acf1][_0xb54b('0x72')]],'%s',_0x430b7d):_0x430b7d;_0x430b7d=_0xb761d5[_0x59acf1]['format']?_[_0xb54b('0x73')](_0x1a8b6b[_0xb761d5[_0x59acf1][_0xb54b('0x74')]],'%s',_0x430b7d):_0x430b7d;if(_0xb761d5[_0x59acf1]['groupBy']){_0x54ad90[_0xb54b('0x65')](_0x430b7d);}_0xb761d5[_0x59acf1][_0xb54b('0x75')]&&_0x54ad90[_0xb54b('0x37')](_0x430b7d,_0xb761d5[_0x59acf1]['orderBy']==='DESC'?![]:!![]);_0x54ad90[_0xb54b('0x71')](_0x430b7d,_0xb761d5[_0x59acf1][_0xb54b('0x76')]||_0x430b7d);}if(_0x51dd5d['joins']){_0x51dd5d[_0xb54b('0x77')]=JSON[_0xb54b('0x78')](_0x51dd5d[_0xb54b('0x77')]);for(var _0x504af1=0x0;_0x504af1<_0x51dd5d[_0xb54b('0x77')][_0xb54b('0x33')];_0x504af1+=0x1){if(_0x51dd5d[_0xb54b('0x77')][_0x504af1][_0xb54b('0x2c')]&&_[_0xb54b('0x79')](_0x1e086b,_0x51dd5d[_0xb54b('0x77')][_0x504af1][_0xb54b('0x2c')])&&_0x51dd5d[_0xb54b('0x77')][_0x504af1][_0xb54b('0x7a')]&&_0x51dd5d[_0xb54b('0x77')][_0x504af1]['foreignTable']&&_0x51dd5d[_0xb54b('0x77')][_0x504af1][_0xb54b('0x7b')]){_0x54ad90[_0x51dd5d[_0xb54b('0x77')][_0x504af1]['type']](_0x51dd5d['joins'][_0x504af1][_0xb54b('0x7c')],null,util[_0xb54b('0x74')](_0xb54b('0x7d'),_0x51dd5d[_0xb54b('0x6e')],_0x51dd5d['joins'][_0x504af1]['parentKey'],_0x51dd5d['joins'][_0x504af1][_0xb54b('0x7c')],_0x51dd5d[_0xb54b('0x77')][_0x504af1][_0xb54b('0x7b')]));}}}if(_0x51dd5d[_0xb54b('0x7e')]){_0x51dd5d[_0xb54b('0x7e')]=JSON['parse'](_0x51dd5d[_0xb54b('0x7e')]);_0x54ad90[_0xb54b('0x3a')](_0x15ca3d(_0x51dd5d[_0xb54b('0x7e')][_0xb54b('0x65')]));}_0x4dc513=_0x54ad90[_0xb54b('0x7f')]();_0x54ad90[_0xb54b('0x1a')](_0x56485f);_0x54ad90['offset'](0x0);logger[_0xb54b('0x80')](_0xb54b('0x81'),_0x54ad90[_0xb54b('0x82')]());return db[_0xb54b('0x83')][_0xb54b('0x2e')](_0x54ad90[_0xb54b('0x82')](),{'type':db[_0xb54b('0x83')][_0xb54b('0x84')][_0xb54b('0x85')]});}})[_0xb54b('0x21')](respondWithResult(_0xb67bd9,null))[_0xb54b('0x40')](handleError(_0xb67bd9,null));};function runReport(_0x27c31e,_0x3b32dc,_0x1005b3){var _0x326dba=_0x3b32dc[_0xb54b('0x27')];var _0x138faf=0xa;var _0x42338b=['join',_0xb54b('0x86'),_0xb54b('0x52'),_0xb54b('0x53')];var _0x37e226={'SUM':_0xb54b('0x54'),'COUNT':_0xb54b('0x55'),'COUNT DISTINCT':'COUNT(DISTINCT\x20%s)','MAX':_0xb54b('0x57'),'MIN':_0xb54b('0x58'),'AVG':_0xb54b('0x59'),'GROUP_CONCAT':_0xb54b('0x5a'),'GROUP_CONCAT ASC':_0xb54b('0x87'),'GROUP_CONCAT DESC':_0xb54b('0x5b')};var _0x57beb8={'SEC_TO_TIME':_0xb54b('0x88'),'DATE':_0xb54b('0x5c'),'HOUR':_0xb54b('0x5d'),'ROUND':_0xb54b('0x89'),'UNIX_TIMESTAMP':'UNIX_TIMESTAMP(%s)'};var _0xc504be=function(_0x2dc0c3){return!_[_0xb54b('0x79')]([_0xb54b('0x5f'),'IS\x20NOT\x20NULL',_0xb54b('0x61'),_0xb54b('0x62')],_0x2dc0c3);};var _0x1a5000=function(_0x248b20){if(!_0x248b20||!_0x248b20[_0xb54b('0x63')][_0xb54b('0x33')]){return'';}for(var _0x33fd70='(',_0x49c78c=0x0;_0x49c78c<_0x248b20[_0xb54b('0x63')]['length'];_0x49c78c+=0x1){_0x49c78c>0x0&&(_0x33fd70+='\x20'+_0x248b20[_0xb54b('0x64')]+'\x20');_0x33fd70+=_0x248b20[_0xb54b('0x63')][_0x49c78c][_0xb54b('0x65')]?_0x1a5000(_0x248b20[_0xb54b('0x63')][_0x49c78c][_0xb54b('0x65')]):_0x248b20[_0xb54b('0x63')][_0x49c78c]['field']+'\x20'+_0x248b20[_0xb54b('0x63')][_0x49c78c][_0xb54b('0x66')]+(_0xc504be(_0x248b20[_0xb54b('0x63')][_0x49c78c][_0xb54b('0x66')])?'\x20'+_0x248b20['rules'][_0x49c78c][_0xb54b('0x67')]:'');}return _0x33fd70+')';};var _0x5f013a={'where':{'id':_0x27c31e['id']}},_0x1bbd1b,_0x557713,_0x1e091f,_0x119584,_0xf41b8e;_0x5f013a=_[_0xb54b('0x3c')]({},_0x5f013a,_0x1005b3);return db['AnalyticCustomReport'][_0xb54b('0x44')](_0x5f013a)[_0xb54b('0x21')](function(_0x1e584e){if(_0x1e584e){_0x1bbd1b=_0x1e584e;return _0x1e584e[_0xb54b('0x68')]();}return null;})[_0xb54b('0x21')](function(_0x46d099){if(_0x46d099){if(!_0x46d099[_0xb54b('0x33')]){throw new db[(_0xb54b('0x69'))][(_0xb54b('0x6a'))]('Please\x20insert\x20at\x20least\x20one\x20field',0x193);}_0x557713=_0x46d099;return db[_0xb54b('0x8a')]['findAll']({'raw':!![]});}return null;})[_0xb54b('0x21')](function(_0x3ec49f){if(_0x3ec49f){_0x1e091f=_[_0xb54b('0x6c')](_0x3ec49f,'id');var _0x325ae2;var _0x30a6ff=squel[_0xb54b('0x8b')]();_0x30a6ff[_0xb54b('0x6d')](_0x1bbd1b['table']);for(var _0x1868c2=0x0;_0x1868c2<_0x557713[_0xb54b('0x33')];_0x1868c2+=0x1){_0x325ae2=_0x557713[_0x1868c2][_0xb54b('0x6f')]?_0x1e091f[_0x557713[_0x1868c2][_0xb54b('0x6f')]][_0xb54b('0x70')]:_0x557713[_0x1868c2][_0xb54b('0x71')];_0x325ae2=_0x557713[_0x1868c2]['function']?_[_0xb54b('0x73')](_0x37e226[_0x557713[_0x1868c2][_0xb54b('0x72')]],'%s',_0x325ae2):_0x325ae2;_0x325ae2=_0x557713[_0x1868c2][_0xb54b('0x74')]?_[_0xb54b('0x73')](_0x57beb8[_0x557713[_0x1868c2]['format']],'%s',_0x325ae2):_0x325ae2;if(_0x557713[_0x1868c2]['groupBy']){_0x30a6ff[_0xb54b('0x65')](_0x325ae2);}_0x557713[_0x1868c2]['orderBy']&&_0x30a6ff[_0xb54b('0x37')](_0x325ae2,_0x557713[_0x1868c2][_0xb54b('0x75')]==='DESC'?![]:!![]);_0x30a6ff[_0xb54b('0x71')](_0x325ae2,_0x557713[_0x1868c2][_0xb54b('0x76')]||_0x325ae2);}if(_0x1bbd1b[_0xb54b('0x77')]){_0x1bbd1b[_0xb54b('0x77')]=JSON[_0xb54b('0x78')](_0x1bbd1b['joins']);for(var _0x2d61b9=0x0;_0x2d61b9<_0x1bbd1b[_0xb54b('0x77')][_0xb54b('0x33')];_0x2d61b9+=0x1){if(_0x1bbd1b[_0xb54b('0x77')][_0x2d61b9]['type']&&_[_0xb54b('0x79')](_0x42338b,_0x1bbd1b[_0xb54b('0x77')][_0x2d61b9][_0xb54b('0x2c')])&&_0x1bbd1b[_0xb54b('0x77')][_0x2d61b9][_0xb54b('0x7a')]&&_0x1bbd1b[_0xb54b('0x77')][_0x2d61b9][_0xb54b('0x7c')]&&_0x1bbd1b[_0xb54b('0x77')][_0x2d61b9][_0xb54b('0x7b')]){_0x30a6ff[_0x1bbd1b['joins'][_0x2d61b9][_0xb54b('0x2c')]](_0x1bbd1b[_0xb54b('0x77')][_0x2d61b9][_0xb54b('0x7c')],null,util[_0xb54b('0x74')](_0xb54b('0x7d'),_0x1bbd1b[_0xb54b('0x6e')],_0x1bbd1b['joins'][_0x2d61b9][_0xb54b('0x7a')],_0x1bbd1b[_0xb54b('0x77')][_0x2d61b9]['foreignTable'],_0x1bbd1b[_0xb54b('0x77')][_0x2d61b9][_0xb54b('0x7b')]));}}}if(_0x1bbd1b[_0xb54b('0x7e')]){_0x1bbd1b[_0xb54b('0x7e')]=JSON[_0xb54b('0x78')](_0x1bbd1b['conditions']);_0x30a6ff[_0xb54b('0x3a')](_0x1a5000(_0x1bbd1b[_0xb54b('0x7e')][_0xb54b('0x65')]));}_0xf41b8e=_0x30a6ff[_0xb54b('0x7f')]();_0x30a6ff[_0xb54b('0x1a')](_0x138faf);_0x30a6ff[_0xb54b('0x19')](0x0);logger[_0xb54b('0x80')](_0xb54b('0x81'),_0x30a6ff[_0xb54b('0x82')]());return db[_0xb54b('0x83')][_0xb54b('0x2e')](_0x30a6ff[_0xb54b('0x82')](),{'type':db[_0xb54b('0x83')][_0xb54b('0x84')][_0xb54b('0x85')]});}})[_0xb54b('0x21')](function(_0x307512){if(!_0x307512['length']){throw new db[(_0xb54b('0x69'))][(_0xb54b('0x6a'))](_0xb54b('0x8c'),0xcc);}if(_0x3b32dc['output']===_0xb54b('0x8d')){return null;}var _0xb5267a=_['merge'](_0x3b32dc,{'name':_0x3b32dc[_0xb54b('0x8e')]||_0x3b32dc[_0xb54b('0x27')]||_0x1bbd1b['name'],'basename':_0x326dba,'savename':util[_0xb54b('0x74')](_0xb54b('0x8f'),_0x3b32dc[_0xb54b('0x27')]||_0x1bbd1b[_0xb54b('0x27')],require(_0xb54b('0x90'))[_0xb54b('0x91')](0x4),_0x3b32dc['output']||_0xb54b('0x92')),'reportId':_0x1bbd1b['id'],'reportType':_0xb54b('0x93')});return db['AnalyticExtractedReport'][_0xb54b('0x45')](_0xb5267a,{'raw':!![]});})[_0xb54b('0x21')](function(_0x1c678a){if(_0x1bbd1b[_0xb54b('0x6e')]===_0xb54b('0x94')){_0xf41b8e[_0xb54b('0x3a')](_0x1bbd1b[_0xb54b('0x6e')]+_0xb54b('0x95'),_0x3b32dc[_0xb54b('0x96')],_0x3b32dc[_0xb54b('0x97')]);}else{_0xf41b8e[_0xb54b('0x3a')](_0x1bbd1b[_0xb54b('0x6e')]+_0xb54b('0x98'),_0x3b32dc['startDate'],_0x3b32dc['endDate']);}if(_0x1c678a){logger[_0xb54b('0x99')](_0xb54b('0x9a'),_0xf41b8e['toString']());require('child_process')['fork'](path[_0xb54b('0x51')](__dirname,_0xb54b('0x9b'),_0x1c678a[_0xb54b('0x9c')]),[_0x1c678a['id'],_0xf41b8e[_0xb54b('0x82')](),path[_0xb54b('0x51')](__dirname,_0xb54b('0x9d'),_0x1c678a[_0xb54b('0x9e')]),_0x326dba]);return _0x1c678a;}else{var _0x58ac8b=squel['select']();_0x58ac8b[_0xb54b('0x6d')]('('+_0xf41b8e[_0xb54b('0x82')]()+')','countTable');_0x58ac8b[_0xb54b('0x71')](_0xb54b('0x9f'),'count');_0xf41b8e['limit'](_0x3b32dc[_0xb54b('0x1a')]||_0x138faf);_0xf41b8e['offset'](_0x3b32dc[_0xb54b('0x19')]||0x0);return db[_0xb54b('0x83')][_0xb54b('0x2e')](_0x58ac8b[_0xb54b('0x82')](),{'type':db[_0xb54b('0x83')][_0xb54b('0x84')]['SELECT']})[_0xb54b('0x21')](function(_0x2bca00){if(!_0x2bca00[_0xb54b('0x33')]){_0x119584=0x0;}else{_0x119584=_0x2bca00[0x0]['count']||0x0;}return db['sequelize'][_0xb54b('0x2e')](_0xf41b8e[_0xb54b('0x82')](),{'type':db[_0xb54b('0x83')][_0xb54b('0x84')][_0xb54b('0x85')]});})[_0xb54b('0x21')](function(_0x4ac86c){return{'rows':_0x4ac86c||[],'count':_0x119584};});}});}exports[_0xb54b('0xa0')]=function(_0x269eba,_0x51909e){return runReport(_0x269eba[_0xb54b('0x41')],_0x269eba[_0xb54b('0x2e')],_0x269eba[_0xb54b('0x43')])[_0xb54b('0x21')](respondWithResult(_0x51909e,null))[_0xb54b('0x40')](handleError(_0x51909e,null));};exports['runReport']=runReport;exports[_0xb54b('0x2e')]=function(_0x3307d1,_0x3c7ef5){var _0x11bd34=0xa;var _0xf01f59=[_0xb54b('0x51'),_0xb54b('0x86'),_0xb54b('0x52'),_0xb54b('0x53')];var _0x54485d={'SUM':_0xb54b('0x54'),'COUNT':_0xb54b('0x55'),'COUNT DISTINCT':_0xb54b('0x56'),'MAX':_0xb54b('0x57'),'MIN':_0xb54b('0x58'),'AVG':'AVG(%s)','GROUP_CONCAT':'GROUP_CONCAT(%s)','GROUP_CONCAT ASC':_0xb54b('0x87'),'GROUP_CONCAT DESC':_0xb54b('0x5b')};var _0x39ff73={'SEC_TO_TIME':'SEC_TO_TIME(%s)','DATE':'DATE(%s)','HOUR':_0xb54b('0x5d'),'ROUND':_0xb54b('0x89'),'UNIX_TIMESTAMP':'UNIX_TIMESTAMP(%s)'};var _0x2f20c3=function(_0x74aa89){return!_[_0xb54b('0x79')]([_0xb54b('0x5f'),_0xb54b('0x60'),_0xb54b('0x61'),_0xb54b('0x62')],_0x74aa89);};var _0x1b0961=function(_0x1f9c86){if(!_0x1f9c86||!_0x1f9c86[_0xb54b('0x63')][_0xb54b('0x33')]){return'';}for(var _0xf50939='(',_0x4085ce=0x0;_0x4085ce<_0x1f9c86[_0xb54b('0x63')][_0xb54b('0x33')];_0x4085ce+=0x1){_0x4085ce>0x0&&(_0xf50939+='\x20'+_0x1f9c86['operator']+'\x20');_0xf50939+=_0x1f9c86[_0xb54b('0x63')][_0x4085ce][_0xb54b('0x65')]?_0x1b0961(_0x1f9c86[_0xb54b('0x63')][_0x4085ce][_0xb54b('0x65')]):_0x1f9c86[_0xb54b('0x63')][_0x4085ce]['field']+'\x20'+_0x1f9c86[_0xb54b('0x63')][_0x4085ce][_0xb54b('0x66')]+(_0x2f20c3(_0x1f9c86[_0xb54b('0x63')][_0x4085ce][_0xb54b('0x66')])?'\x20'+_0x1f9c86[_0xb54b('0x63')][_0x4085ce][_0xb54b('0x67')]:'');}return _0xf50939+')';};var _0x2b0134={'where':{'id':_0x3307d1[_0xb54b('0x41')]['id']}},_0x53fcec,_0x3c9a21,_0x27290c,_0x4e2daf,_0x28b91f;_0x2b0134=_[_0xb54b('0x3c')]({},_0x2b0134,_0x3307d1[_0xb54b('0x43')]);return db[_0xb54b('0x3d')][_0xb54b('0x44')](_0x2b0134)[_0xb54b('0x21')](function(_0x36b978){if(_0x36b978){_0x53fcec=_0x36b978;return _0x36b978['getFields']();}return null;})[_0xb54b('0x21')](function(_0xfb16c3){if(_0xfb16c3){if(!_0xfb16c3['length']){throw new db[(_0xb54b('0x69'))][(_0xb54b('0x6a'))](_0xb54b('0xa1'),0x193);}_0x3c9a21=_0xfb16c3;return db[_0xb54b('0x8a')][_0xb54b('0x6b')]({'raw':!![]});}return null;})[_0xb54b('0x21')](function(_0x3fa762){if(_0x3fa762){_0x27290c=_[_0xb54b('0x6c')](_0x3fa762,'id');var _0x200b0e;var _0x43c454=squel[_0xb54b('0x8b')]();_0x43c454[_0xb54b('0x6d')](_0x53fcec['table']);for(var _0x5b2452=0x0;_0x5b2452<_0x3c9a21[_0xb54b('0x33')];_0x5b2452+=0x1){_0x200b0e=_0x3c9a21[_0x5b2452][_0xb54b('0x6f')]?_0x27290c[_0x3c9a21[_0x5b2452]['MetricId']][_0xb54b('0x70')]:_0x3c9a21[_0x5b2452][_0xb54b('0x71')];_0x200b0e=_0x3c9a21[_0x5b2452][_0xb54b('0x72')]?_['replace'](_0x54485d[_0x3c9a21[_0x5b2452][_0xb54b('0x72')]],'%s',_0x200b0e):_0x200b0e;_0x200b0e=_0x3c9a21[_0x5b2452][_0xb54b('0x74')]?_['replace'](_0x39ff73[_0x3c9a21[_0x5b2452][_0xb54b('0x74')]],'%s',_0x200b0e):_0x200b0e;if(_0x3c9a21[_0x5b2452]['groupBy']){_0x43c454[_0xb54b('0x65')](_0x200b0e);}_0x3c9a21[_0x5b2452][_0xb54b('0x75')]&&_0x43c454[_0xb54b('0x37')](_0x200b0e,_0x3c9a21[_0x5b2452][_0xb54b('0x75')]==='DESC'?![]:!![]);_0x43c454[_0xb54b('0x71')](_0x200b0e,_0x3c9a21[_0x5b2452][_0xb54b('0x76')]||_0x200b0e);}if(_0x53fcec[_0xb54b('0x77')]){_0x53fcec[_0xb54b('0x77')]=JSON[_0xb54b('0x78')](_0x53fcec[_0xb54b('0x77')]);for(var _0x3e5ee4=0x0;_0x3e5ee4<_0x53fcec[_0xb54b('0x77')][_0xb54b('0x33')];_0x3e5ee4+=0x1){if(_0x53fcec[_0xb54b('0x77')][_0x3e5ee4][_0xb54b('0x2c')]&&_[_0xb54b('0x79')](_0xf01f59,_0x53fcec[_0xb54b('0x77')][_0x3e5ee4]['type'])&&_0x53fcec[_0xb54b('0x77')][_0x3e5ee4][_0xb54b('0x7a')]&&_0x53fcec[_0xb54b('0x77')][_0x3e5ee4][_0xb54b('0x7c')]&&_0x53fcec[_0xb54b('0x77')][_0x3e5ee4][_0xb54b('0x7b')]){_0x43c454[_0x53fcec[_0xb54b('0x77')][_0x3e5ee4]['type']](_0x53fcec[_0xb54b('0x77')][_0x3e5ee4]['foreignTable'],null,util[_0xb54b('0x74')](_0xb54b('0x7d'),_0x53fcec[_0xb54b('0x6e')],_0x53fcec['joins'][_0x3e5ee4][_0xb54b('0x7a')],_0x53fcec[_0xb54b('0x77')][_0x3e5ee4]['foreignTable'],_0x53fcec['joins'][_0x3e5ee4][_0xb54b('0x7b')]));}}}if(_0x53fcec[_0xb54b('0x7e')]){_0x53fcec[_0xb54b('0x7e')]=JSON[_0xb54b('0x78')](_0x53fcec[_0xb54b('0x7e')]);_0x43c454[_0xb54b('0x3a')](_0x1b0961(_0x53fcec[_0xb54b('0x7e')][_0xb54b('0x65')]));}_0x28b91f=_0x43c454[_0xb54b('0x7f')]();_0x43c454[_0xb54b('0x1a')](_0x11bd34);_0x43c454['offset'](0x0);logger['debug'](_0xb54b('0x81'),_0x43c454[_0xb54b('0x82')]());return db[_0xb54b('0x83')]['query'](_0x43c454[_0xb54b('0x82')](),{'type':db[_0xb54b('0x83')][_0xb54b('0x84')]['SELECT']});}})[_0xb54b('0x21')](function(){return{'sql':_0x28b91f[_0xb54b('0x82')]()};})[_0xb54b('0x21')](respondWithResult(_0x3c7ef5,null))['catch'](handleError(_0x3c7ef5,null));};