c7c6d6c9e1cb4d483a5ad2a709ffdbd266bb6194
[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 _0x21c9=['apply','reject','save','then','destroy','get','DefaultReports','status','end','stack','name','map','AnalyticDefaultReport','type','key','model','query','filters','intersection','fields','attributes','length','nolimit','sort','where','filter','merge','VIRTUAL','options','includeAll','include','findAll','catch','params','keys','rawAttributes','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','Reports','UserProfileSection','find','userProfileId','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','left_join','cross_join','AVG(%s)','GROUP_CONCAT(%s)','SEC_TO_TIME(%s)','UNIX_TIMESTAMP(%s)','IS\x20NULL','IS\x20NOT\x20NULL','IS\x20EMPTY','IS\x20NOT\x20EMPTY','rules','group','field','condition','value','getFields','AnalyticMetric','keyBy','table','MetricId','metric','function','replace','orderBy','order','DESC','alias','joins','parse','includes','foreignTable','foreignKey','format','parentKey','conditions','clone','debug','sequelize','QueryTypes','join','right_join','SUM(%s)','COUNT(DISTINCT\x20%s)','MAX(%s)','MIN(%s)','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)','DATE(%s)','ROUND(%s)','operator','Sequelize','Please\x20insert\x20at\x20least\x20one\x20field','%s.%s\x20=\x20%s.%s','output','web','%s-%s.%s','randomstring','generate','default','cdr','.calldate\x20BETWEEN\x20?\x20AND\x20?','startDate','endDate','.createdAt\x20BETWEEN\x20?\x20AND\x20?','toString','child_process','../../components/export/','savename','select','from','countTable','run','runReport','COUNT(%s)','ValidationErrorItem','groupBy','SELECT','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','path','to-csv','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','dbH','sendStatus','json','count','offset','limit','set','Content-Range'];(function(_0x211ac1,_0x4c97ea){var _0x5a76fe=function(_0x31122){while(--_0x31122){_0x211ac1['push'](_0x211ac1['shift']());}};_0x5a76fe(++_0x4c97ea);}(_0x21c9,0x1b4));var _0x921c=function(_0x1c03ea,_0x43915d){_0x1c03ea=_0x1c03ea-0x0;var _0x48c181=_0x21c9[_0x1c03ea];return _0x48c181;};'use strict';var pdf=require(_0x921c('0x0'));var emlformat=require(_0x921c('0x1'));var rimraf=require(_0x921c('0x2'));var zipdir=require(_0x921c('0x3'));var jsonpatch=require(_0x921c('0x4'));var rp=require(_0x921c('0x5'));var moment=require(_0x921c('0x6'));var BPromise=require(_0x921c('0x7'));var Mustache=require('mustache');var util=require('util');var path=require(_0x921c('0x8'));var sox=require('sox');var csv=require(_0x921c('0x9'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0x921c('0xa'));var crypto=require(_0x921c('0xb'));var jsforce=require(_0x921c('0xc'));var deskjs=require(_0x921c('0xd'));var toCsv=require(_0x921c('0x9'));var querystring=require('querystring');var Papa=require(_0x921c('0xe'));var Redis=require(_0x921c('0xf'));var authService=require(_0x921c('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0x921c('0x11'));var hardwareService=require(_0x921c('0x12'));var logger=require(_0x921c('0x13'))(_0x921c('0x14'));var utils=require(_0x921c('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0x921c('0x16'));var db=require(_0x921c('0x17'))['db'];var dbH=require(_0x921c('0x17'))[_0x921c('0x18')];function respondWithStatusCode(_0x1a4429,_0x27e09c){_0x27e09c=_0x27e09c||0xcc;return function(_0x31d4fe){if(_0x31d4fe){return _0x1a4429[_0x921c('0x19')](_0x27e09c);}return _0x1a4429['status'](_0x27e09c)['end']();};}function respondWithResult(_0x3ef763,_0x10b5c7){_0x10b5c7=_0x10b5c7||0xc8;return function(_0x35cf21){if(_0x35cf21){return _0x3ef763['status'](_0x10b5c7)[_0x921c('0x1a')](_0x35cf21);}};}function respondWithFilteredResult(_0x1fce5e,_0xb04976){return function(_0xffb1c5){if(_0xffb1c5){var _0xbeb2ba=_0xffb1c5[_0x921c('0x1b')],_0x44f707=_0xb04976[_0x921c('0x1c')],_0x1efa0e=_0xb04976[_0x921c('0x1c')]+_0xb04976[_0x921c('0x1d')],_0x485fd5;if(_0x1efa0e>=_0xbeb2ba){_0x1efa0e=_0xbeb2ba;_0x485fd5=0xc8;}else{_0x485fd5=0xce;}_0x1fce5e['status'](_0x485fd5);return _0x1fce5e[_0x921c('0x1e')](_0x921c('0x1f'),_0x44f707+'-'+_0x1efa0e+'/'+_0xbeb2ba)['json'](_0xffb1c5);}return null;};}function patchUpdates(_0x1b10d2){return function(_0x577e9f){try{jsonpatch[_0x921c('0x20')](_0x577e9f,_0x1b10d2,!![]);}catch(_0x468873){return BPromise[_0x921c('0x21')](_0x468873);}return _0x577e9f[_0x921c('0x22')]();};}function saveUpdates(_0x4b7c2f,_0x26eb4c){return function(_0x2e9528){if(_0x2e9528){return _0x2e9528['update'](_0x4b7c2f)[_0x921c('0x23')](function(_0x3f3c93){return _0x3f3c93;});}return null;};}function removeEntity(_0x524bc3,_0xc1cbf8){return function(_0x3a8ae8){if(_0x3a8ae8){return _0x3a8ae8[_0x921c('0x24')]()[_0x921c('0x23')](function(){var _0x467145=_0x3a8ae8[_0x921c('0x25')]({'plain':!![]});var _0x1f861c=_0x921c('0x26');return db['UserProfileResource'][_0x921c('0x24')]({'where':{'type':_0x1f861c,'resourceId':_0x467145['id']}})['then'](function(){return _0x3a8ae8;});})[_0x921c('0x23')](function(){_0x524bc3[_0x921c('0x27')](0xcc)[_0x921c('0x28')]();});}};}function handleEntityNotFound(_0x4a150c,_0x4f11e5){return function(_0x4f7ce1){if(!_0x4f7ce1){_0x4a150c[_0x921c('0x19')](0x194);}return _0x4f7ce1;};}function handleError(_0x4d2258,_0x3db016){_0x3db016=_0x3db016||0x1f4;return function(_0x531da8){logger['error'](_0x531da8[_0x921c('0x29')]);if(_0x531da8[_0x921c('0x2a')]){delete _0x531da8[_0x921c('0x2a')];}_0x4d2258[_0x921c('0x27')](_0x3db016)['send'](_0x531da8);};}exports['index']=function(_0x226c28,_0x5b12a6){var _0x47af19={},_0x2397b9={},_0x3b9a22={'count':0x0,'rows':[]};var _0x3ecfa8=_[_0x921c('0x2b')](db[_0x921c('0x2c')]['rawAttributes'],function(_0x24610c){return{'name':_0x24610c['fieldName'],'type':_0x24610c[_0x921c('0x2d')][_0x921c('0x2e')]};});_0x2397b9[_0x921c('0x2f')]=_[_0x921c('0x2b')](_0x3ecfa8,_0x921c('0x2a'));_0x2397b9[_0x921c('0x30')]=_['keys'](_0x226c28['query']);_0x2397b9[_0x921c('0x31')]=_[_0x921c('0x32')](_0x2397b9[_0x921c('0x2f')],_0x2397b9[_0x921c('0x30')]);_0x47af19['attributes']=_['intersection'](_0x2397b9[_0x921c('0x2f')],qs[_0x921c('0x33')](_0x226c28[_0x921c('0x30')][_0x921c('0x33')]));_0x47af19[_0x921c('0x34')]=_0x47af19[_0x921c('0x34')][_0x921c('0x35')]?_0x47af19[_0x921c('0x34')]:_0x2397b9[_0x921c('0x2f')];if(!_0x226c28[_0x921c('0x30')]['hasOwnProperty'](_0x921c('0x36'))){_0x47af19['limit']=qs[_0x921c('0x1d')](_0x226c28['query'][_0x921c('0x1d')]);_0x47af19['offset']=qs[_0x921c('0x1c')](_0x226c28['query']['offset']);}_0x47af19['order']=qs[_0x921c('0x37')](_0x226c28['query'][_0x921c('0x37')]);_0x47af19[_0x921c('0x38')]=qs[_0x921c('0x31')](_['pick'](_0x226c28[_0x921c('0x30')],_0x2397b9['filters']),_0x3ecfa8);if(_0x226c28['query'][_0x921c('0x39')]){_0x47af19[_0x921c('0x38')]=_[_0x921c('0x3a')](_0x47af19[_0x921c('0x38')],{'$or':_[_0x921c('0x2b')](_0x3ecfa8,function(_0xb27690){if(_0xb27690['type']!==_0x921c('0x3b')){var _0x55da18={};_0x55da18[_0xb27690['name']]={'$like':'%'+_0x226c28[_0x921c('0x30')][_0x921c('0x39')]+'%'};return _0x55da18;}})});}_0x47af19=_[_0x921c('0x3a')]({},_0x47af19,_0x226c28[_0x921c('0x3c')]);var _0x464f0e={'where':_0x47af19[_0x921c('0x38')]};return db['AnalyticDefaultReport']['count'](_0x464f0e)[_0x921c('0x23')](function(_0x28de46){_0x3b9a22[_0x921c('0x1b')]=_0x28de46;if(_0x226c28[_0x921c('0x30')][_0x921c('0x3d')]){_0x47af19[_0x921c('0x3e')]=[{'all':!![]}];}return db[_0x921c('0x2c')][_0x921c('0x3f')](_0x47af19);})[_0x921c('0x23')](function(_0x44c064){_0x3b9a22['rows']=_0x44c064;return _0x3b9a22;})[_0x921c('0x23')](respondWithFilteredResult(_0x5b12a6,_0x47af19))[_0x921c('0x40')](handleError(_0x5b12a6,null));};exports['show']=function(_0x2f2553,_0x48ffad){var _0x52a103={'raw':!![],'where':{'id':_0x2f2553[_0x921c('0x41')]['id']}},_0x28f8a6={};_0x28f8a6['model']=_[_0x921c('0x42')](db[_0x921c('0x2c')][_0x921c('0x43')]);_0x28f8a6[_0x921c('0x30')]=_['keys'](_0x2f2553[_0x921c('0x30')]);_0x28f8a6[_0x921c('0x31')]=_[_0x921c('0x32')](_0x28f8a6[_0x921c('0x2f')],_0x28f8a6['query']);_0x52a103['attributes']=_[_0x921c('0x32')](_0x28f8a6[_0x921c('0x2f')],qs[_0x921c('0x33')](_0x2f2553[_0x921c('0x30')][_0x921c('0x33')]));_0x52a103['attributes']=_0x52a103[_0x921c('0x34')][_0x921c('0x35')]?_0x52a103[_0x921c('0x34')]:_0x28f8a6['model'];if(_0x2f2553[_0x921c('0x30')][_0x921c('0x3d')]){_0x52a103[_0x921c('0x3e')]=[{'all':!![]}];}_0x52a103=_[_0x921c('0x3a')]({},_0x52a103,_0x2f2553[_0x921c('0x3c')]);return db[_0x921c('0x2c')]['find'](_0x52a103)[_0x921c('0x23')](handleEntityNotFound(_0x48ffad,null))[_0x921c('0x23')](respondWithResult(_0x48ffad,null))[_0x921c('0x40')](handleError(_0x48ffad,null));};exports[_0x921c('0x44')]=function(_0x482908,_0x59572e){return db['AnalyticDefaultReport'][_0x921c('0x44')](_0x482908['body'],{})['then'](function(_0x5afe27){var _0x6623f4=_0x482908[_0x921c('0x45')][_0x921c('0x25')]({'plain':!![]});if(!_0x6623f4)throw new Error(_0x921c('0x46'));if(_0x6623f4[_0x921c('0x47')]===_0x921c('0x45')){var _0x2ea718=_0x5afe27[_0x921c('0x25')]({'plain':!![]});var _0x4a9b83=_0x921c('0x48');return db[_0x921c('0x49')][_0x921c('0x4a')]({'where':{'name':_0x4a9b83,'userProfileId':_0x6623f4[_0x921c('0x4b')]},'raw':!![]})[_0x921c('0x23')](function(_0x40e76d){if(_0x40e76d&&_0x40e76d['autoAssociation']===0x0){return db['UserProfileResource']['create']({'name':_0x2ea718[_0x921c('0x2a')],'resourceId':_0x2ea718['id'],'type':'DefaultReports','sectionId':_0x40e76d['id']},{})[_0x921c('0x23')](function(){return _0x5afe27;});}else{return _0x5afe27;}})[_0x921c('0x40')](function(_0x8b024f){logger[_0x921c('0x4c')](_0x921c('0x4d'),_0x8b024f);throw _0x8b024f;});}return _0x5afe27;})[_0x921c('0x23')](respondWithResult(_0x59572e,0xc9))[_0x921c('0x40')](handleError(_0x59572e,null));};exports['update']=function(_0x53bf6b,_0x154f29){if(_0x53bf6b['body']['id']){delete _0x53bf6b['body']['id'];}return db[_0x921c('0x2c')][_0x921c('0x4a')]({'where':{'id':_0x53bf6b['params']['id']}})[_0x921c('0x23')](handleEntityNotFound(_0x154f29,null))[_0x921c('0x23')](saveUpdates(_0x53bf6b[_0x921c('0x4e')],null))[_0x921c('0x23')](respondWithResult(_0x154f29,null))[_0x921c('0x40')](handleError(_0x154f29,null));};exports[_0x921c('0x24')]=function(_0x50cf34,_0x51bfc0){return db[_0x921c('0x2c')][_0x921c('0x4a')]({'where':{'id':_0x50cf34[_0x921c('0x41')]['id']}})[_0x921c('0x23')](handleEntityNotFound(_0x51bfc0,null))['then'](removeEntity(_0x51bfc0,null))[_0x921c('0x40')](handleError(_0x51bfc0,null));};exports['preview']=function(_0x3d1765,_0x76258d){var _0x2ebdab=0xa;var _0x5e953e=['join',_0x921c('0x4f'),'right_join',_0x921c('0x50')];var _0x3236e3={'SUM':'SUM(%s)','COUNT':'COUNT(%s)','COUNT DISTINCT':'COUNT(DISTINCT\x20%s)','MAX':'MAX(%s)','MIN':'MIN(%s)','AVG':_0x921c('0x51'),'GROUP_CONCAT':_0x921c('0x52'),'GROUP_CONCAT ASC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','GROUP_CONCAT DESC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)'};var _0x4c9e58={'SEC_TO_TIME':_0x921c('0x53'),'DATE':'DATE(%s)','HOUR':'HOUR(%s)','ROUND':'ROUND(%s)','UNIX_TIMESTAMP':_0x921c('0x54')};var _0x2993f0=function(_0x4ccce2){return!_['includes']([_0x921c('0x55'),_0x921c('0x56'),_0x921c('0x57'),_0x921c('0x58')],_0x4ccce2);};var _0x403b45=function(_0x1e13c5){if(!_0x1e13c5||!_0x1e13c5[_0x921c('0x59')][_0x921c('0x35')]){return'';}for(var _0xf0448='(',_0x21cd00=0x0;_0x21cd00<_0x1e13c5['rules'][_0x921c('0x35')];_0x21cd00+=0x1){_0x21cd00>0x0&&(_0xf0448+='\x20'+_0x1e13c5['operator']+'\x20');_0xf0448+=_0x1e13c5['rules'][_0x21cd00][_0x921c('0x5a')]?_0x403b45(_0x1e13c5['rules'][_0x21cd00][_0x921c('0x5a')]):_0x1e13c5[_0x921c('0x59')][_0x21cd00][_0x921c('0x5b')]+'\x20'+_0x1e13c5[_0x921c('0x59')][_0x21cd00][_0x921c('0x5c')]+(_0x2993f0(_0x1e13c5['rules'][_0x21cd00][_0x921c('0x5c')])?'\x20'+_0x1e13c5[_0x921c('0x59')][_0x21cd00][_0x921c('0x5d')]:'');}return _0xf0448+')';};var _0x38dfd1={'where':{'id':_0x3d1765[_0x921c('0x41')]['id']}},_0x1e42b9,_0x27d2be,_0xa5ff7b,_0x301872,_0x4521d6;_0x38dfd1=_[_0x921c('0x3a')]({},_0x38dfd1,_0x3d1765[_0x921c('0x3c')]);return db[_0x921c('0x2c')][_0x921c('0x4a')](_0x38dfd1)['then'](function(_0x3113b1){if(_0x3113b1){_0x1e42b9=_0x3113b1;return _0x3113b1[_0x921c('0x5e')]();}return null;})[_0x921c('0x23')](function(_0x2b50e9){if(_0x2b50e9){if(!_0x2b50e9[_0x921c('0x35')]){throw new db['Sequelize']['ValidationErrorItem']('Please\x20insert\x20at\x20least\x20one\x20field',0x193);}_0x27d2be=_0x2b50e9;return db[_0x921c('0x5f')]['findAll']({'raw':!![]});}return null;})[_0x921c('0x23')](function(_0x5dce6b){if(_0x5dce6b){_0xa5ff7b=_[_0x921c('0x60')](_0x5dce6b,'id');var _0x4a7116;var _0xf8c0fd=squel['select']();_0xf8c0fd['from'](_0x1e42b9[_0x921c('0x61')]);for(var _0x127144=0x0;_0x127144<_0x27d2be[_0x921c('0x35')];_0x127144+=0x1){_0x4a7116=_0x27d2be[_0x127144][_0x921c('0x62')]?_0xa5ff7b[_0x27d2be[_0x127144][_0x921c('0x62')]][_0x921c('0x63')]:_0x27d2be[_0x127144]['field'];_0x4a7116=_0x27d2be[_0x127144][_0x921c('0x64')]?_[_0x921c('0x65')](_0x3236e3[_0x27d2be[_0x127144][_0x921c('0x64')]],'%s',_0x4a7116):_0x4a7116;_0x4a7116=_0x27d2be[_0x127144]['format']?_[_0x921c('0x65')](_0x4c9e58[_0x27d2be[_0x127144]['format']],'%s',_0x4a7116):_0x4a7116;if(_0x27d2be[_0x127144]['groupBy']){_0xf8c0fd['group'](_0x4a7116);}_0x27d2be[_0x127144][_0x921c('0x66')]&&_0xf8c0fd[_0x921c('0x67')](_0x4a7116,_0x27d2be[_0x127144][_0x921c('0x66')]===_0x921c('0x68')?![]:!![]);_0xf8c0fd[_0x921c('0x5b')](_0x4a7116,_0x27d2be[_0x127144][_0x921c('0x69')]||_0x4a7116);}if(_0x1e42b9[_0x921c('0x6a')]){_0x1e42b9['joins']=JSON[_0x921c('0x6b')](_0x1e42b9[_0x921c('0x6a')]);for(var _0x1d9914=0x0;_0x1d9914<_0x1e42b9[_0x921c('0x6a')]['length'];_0x1d9914+=0x1){if(_0x1e42b9['joins'][_0x1d9914][_0x921c('0x2d')]&&_[_0x921c('0x6c')](_0x5e953e,_0x1e42b9[_0x921c('0x6a')][_0x1d9914][_0x921c('0x2d')])&&_0x1e42b9[_0x921c('0x6a')][_0x1d9914]['parentKey']&&_0x1e42b9[_0x921c('0x6a')][_0x1d9914][_0x921c('0x6d')]&&_0x1e42b9[_0x921c('0x6a')][_0x1d9914][_0x921c('0x6e')]){_0xf8c0fd[_0x1e42b9[_0x921c('0x6a')][_0x1d9914][_0x921c('0x2d')]](_0x1e42b9[_0x921c('0x6a')][_0x1d9914][_0x921c('0x6d')],null,util[_0x921c('0x6f')]('%s.%s\x20=\x20%s.%s',_0x1e42b9[_0x921c('0x61')],_0x1e42b9[_0x921c('0x6a')][_0x1d9914][_0x921c('0x70')],_0x1e42b9[_0x921c('0x6a')][_0x1d9914]['foreignTable'],_0x1e42b9[_0x921c('0x6a')][_0x1d9914][_0x921c('0x6e')]));}}}if(_0x1e42b9[_0x921c('0x71')]){_0x1e42b9['conditions']=JSON[_0x921c('0x6b')](_0x1e42b9[_0x921c('0x71')]);_0xf8c0fd['where'](_0x403b45(_0x1e42b9['conditions'][_0x921c('0x5a')]));}_0x4521d6=_0xf8c0fd[_0x921c('0x72')]();_0xf8c0fd[_0x921c('0x1d')](_0x2ebdab);_0xf8c0fd['offset'](0x0);logger[_0x921c('0x73')]('Limited\x20Query:',_0xf8c0fd['toString']());return dbH[_0x921c('0x74')]['query'](_0xf8c0fd['toString'](),{'type':dbH['sequelize'][_0x921c('0x75')]['SELECT']});}})[_0x921c('0x23')](respondWithResult(_0x76258d,null))[_0x921c('0x40')](handleError(_0x76258d,null));};function runReport(_0x58087a,_0x333908,_0x29b4dc){var _0x383994=_0x333908['name'];var _0x299295=0xa;var _0x25b484=[_0x921c('0x76'),'left_join',_0x921c('0x77'),_0x921c('0x50')];var _0x1a58ea={'SUM':_0x921c('0x78'),'COUNT':'COUNT(%s)','COUNT DISTINCT':_0x921c('0x79'),'MAX':_0x921c('0x7a'),'MIN':_0x921c('0x7b'),'AVG':_0x921c('0x51'),'GROUP_CONCAT':_0x921c('0x52'),'GROUP_CONCAT ASC':_0x921c('0x7c'),'GROUP_CONCAT DESC':_0x921c('0x7d')};var _0x11e3b6={'SEC_TO_TIME':'SEC_TO_TIME(%s)','DATE':_0x921c('0x7e'),'HOUR':'HOUR(%s)','ROUND':_0x921c('0x7f'),'UNIX_TIMESTAMP':_0x921c('0x54')};var _0x22ec19=function(_0x10882c){return!_[_0x921c('0x6c')]([_0x921c('0x55'),_0x921c('0x56'),_0x921c('0x57'),_0x921c('0x58')],_0x10882c);};var _0x56d977=function(_0x1939c8){if(!_0x1939c8||!_0x1939c8['rules'][_0x921c('0x35')]){return'';}for(var _0x2e2c58='(',_0x3a8d58=0x0;_0x3a8d58<_0x1939c8['rules']['length'];_0x3a8d58+=0x1){_0x3a8d58>0x0&&(_0x2e2c58+='\x20'+_0x1939c8[_0x921c('0x80')]+'\x20');_0x2e2c58+=_0x1939c8[_0x921c('0x59')][_0x3a8d58]['group']?_0x56d977(_0x1939c8[_0x921c('0x59')][_0x3a8d58][_0x921c('0x5a')]):_0x1939c8['rules'][_0x3a8d58][_0x921c('0x5b')]+'\x20'+_0x1939c8['rules'][_0x3a8d58][_0x921c('0x5c')]+(_0x22ec19(_0x1939c8[_0x921c('0x59')][_0x3a8d58][_0x921c('0x5c')])?'\x20'+_0x1939c8[_0x921c('0x59')][_0x3a8d58][_0x921c('0x5d')]:'');}return _0x2e2c58+')';};var _0x468d8b={'where':{'id':_0x58087a['id']}},_0x478767,_0xa5839b,_0x501d51,_0x1eb65d,_0x30a05c;_0x468d8b=_['merge']({},_0x468d8b,_0x29b4dc);return db[_0x921c('0x2c')][_0x921c('0x4a')](_0x468d8b)[_0x921c('0x23')](function(_0x58bfb5){if(_0x58bfb5){_0x478767=_0x58bfb5;return _0x58bfb5[_0x921c('0x5e')]();}return null;})[_0x921c('0x23')](function(_0x3df4e6){if(_0x3df4e6){if(!_0x3df4e6[_0x921c('0x35')]){throw new db[(_0x921c('0x81'))]['ValidationErrorItem'](_0x921c('0x82'),0x193);}_0xa5839b=_0x3df4e6;return db[_0x921c('0x5f')][_0x921c('0x3f')]({'raw':!![]});}return null;})[_0x921c('0x23')](function(_0x962b89){if(_0x962b89){_0x501d51=_[_0x921c('0x60')](_0x962b89,'id');var _0x300842;var _0x256272=squel['select']();_0x256272['from'](_0x478767[_0x921c('0x61')]);for(var _0x4bd85d=0x0;_0x4bd85d<_0xa5839b[_0x921c('0x35')];_0x4bd85d+=0x1){_0x300842=_0xa5839b[_0x4bd85d][_0x921c('0x62')]?_0x501d51[_0xa5839b[_0x4bd85d][_0x921c('0x62')]][_0x921c('0x63')]:_0xa5839b[_0x4bd85d][_0x921c('0x5b')];_0x300842=_0xa5839b[_0x4bd85d][_0x921c('0x64')]?_[_0x921c('0x65')](_0x1a58ea[_0xa5839b[_0x4bd85d]['function']],'%s',_0x300842):_0x300842;_0x300842=_0xa5839b[_0x4bd85d][_0x921c('0x6f')]?_[_0x921c('0x65')](_0x11e3b6[_0xa5839b[_0x4bd85d][_0x921c('0x6f')]],'%s',_0x300842):_0x300842;if(_0xa5839b[_0x4bd85d]['groupBy']){_0x256272[_0x921c('0x5a')](_0x300842);}_0xa5839b[_0x4bd85d][_0x921c('0x66')]&&_0x256272[_0x921c('0x67')](_0x300842,_0xa5839b[_0x4bd85d][_0x921c('0x66')]===_0x921c('0x68')?![]:!![]);_0x256272[_0x921c('0x5b')](_0x300842,_0xa5839b[_0x4bd85d][_0x921c('0x69')]||_0x300842);}if(_0x478767[_0x921c('0x6a')]){_0x478767[_0x921c('0x6a')]=JSON['parse'](_0x478767['joins']);for(var _0x18920f=0x0;_0x18920f<_0x478767[_0x921c('0x6a')]['length'];_0x18920f+=0x1){if(_0x478767[_0x921c('0x6a')][_0x18920f][_0x921c('0x2d')]&&_[_0x921c('0x6c')](_0x25b484,_0x478767[_0x921c('0x6a')][_0x18920f][_0x921c('0x2d')])&&_0x478767[_0x921c('0x6a')][_0x18920f][_0x921c('0x70')]&&_0x478767[_0x921c('0x6a')][_0x18920f][_0x921c('0x6d')]&&_0x478767[_0x921c('0x6a')][_0x18920f]['foreignKey']){_0x256272[_0x478767[_0x921c('0x6a')][_0x18920f]['type']](_0x478767[_0x921c('0x6a')][_0x18920f][_0x921c('0x6d')],null,util[_0x921c('0x6f')](_0x921c('0x83'),_0x478767[_0x921c('0x61')],_0x478767[_0x921c('0x6a')][_0x18920f][_0x921c('0x70')],_0x478767[_0x921c('0x6a')][_0x18920f]['foreignTable'],_0x478767[_0x921c('0x6a')][_0x18920f][_0x921c('0x6e')]));}}}if(_0x478767[_0x921c('0x71')]){_0x478767[_0x921c('0x71')]=JSON[_0x921c('0x6b')](_0x478767[_0x921c('0x71')]);_0x256272[_0x921c('0x38')](_0x56d977(_0x478767[_0x921c('0x71')][_0x921c('0x5a')]));}_0x30a05c=_0x256272['clone']();_0x256272[_0x921c('0x1d')](_0x299295);_0x256272['offset'](0x0);return;}})[_0x921c('0x23')](function(){if(_0x333908[_0x921c('0x84')]===_0x921c('0x85')){return null;}var _0x4f5d55=_['merge'](_0x333908,{'name':_0x333908['fullPath']||_0x333908[_0x921c('0x2a')]||_0x478767['name'],'basename':_0x383994,'savename':util[_0x921c('0x6f')](_0x921c('0x86'),_0x333908['name']||_0x478767['name'],require(_0x921c('0x87'))[_0x921c('0x88')](0x4),_0x333908[_0x921c('0x84')]||'csv'),'reportId':_0x478767['id'],'reportType':_0x921c('0x89')});return db['AnalyticExtractedReport']['create'](_0x4f5d55,{'raw':!![]});})[_0x921c('0x23')](function(_0x3b646f){if(_0x478767[_0x921c('0x61')]===_0x921c('0x8a')){_0x30a05c[_0x921c('0x38')](_0x478767[_0x921c('0x61')]+_0x921c('0x8b'),_0x333908[_0x921c('0x8c')],_0x333908[_0x921c('0x8d')]);}else{_0x30a05c['where'](_0x478767[_0x921c('0x61')]+_0x921c('0x8e'),_0x333908['startDate'],_0x333908[_0x921c('0x8d')]);}if(_0x3b646f){logger['info']('Run\x20Query:',_0x30a05c[_0x921c('0x8f')]());require(_0x921c('0x90'))['fork'](path[_0x921c('0x76')](__dirname,_0x921c('0x91'),_0x3b646f[_0x921c('0x84')]),[_0x3b646f['id'],_0x30a05c['toString'](),path[_0x921c('0x76')](__dirname,'../../files/reports',_0x3b646f[_0x921c('0x92')]),_0x383994]);return _0x3b646f;}else{var _0xb08f=squel[_0x921c('0x93')]();_0xb08f[_0x921c('0x94')]('('+_0x30a05c[_0x921c('0x8f')]()+')',_0x921c('0x95'));_0xb08f[_0x921c('0x5b')]('COUNT(*)',_0x921c('0x1b'));_0x30a05c['limit'](_0x333908[_0x921c('0x1d')]||_0x299295);_0x30a05c[_0x921c('0x1c')](_0x333908['offset']||0x0);return dbH[_0x921c('0x74')]['query'](_0xb08f[_0x921c('0x8f')](),{'type':dbH[_0x921c('0x74')]['QueryTypes']['SELECT']})[_0x921c('0x23')](function(_0x307e84){if(!_0x307e84['length']){_0x1eb65d=0x0;}else{_0x1eb65d=_0x307e84[0x0][_0x921c('0x1b')]||0x0;}return dbH[_0x921c('0x74')][_0x921c('0x30')](_0x30a05c[_0x921c('0x8f')](),{'type':dbH[_0x921c('0x74')][_0x921c('0x75')]['SELECT']});})[_0x921c('0x23')](function(_0x51a84f){return{'rows':_0x51a84f||[],'count':_0x1eb65d};});}});}exports[_0x921c('0x96')]=function(_0x25cab8,_0x1a676c){return runReport(_0x25cab8['params'],_0x25cab8[_0x921c('0x30')],_0x25cab8['options'])[_0x921c('0x23')](respondWithResult(_0x1a676c,null))[_0x921c('0x40')](handleError(_0x1a676c,null));};exports[_0x921c('0x97')]=runReport;exports[_0x921c('0x30')]=function(_0x2301b6,_0x1ef4a7){var _0x20a90a=0xa;var _0x1c9f12=['join',_0x921c('0x4f'),_0x921c('0x77'),_0x921c('0x50')];var _0x19ae39={'SUM':'SUM(%s)','COUNT':_0x921c('0x98'),'COUNT DISTINCT':_0x921c('0x79'),'MAX':_0x921c('0x7a'),'MIN':_0x921c('0x7b'),'AVG':_0x921c('0x51'),'GROUP_CONCAT':_0x921c('0x52'),'GROUP_CONCAT ASC':_0x921c('0x7c'),'GROUP_CONCAT DESC':_0x921c('0x7d')};var _0x1a0d2d={'SEC_TO_TIME':_0x921c('0x53'),'DATE':_0x921c('0x7e'),'HOUR':'HOUR(%s)','ROUND':_0x921c('0x7f'),'UNIX_TIMESTAMP':_0x921c('0x54')};var _0x1d0524=function(_0xe7f44a){return!_[_0x921c('0x6c')]([_0x921c('0x55'),_0x921c('0x56'),_0x921c('0x57'),_0x921c('0x58')],_0xe7f44a);};var _0x599572=function(_0x5a08f4){if(!_0x5a08f4||!_0x5a08f4[_0x921c('0x59')][_0x921c('0x35')]){return'';}for(var _0x15c2d1='(',_0x4955fa=0x0;_0x4955fa<_0x5a08f4['rules'][_0x921c('0x35')];_0x4955fa+=0x1){_0x4955fa>0x0&&(_0x15c2d1+='\x20'+_0x5a08f4['operator']+'\x20');_0x15c2d1+=_0x5a08f4[_0x921c('0x59')][_0x4955fa][_0x921c('0x5a')]?_0x599572(_0x5a08f4[_0x921c('0x59')][_0x4955fa][_0x921c('0x5a')]):_0x5a08f4['rules'][_0x4955fa][_0x921c('0x5b')]+'\x20'+_0x5a08f4[_0x921c('0x59')][_0x4955fa][_0x921c('0x5c')]+(_0x1d0524(_0x5a08f4['rules'][_0x4955fa][_0x921c('0x5c')])?'\x20'+_0x5a08f4[_0x921c('0x59')][_0x4955fa]['value']:'');}return _0x15c2d1+')';};var _0x317570={'where':{'id':_0x2301b6['params']['id']}},_0x4f8ffd,_0x166cb0,_0x436fee,_0x13be6e,_0x7bf312;_0x317570=_[_0x921c('0x3a')]({},_0x317570,_0x2301b6[_0x921c('0x3c')]);return db[_0x921c('0x2c')]['find'](_0x317570)['then'](function(_0x1b3c0e){if(_0x1b3c0e){_0x4f8ffd=_0x1b3c0e;return _0x1b3c0e['getFields']();}return null;})[_0x921c('0x23')](function(_0x6961fb){if(_0x6961fb){if(!_0x6961fb[_0x921c('0x35')]){throw new db['Sequelize'][(_0x921c('0x99'))](_0x921c('0x82'),0x193);}_0x166cb0=_0x6961fb;return db[_0x921c('0x5f')][_0x921c('0x3f')]({'raw':!![]});}return null;})[_0x921c('0x23')](function(_0x35de0e){if(_0x35de0e){_0x436fee=_[_0x921c('0x60')](_0x35de0e,'id');var _0x428cb7;var _0x33b455=squel[_0x921c('0x93')]();_0x33b455[_0x921c('0x94')](_0x4f8ffd['table']);for(var _0x41b98f=0x0;_0x41b98f<_0x166cb0['length'];_0x41b98f+=0x1){_0x428cb7=_0x166cb0[_0x41b98f][_0x921c('0x62')]?_0x436fee[_0x166cb0[_0x41b98f][_0x921c('0x62')]][_0x921c('0x63')]:_0x166cb0[_0x41b98f][_0x921c('0x5b')];_0x428cb7=_0x166cb0[_0x41b98f]['function']?_['replace'](_0x19ae39[_0x166cb0[_0x41b98f][_0x921c('0x64')]],'%s',_0x428cb7):_0x428cb7;_0x428cb7=_0x166cb0[_0x41b98f]['format']?_[_0x921c('0x65')](_0x1a0d2d[_0x166cb0[_0x41b98f][_0x921c('0x6f')]],'%s',_0x428cb7):_0x428cb7;if(_0x166cb0[_0x41b98f][_0x921c('0x9a')]){_0x33b455[_0x921c('0x5a')](_0x428cb7);}_0x166cb0[_0x41b98f][_0x921c('0x66')]&&_0x33b455['order'](_0x428cb7,_0x166cb0[_0x41b98f][_0x921c('0x66')]==='DESC'?![]:!![]);_0x33b455[_0x921c('0x5b')](_0x428cb7,_0x166cb0[_0x41b98f][_0x921c('0x69')]||_0x428cb7);}if(_0x4f8ffd['joins']){_0x4f8ffd['joins']=JSON[_0x921c('0x6b')](_0x4f8ffd[_0x921c('0x6a')]);for(var _0x102a47=0x0;_0x102a47<_0x4f8ffd[_0x921c('0x6a')][_0x921c('0x35')];_0x102a47+=0x1){if(_0x4f8ffd[_0x921c('0x6a')][_0x102a47][_0x921c('0x2d')]&&_[_0x921c('0x6c')](_0x1c9f12,_0x4f8ffd[_0x921c('0x6a')][_0x102a47][_0x921c('0x2d')])&&_0x4f8ffd[_0x921c('0x6a')][_0x102a47][_0x921c('0x70')]&&_0x4f8ffd['joins'][_0x102a47]['foreignTable']&&_0x4f8ffd[_0x921c('0x6a')][_0x102a47][_0x921c('0x6e')]){_0x33b455[_0x4f8ffd[_0x921c('0x6a')][_0x102a47][_0x921c('0x2d')]](_0x4f8ffd[_0x921c('0x6a')][_0x102a47][_0x921c('0x6d')],null,util[_0x921c('0x6f')](_0x921c('0x83'),_0x4f8ffd['table'],_0x4f8ffd['joins'][_0x102a47]['parentKey'],_0x4f8ffd[_0x921c('0x6a')][_0x102a47][_0x921c('0x6d')],_0x4f8ffd[_0x921c('0x6a')][_0x102a47][_0x921c('0x6e')]));}}}if(_0x4f8ffd[_0x921c('0x71')]){_0x4f8ffd[_0x921c('0x71')]=JSON[_0x921c('0x6b')](_0x4f8ffd['conditions']);_0x33b455[_0x921c('0x38')](_0x599572(_0x4f8ffd['conditions'][_0x921c('0x5a')]));}_0x7bf312=_0x33b455[_0x921c('0x72')]();_0x33b455[_0x921c('0x1d')](_0x20a90a);_0x33b455[_0x921c('0x1c')](0x0);logger['debug']('Limited\x20Query:',_0x33b455['toString']());return dbH[_0x921c('0x74')][_0x921c('0x30')](_0x33b455[_0x921c('0x8f')](),{'type':dbH['sequelize']['QueryTypes'][_0x921c('0x9b')]});}})[_0x921c('0x23')](function(){return{'sql':_0x7bf312[_0x921c('0x8f')]()};})[_0x921c('0x23')](respondWithResult(_0x1ef4a7,null))[_0x921c('0x40')](handleError(_0x1ef4a7,null));};