Built motion from commit (unavailable).|2.5.7
[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 _0x2ae6=['ValidationErrorItem','from','DESC','alias','debug','sequelize','No\x20available\x20data','web','fullPath','%s-%s.%s','randomstring','generate','custom','AnalyticExtractedReport','cdr','.calldate\x20BETWEEN\x20?\x20AND\x20?','startDate','.createdAt\x20BETWEEN\x20?\x20AND\x20?','endDate','info','Run\x20Query:','fork','join','../../components/export/','output','../../files/reports','countTable','COUNT(*)','AVG(%s)','ROUND(%s)','IS\x20NOT\x20NULL','eml-format','rimraf','zip-dir','fast-json-patch','moment','util','path','sox','ejs','lodash','squel','crypto','desk.js','to-csv','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','dbH','sendStatus','status','end','count','offset','limit','set','Content-Range','save','update','destroy','then','CustomReports','error','name','index','map','fieldName','type','key','model','query','keys','filters','attributes','intersection','fields','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','includeAll','include','findAll','rows','catch','show','params','rawAttributes','length','options','AnalyticCustomReport','create','body','user','get','role','Reports','UserProfileSection','find','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','preview','left_join','right_join','cross_join','SUM(%s)','COUNT(%s)','COUNT(DISTINCT\x20%s)','MAX(%s)','MIN(%s)','GROUP_CONCAT(%s)','DATE(%s)','HOUR(%s)','UNIX_TIMESTAMP(%s)','includes','IS\x20NULL','IS\x20EMPTY','IS\x20NOT\x20EMPTY','rules','operator','group','field','condition','value','Please\x20insert\x20at\x20least\x20one\x20field','AnalyticMetric','keyBy','select','MetricId','metric','function','replace','format','groupBy','orderBy','parse','joins','parentKey','foreignTable','foreignKey','%s.%s\x20=\x20%s.%s','table','conditions','clone','Limited\x20Query:','toString','QueryTypes','SELECT','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)','SEC_TO_TIME(%s)','getFields','Sequelize'];(function(_0x44f26f,_0x49f51f){var _0x4f8cce=function(_0x42a835){while(--_0x42a835){_0x44f26f['push'](_0x44f26f['shift']());}};_0x4f8cce(++_0x49f51f);}(_0x2ae6,0xc4));var _0x62ae=function(_0x374ada,_0x27b3a5){_0x374ada=_0x374ada-0x0;var _0x449ed8=_0x2ae6[_0x374ada];return _0x449ed8;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x62ae('0x0'));var rimraf=require(_0x62ae('0x1'));var zipdir=require(_0x62ae('0x2'));var jsonpatch=require(_0x62ae('0x3'));var rp=require('request-promise');var moment=require(_0x62ae('0x4'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x62ae('0x5'));var path=require(_0x62ae('0x6'));var sox=require(_0x62ae('0x7'));var csv=require('to-csv');var ejs=require(_0x62ae('0x8'));var fs=require('fs');var _=require(_0x62ae('0x9'));var squel=require(_0x62ae('0xa'));var crypto=require(_0x62ae('0xb'));var jsforce=require('jsforce');var deskjs=require(_0x62ae('0xc'));var toCsv=require(_0x62ae('0xd'));var querystring=require(_0x62ae('0xe'));var Papa=require(_0x62ae('0xf'));var Redis=require('ioredis');var authService=require(_0x62ae('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0x62ae('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x62ae('0x12'))(_0x62ae('0x13'));var utils=require(_0x62ae('0x14'));var config=require(_0x62ae('0x15'));var licenseUtil=require(_0x62ae('0x16'));var db=require(_0x62ae('0x17'))['db'];var dbH=require(_0x62ae('0x17'))[_0x62ae('0x18')];function respondWithStatusCode(_0x3a3ad9,_0xf26af5){_0xf26af5=_0xf26af5||0xcc;return function(_0x370f52){if(_0x370f52){return _0x3a3ad9[_0x62ae('0x19')](_0xf26af5);}return _0x3a3ad9[_0x62ae('0x1a')](_0xf26af5)[_0x62ae('0x1b')]();};}function respondWithResult(_0x280fa4,_0x740787){_0x740787=_0x740787||0xc8;return function(_0x488ecb){if(_0x488ecb){return _0x280fa4[_0x62ae('0x1a')](_0x740787)['json'](_0x488ecb);}};}function respondWithFilteredResult(_0x2a4be8,_0x10c769){return function(_0x1a019f){if(_0x1a019f){var _0x4be17a=_0x1a019f[_0x62ae('0x1c')],_0x57177c=_0x10c769[_0x62ae('0x1d')],_0x39ee13=_0x10c769[_0x62ae('0x1d')]+_0x10c769[_0x62ae('0x1e')],_0x366db2;if(_0x39ee13>=_0x4be17a){_0x39ee13=_0x4be17a;_0x366db2=0xc8;}else{_0x366db2=0xce;}_0x2a4be8[_0x62ae('0x1a')](_0x366db2);return _0x2a4be8[_0x62ae('0x1f')](_0x62ae('0x20'),_0x57177c+'-'+_0x39ee13+'/'+_0x4be17a)['json'](_0x1a019f);}return null;};}function patchUpdates(_0x4246c3){return function(_0x1c1e83){try{jsonpatch['apply'](_0x1c1e83,_0x4246c3,!![]);}catch(_0x152e66){return BPromise['reject'](_0x152e66);}return _0x1c1e83[_0x62ae('0x21')]();};}function saveUpdates(_0x32184a,_0x213cd2){return function(_0x3a55c0){if(_0x3a55c0){return _0x3a55c0[_0x62ae('0x22')](_0x32184a)['then'](function(_0x352e00){return _0x352e00;});}return null;};}function removeEntity(_0x593bd8,_0x280c60){return function(_0x9024b5){if(_0x9024b5){return _0x9024b5[_0x62ae('0x23')]()[_0x62ae('0x24')](function(){var _0x2a9ed0=_0x9024b5['get']({'plain':!![]});var _0x2f4166=_0x62ae('0x25');return db['UserProfileResource'][_0x62ae('0x23')]({'where':{'type':_0x2f4166,'resourceId':_0x2a9ed0['id']}})[_0x62ae('0x24')](function(){return _0x9024b5;});})[_0x62ae('0x24')](function(){_0x593bd8['status'](0xcc)[_0x62ae('0x1b')]();});}};}function handleEntityNotFound(_0xdc0498,_0x3ffad6){return function(_0x102ec2){if(!_0x102ec2){_0xdc0498['sendStatus'](0x194);}return _0x102ec2;};}function handleError(_0xbfd042,_0x1fdf75){_0x1fdf75=_0x1fdf75||0x1f4;return function(_0x314f46){logger[_0x62ae('0x26')](_0x314f46['stack']);if(_0x314f46[_0x62ae('0x27')]){delete _0x314f46[_0x62ae('0x27')];}_0xbfd042[_0x62ae('0x1a')](_0x1fdf75)['send'](_0x314f46);};}exports[_0x62ae('0x28')]=function(_0x3af616,_0x3f1f40){var _0x4210a8={},_0x136f09={},_0x49f0aa={'count':0x0,'rows':[]};var _0x583fa6=_[_0x62ae('0x29')](db['AnalyticCustomReport']['rawAttributes'],function(_0x1c6292){return{'name':_0x1c6292[_0x62ae('0x2a')],'type':_0x1c6292[_0x62ae('0x2b')][_0x62ae('0x2c')]};});_0x136f09[_0x62ae('0x2d')]=_[_0x62ae('0x29')](_0x583fa6,_0x62ae('0x27'));_0x136f09[_0x62ae('0x2e')]=_[_0x62ae('0x2f')](_0x3af616['query']);_0x136f09[_0x62ae('0x30')]=_['intersection'](_0x136f09[_0x62ae('0x2d')],_0x136f09[_0x62ae('0x2e')]);_0x4210a8[_0x62ae('0x31')]=_[_0x62ae('0x32')](_0x136f09[_0x62ae('0x2d')],qs[_0x62ae('0x33')](_0x3af616[_0x62ae('0x2e')]['fields']));_0x4210a8[_0x62ae('0x31')]=_0x4210a8[_0x62ae('0x31')]['length']?_0x4210a8[_0x62ae('0x31')]:_0x136f09['model'];if(!_0x3af616[_0x62ae('0x2e')][_0x62ae('0x34')](_0x62ae('0x35'))){_0x4210a8['limit']=qs['limit'](_0x3af616[_0x62ae('0x2e')][_0x62ae('0x1e')]);_0x4210a8['offset']=qs[_0x62ae('0x1d')](_0x3af616['query'][_0x62ae('0x1d')]);}_0x4210a8[_0x62ae('0x36')]=qs[_0x62ae('0x37')](_0x3af616[_0x62ae('0x2e')]['sort']);_0x4210a8[_0x62ae('0x38')]=qs['filters'](_[_0x62ae('0x39')](_0x3af616['query'],_0x136f09[_0x62ae('0x30')]),_0x583fa6);if(_0x3af616[_0x62ae('0x2e')][_0x62ae('0x3a')]){_0x4210a8[_0x62ae('0x38')]=_[_0x62ae('0x3b')](_0x4210a8[_0x62ae('0x38')],{'$or':_[_0x62ae('0x29')](_0x583fa6,function(_0x109526){if(_0x109526[_0x62ae('0x2b')]!=='VIRTUAL'){var _0x25be04={};_0x25be04[_0x109526[_0x62ae('0x27')]]={'$like':'%'+_0x3af616[_0x62ae('0x2e')][_0x62ae('0x3a')]+'%'};return _0x25be04;}})});}_0x4210a8=_[_0x62ae('0x3b')]({},_0x4210a8,_0x3af616['options']);var _0x327b76={'where':_0x4210a8['where']};return db['AnalyticCustomReport'][_0x62ae('0x1c')](_0x327b76)[_0x62ae('0x24')](function(_0x3d7b26){_0x49f0aa['count']=_0x3d7b26;if(_0x3af616[_0x62ae('0x2e')][_0x62ae('0x3c')]){_0x4210a8[_0x62ae('0x3d')]=[{'all':!![]}];}return db['AnalyticCustomReport'][_0x62ae('0x3e')](_0x4210a8);})[_0x62ae('0x24')](function(_0x21ee43){_0x49f0aa[_0x62ae('0x3f')]=_0x21ee43;return _0x49f0aa;})[_0x62ae('0x24')](respondWithFilteredResult(_0x3f1f40,_0x4210a8))[_0x62ae('0x40')](handleError(_0x3f1f40,null));};exports[_0x62ae('0x41')]=function(_0x2ab54a,_0x108183){var _0x48632a={'raw':![],'where':{'id':_0x2ab54a[_0x62ae('0x42')]['id']}},_0x4e28fa={};_0x4e28fa[_0x62ae('0x2d')]=_[_0x62ae('0x2f')](db['AnalyticCustomReport'][_0x62ae('0x43')]);_0x4e28fa[_0x62ae('0x2e')]=_[_0x62ae('0x2f')](_0x2ab54a[_0x62ae('0x2e')]);_0x4e28fa[_0x62ae('0x30')]=_[_0x62ae('0x32')](_0x4e28fa['model'],_0x4e28fa['query']);_0x48632a['attributes']=_[_0x62ae('0x32')](_0x4e28fa['model'],qs[_0x62ae('0x33')](_0x2ab54a[_0x62ae('0x2e')][_0x62ae('0x33')]));_0x48632a[_0x62ae('0x31')]=_0x48632a['attributes'][_0x62ae('0x44')]?_0x48632a[_0x62ae('0x31')]:_0x4e28fa[_0x62ae('0x2d')];if(_0x2ab54a['query'][_0x62ae('0x3c')]){_0x48632a[_0x62ae('0x3d')]=[{'all':!![]}];}_0x48632a=_[_0x62ae('0x3b')]({},_0x48632a,_0x2ab54a[_0x62ae('0x45')]);return db[_0x62ae('0x46')]['find'](_0x48632a)[_0x62ae('0x24')](handleEntityNotFound(_0x108183,null))['then'](respondWithResult(_0x108183,null))['catch'](handleError(_0x108183,null));};exports[_0x62ae('0x47')]=function(_0xc44093,_0x57b34a){return db['AnalyticCustomReport'][_0x62ae('0x47')](_0xc44093[_0x62ae('0x48')],{})['then'](function(_0x31234d){var _0x3bd833=_0xc44093[_0x62ae('0x49')][_0x62ae('0x4a')]({'plain':!![]});if(!_0x3bd833)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x3bd833[_0x62ae('0x4b')]===_0x62ae('0x49')){var _0x36bce1=_0x31234d[_0x62ae('0x4a')]({'plain':!![]});var _0x42e062=_0x62ae('0x4c');return db[_0x62ae('0x4d')][_0x62ae('0x4e')]({'where':{'name':_0x42e062,'userProfileId':_0x3bd833[_0x62ae('0x4f')]},'raw':!![]})[_0x62ae('0x24')](function(_0x137729){if(_0x137729&&_0x137729[_0x62ae('0x50')]===0x0){return db[_0x62ae('0x51')][_0x62ae('0x47')]({'name':_0x36bce1['name'],'resourceId':_0x36bce1['id'],'type':_0x62ae('0x25'),'sectionId':_0x137729['id']},{})[_0x62ae('0x24')](function(){return _0x31234d;});}else{return _0x31234d;}})[_0x62ae('0x40')](function(_0x211342){logger[_0x62ae('0x26')](_0x62ae('0x52'),_0x211342);throw _0x211342;});}return _0x31234d;})[_0x62ae('0x24')](respondWithResult(_0x57b34a,0xc9))['catch'](handleError(_0x57b34a,null));};exports[_0x62ae('0x22')]=function(_0x10ba2e,_0x37cf15){if(_0x10ba2e[_0x62ae('0x48')]['id']){delete _0x10ba2e[_0x62ae('0x48')]['id'];}return db[_0x62ae('0x46')][_0x62ae('0x4e')]({'where':{'id':_0x10ba2e[_0x62ae('0x42')]['id']}})['then'](handleEntityNotFound(_0x37cf15,null))[_0x62ae('0x24')](saveUpdates(_0x10ba2e[_0x62ae('0x48')],null))[_0x62ae('0x24')](respondWithResult(_0x37cf15,null))[_0x62ae('0x40')](handleError(_0x37cf15,null));};exports['destroy']=function(_0x2bb465,_0xe7e35b){return db[_0x62ae('0x46')][_0x62ae('0x4e')]({'where':{'id':_0x2bb465['params']['id']}})[_0x62ae('0x24')](handleEntityNotFound(_0xe7e35b,null))[_0x62ae('0x24')](removeEntity(_0xe7e35b,null))[_0x62ae('0x40')](handleError(_0xe7e35b,null));};exports[_0x62ae('0x53')]=function(_0x24455,_0x537c04){var _0x4e1630=0xa;var _0x18edd5=['join',_0x62ae('0x54'),_0x62ae('0x55'),_0x62ae('0x56')];var _0x360334={'SUM':_0x62ae('0x57'),'COUNT':_0x62ae('0x58'),'COUNT DISTINCT':_0x62ae('0x59'),'MAX':_0x62ae('0x5a'),'MIN':_0x62ae('0x5b'),'AVG':'AVG(%s)','GROUP_CONCAT':_0x62ae('0x5c'),'GROUP_CONCAT ASC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','GROUP_CONCAT DESC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)'};var _0x50cfba={'SEC_TO_TIME':'SEC_TO_TIME(%s)','DATE':_0x62ae('0x5d'),'HOUR':_0x62ae('0x5e'),'ROUND':'ROUND(%s)','UNIX_TIMESTAMP':_0x62ae('0x5f')};var _0x58e5b9=function(_0x36b5a5){return!_[_0x62ae('0x60')]([_0x62ae('0x61'),'IS\x20NOT\x20NULL',_0x62ae('0x62'),_0x62ae('0x63')],_0x36b5a5);};var _0x2a495e=function(_0x4dbd83){if(!_0x4dbd83||!_0x4dbd83['rules'][_0x62ae('0x44')]){return'';}for(var _0x23a932='(',_0x85ea82=0x0;_0x85ea82<_0x4dbd83[_0x62ae('0x64')][_0x62ae('0x44')];_0x85ea82+=0x1){_0x85ea82>0x0&&(_0x23a932+='\x20'+_0x4dbd83[_0x62ae('0x65')]+'\x20');_0x23a932+=_0x4dbd83[_0x62ae('0x64')][_0x85ea82][_0x62ae('0x66')]?_0x2a495e(_0x4dbd83['rules'][_0x85ea82][_0x62ae('0x66')]):_0x4dbd83['rules'][_0x85ea82][_0x62ae('0x67')]+'\x20'+_0x4dbd83[_0x62ae('0x64')][_0x85ea82][_0x62ae('0x68')]+(_0x58e5b9(_0x4dbd83[_0x62ae('0x64')][_0x85ea82]['condition'])?'\x20'+_0x4dbd83['rules'][_0x85ea82][_0x62ae('0x69')]:'');}return _0x23a932+')';};var _0x2926d1={'where':{'id':_0x24455[_0x62ae('0x42')]['id']}},_0xa094ef,_0x158636,_0x1b8456,_0xcc6583,_0x2a091c;_0x2926d1=_[_0x62ae('0x3b')]({},_0x2926d1,_0x24455[_0x62ae('0x45')]);return db[_0x62ae('0x46')][_0x62ae('0x4e')](_0x2926d1)[_0x62ae('0x24')](function(_0x24a752){if(_0x24a752){_0xa094ef=_0x24a752;return _0x24a752['getFields']();}return null;})[_0x62ae('0x24')](function(_0x3f70d9){if(_0x3f70d9){if(!_0x3f70d9['length']){throw new db['Sequelize']['ValidationErrorItem'](_0x62ae('0x6a'),0x193);}_0x158636=_0x3f70d9;return db[_0x62ae('0x6b')][_0x62ae('0x3e')]({'raw':!![]});}return null;})[_0x62ae('0x24')](function(_0x185cf7){if(_0x185cf7){_0x1b8456=_[_0x62ae('0x6c')](_0x185cf7,'id');var _0x5cd75e;var _0x872d59=squel[_0x62ae('0x6d')]();_0x872d59['from'](_0xa094ef['table']);for(var _0x3f1eef=0x0;_0x3f1eef<_0x158636['length'];_0x3f1eef+=0x1){_0x5cd75e=_0x158636[_0x3f1eef][_0x62ae('0x6e')]?_0x1b8456[_0x158636[_0x3f1eef][_0x62ae('0x6e')]][_0x62ae('0x6f')]:_0x158636[_0x3f1eef]['field'];_0x5cd75e=_0x158636[_0x3f1eef][_0x62ae('0x70')]?_[_0x62ae('0x71')](_0x360334[_0x158636[_0x3f1eef][_0x62ae('0x70')]],'%s',_0x5cd75e):_0x5cd75e;_0x5cd75e=_0x158636[_0x3f1eef][_0x62ae('0x72')]?_[_0x62ae('0x71')](_0x50cfba[_0x158636[_0x3f1eef]['format']],'%s',_0x5cd75e):_0x5cd75e;if(_0x158636[_0x3f1eef][_0x62ae('0x73')]){_0x872d59[_0x62ae('0x66')](_0x5cd75e);}_0x158636[_0x3f1eef][_0x62ae('0x74')]&&_0x872d59[_0x62ae('0x36')](_0x5cd75e,_0x158636[_0x3f1eef]['orderBy']==='DESC'?![]:!![]);_0x872d59[_0x62ae('0x67')](_0x5cd75e,_0x158636[_0x3f1eef]['alias']||_0x5cd75e);}if(_0xa094ef['joins']){_0xa094ef['joins']=JSON[_0x62ae('0x75')](_0xa094ef[_0x62ae('0x76')]);for(var _0x2cf1d9=0x0;_0x2cf1d9<_0xa094ef[_0x62ae('0x76')][_0x62ae('0x44')];_0x2cf1d9+=0x1){if(_0xa094ef[_0x62ae('0x76')][_0x2cf1d9][_0x62ae('0x2b')]&&_[_0x62ae('0x60')](_0x18edd5,_0xa094ef[_0x62ae('0x76')][_0x2cf1d9][_0x62ae('0x2b')])&&_0xa094ef[_0x62ae('0x76')][_0x2cf1d9][_0x62ae('0x77')]&&_0xa094ef[_0x62ae('0x76')][_0x2cf1d9][_0x62ae('0x78')]&&_0xa094ef['joins'][_0x2cf1d9][_0x62ae('0x79')]){_0x872d59[_0xa094ef['joins'][_0x2cf1d9]['type']](_0xa094ef[_0x62ae('0x76')][_0x2cf1d9]['foreignTable'],null,util[_0x62ae('0x72')](_0x62ae('0x7a'),_0xa094ef[_0x62ae('0x7b')],_0xa094ef[_0x62ae('0x76')][_0x2cf1d9]['parentKey'],_0xa094ef[_0x62ae('0x76')][_0x2cf1d9][_0x62ae('0x78')],_0xa094ef['joins'][_0x2cf1d9]['foreignKey']));}}}if(_0xa094ef[_0x62ae('0x7c')]){_0xa094ef[_0x62ae('0x7c')]=JSON[_0x62ae('0x75')](_0xa094ef[_0x62ae('0x7c')]);_0x872d59['where'](_0x2a495e(_0xa094ef[_0x62ae('0x7c')][_0x62ae('0x66')]));}_0x2a091c=_0x872d59[_0x62ae('0x7d')]();_0x872d59[_0x62ae('0x1e')](_0x4e1630);_0x872d59['offset'](0x0);logger['debug'](_0x62ae('0x7e'),_0x872d59[_0x62ae('0x7f')]());return db['sequelize'][_0x62ae('0x2e')](_0x872d59[_0x62ae('0x7f')](),{'type':db['sequelize'][_0x62ae('0x80')][_0x62ae('0x81')]});}})[_0x62ae('0x24')](respondWithResult(_0x537c04,null))[_0x62ae('0x40')](handleError(_0x537c04,null));};function runReport(_0x2b9a88,_0x52d69b,_0x47b1d8){var _0x59ed9a=_0x52d69b[_0x62ae('0x27')];var _0x3163dc=0xa;var _0x31423f=['join',_0x62ae('0x54'),'right_join',_0x62ae('0x56')];var _0x1d481d={'SUM':_0x62ae('0x57'),'COUNT':_0x62ae('0x58'),'COUNT DISTINCT':_0x62ae('0x59'),'MAX':'MAX(%s)','MIN':'MIN(%s)','AVG':'AVG(%s)','GROUP_CONCAT':_0x62ae('0x5c'),'GROUP_CONCAT ASC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','GROUP_CONCAT DESC':_0x62ae('0x82')};var _0x3a4fde={'SEC_TO_TIME':_0x62ae('0x83'),'DATE':_0x62ae('0x5d'),'HOUR':'HOUR(%s)','ROUND':'ROUND(%s)','UNIX_TIMESTAMP':'UNIX_TIMESTAMP(%s)'};var _0x5531f6=function(_0x4a638a){return!_[_0x62ae('0x60')]([_0x62ae('0x61'),'IS\x20NOT\x20NULL','IS\x20EMPTY',_0x62ae('0x63')],_0x4a638a);};var _0x5c9e6d=function(_0x8afe09){if(!_0x8afe09||!_0x8afe09[_0x62ae('0x64')][_0x62ae('0x44')]){return'';}for(var _0x456bbf='(',_0x17b875=0x0;_0x17b875<_0x8afe09[_0x62ae('0x64')][_0x62ae('0x44')];_0x17b875+=0x1){_0x17b875>0x0&&(_0x456bbf+='\x20'+_0x8afe09[_0x62ae('0x65')]+'\x20');_0x456bbf+=_0x8afe09[_0x62ae('0x64')][_0x17b875][_0x62ae('0x66')]?_0x5c9e6d(_0x8afe09[_0x62ae('0x64')][_0x17b875][_0x62ae('0x66')]):_0x8afe09[_0x62ae('0x64')][_0x17b875][_0x62ae('0x67')]+'\x20'+_0x8afe09['rules'][_0x17b875][_0x62ae('0x68')]+(_0x5531f6(_0x8afe09['rules'][_0x17b875]['condition'])?'\x20'+_0x8afe09[_0x62ae('0x64')][_0x17b875][_0x62ae('0x69')]:'');}return _0x456bbf+')';};var _0x374e5e={'where':{'id':_0x2b9a88['id']}},_0x4e35c5,_0x22b59a,_0x5ce9cc,_0x22ffc7,_0x48fe7a;_0x374e5e=_[_0x62ae('0x3b')]({},_0x374e5e,_0x47b1d8);return db[_0x62ae('0x46')][_0x62ae('0x4e')](_0x374e5e)['then'](function(_0x361f1e){if(_0x361f1e){_0x4e35c5=_0x361f1e;return _0x361f1e[_0x62ae('0x84')]();}return null;})['then'](function(_0x260ff2){if(_0x260ff2){if(!_0x260ff2[_0x62ae('0x44')]){throw new db[(_0x62ae('0x85'))][(_0x62ae('0x86'))](_0x62ae('0x6a'),0x193);}_0x22b59a=_0x260ff2;return db[_0x62ae('0x6b')][_0x62ae('0x3e')]({'raw':!![]});}return null;})['then'](function(_0x41bbe4){if(_0x41bbe4){_0x5ce9cc=_[_0x62ae('0x6c')](_0x41bbe4,'id');var _0x13281c;var _0x51a3e3=squel[_0x62ae('0x6d')]();_0x51a3e3[_0x62ae('0x87')](_0x4e35c5[_0x62ae('0x7b')]);for(var _0x3d8b15=0x0;_0x3d8b15<_0x22b59a[_0x62ae('0x44')];_0x3d8b15+=0x1){_0x13281c=_0x22b59a[_0x3d8b15][_0x62ae('0x6e')]?_0x5ce9cc[_0x22b59a[_0x3d8b15][_0x62ae('0x6e')]][_0x62ae('0x6f')]:_0x22b59a[_0x3d8b15][_0x62ae('0x67')];_0x13281c=_0x22b59a[_0x3d8b15]['function']?_[_0x62ae('0x71')](_0x1d481d[_0x22b59a[_0x3d8b15][_0x62ae('0x70')]],'%s',_0x13281c):_0x13281c;_0x13281c=_0x22b59a[_0x3d8b15]['format']?_[_0x62ae('0x71')](_0x3a4fde[_0x22b59a[_0x3d8b15][_0x62ae('0x72')]],'%s',_0x13281c):_0x13281c;if(_0x22b59a[_0x3d8b15][_0x62ae('0x73')]){_0x51a3e3[_0x62ae('0x66')](_0x13281c);}_0x22b59a[_0x3d8b15]['orderBy']&&_0x51a3e3[_0x62ae('0x36')](_0x13281c,_0x22b59a[_0x3d8b15]['orderBy']===_0x62ae('0x88')?![]:!![]);_0x51a3e3[_0x62ae('0x67')](_0x13281c,_0x22b59a[_0x3d8b15][_0x62ae('0x89')]||_0x13281c);}if(_0x4e35c5[_0x62ae('0x76')]){_0x4e35c5[_0x62ae('0x76')]=JSON['parse'](_0x4e35c5[_0x62ae('0x76')]);for(var _0x1fb352=0x0;_0x1fb352<_0x4e35c5['joins'][_0x62ae('0x44')];_0x1fb352+=0x1){if(_0x4e35c5[_0x62ae('0x76')][_0x1fb352][_0x62ae('0x2b')]&&_[_0x62ae('0x60')](_0x31423f,_0x4e35c5['joins'][_0x1fb352][_0x62ae('0x2b')])&&_0x4e35c5[_0x62ae('0x76')][_0x1fb352][_0x62ae('0x77')]&&_0x4e35c5[_0x62ae('0x76')][_0x1fb352][_0x62ae('0x78')]&&_0x4e35c5[_0x62ae('0x76')][_0x1fb352][_0x62ae('0x79')]){_0x51a3e3[_0x4e35c5[_0x62ae('0x76')][_0x1fb352][_0x62ae('0x2b')]](_0x4e35c5[_0x62ae('0x76')][_0x1fb352][_0x62ae('0x78')],null,util['format'](_0x62ae('0x7a'),_0x4e35c5[_0x62ae('0x7b')],_0x4e35c5[_0x62ae('0x76')][_0x1fb352][_0x62ae('0x77')],_0x4e35c5[_0x62ae('0x76')][_0x1fb352][_0x62ae('0x78')],_0x4e35c5[_0x62ae('0x76')][_0x1fb352][_0x62ae('0x79')]));}}}if(_0x4e35c5[_0x62ae('0x7c')]){_0x4e35c5[_0x62ae('0x7c')]=JSON[_0x62ae('0x75')](_0x4e35c5[_0x62ae('0x7c')]);_0x51a3e3['where'](_0x5c9e6d(_0x4e35c5[_0x62ae('0x7c')][_0x62ae('0x66')]));}_0x48fe7a=_0x51a3e3[_0x62ae('0x7d')]();_0x51a3e3[_0x62ae('0x1e')](_0x3163dc);_0x51a3e3[_0x62ae('0x1d')](0x0);logger[_0x62ae('0x8a')]('Limited\x20Query:',_0x51a3e3[_0x62ae('0x7f')]());return db['sequelize'][_0x62ae('0x2e')](_0x51a3e3[_0x62ae('0x7f')](),{'type':db[_0x62ae('0x8b')][_0x62ae('0x80')][_0x62ae('0x81')]});}})[_0x62ae('0x24')](function(_0xcb0414){if(!_0xcb0414[_0x62ae('0x44')]){throw new db[(_0x62ae('0x85'))][(_0x62ae('0x86'))](_0x62ae('0x8c'),0xcc);}if(_0x52d69b['output']===_0x62ae('0x8d')){return null;}var _0x3c4b46=_[_0x62ae('0x3b')](_0x52d69b,{'name':_0x52d69b[_0x62ae('0x8e')]||_0x52d69b['name']||_0x4e35c5[_0x62ae('0x27')],'basename':_0x59ed9a,'savename':util[_0x62ae('0x72')](_0x62ae('0x8f'),_0x52d69b[_0x62ae('0x27')]||_0x4e35c5[_0x62ae('0x27')],require(_0x62ae('0x90'))[_0x62ae('0x91')](0x4),_0x52d69b['output']||'csv'),'reportId':_0x4e35c5['id'],'reportType':_0x62ae('0x92')});return db[_0x62ae('0x93')]['create'](_0x3c4b46,{'raw':!![]});})[_0x62ae('0x24')](function(_0xd8f3b2){if(_0x4e35c5[_0x62ae('0x7b')]===_0x62ae('0x94')){_0x48fe7a[_0x62ae('0x38')](_0x4e35c5[_0x62ae('0x7b')]+_0x62ae('0x95'),_0x52d69b[_0x62ae('0x96')],_0x52d69b['endDate']);}else{_0x48fe7a[_0x62ae('0x38')](_0x4e35c5['table']+_0x62ae('0x97'),_0x52d69b['startDate'],_0x52d69b[_0x62ae('0x98')]);}if(_0xd8f3b2){logger[_0x62ae('0x99')](_0x62ae('0x9a'),_0x48fe7a[_0x62ae('0x7f')]());require('child_process')[_0x62ae('0x9b')](path[_0x62ae('0x9c')](__dirname,_0x62ae('0x9d'),_0xd8f3b2[_0x62ae('0x9e')]),[_0xd8f3b2['id'],_0x48fe7a[_0x62ae('0x7f')](),path[_0x62ae('0x9c')](__dirname,_0x62ae('0x9f'),_0xd8f3b2['savename']),_0x59ed9a]);return _0xd8f3b2;}else{var _0x31d16d=squel[_0x62ae('0x6d')]();_0x31d16d['from']('('+_0x48fe7a[_0x62ae('0x7f')]()+')',_0x62ae('0xa0'));_0x31d16d[_0x62ae('0x67')](_0x62ae('0xa1'),_0x62ae('0x1c'));_0x48fe7a[_0x62ae('0x1e')](_0x52d69b['limit']||_0x3163dc);_0x48fe7a[_0x62ae('0x1d')](_0x52d69b[_0x62ae('0x1d')]||0x0);return dbH[_0x62ae('0x8b')][_0x62ae('0x2e')](_0x31d16d[_0x62ae('0x7f')](),{'type':dbH[_0x62ae('0x8b')][_0x62ae('0x80')]['SELECT']})['then'](function(_0x51c960){if(!_0x51c960[_0x62ae('0x44')]){_0x22ffc7=0x0;}else{_0x22ffc7=_0x51c960[0x0][_0x62ae('0x1c')]||0x0;}return dbH['sequelize']['query'](_0x48fe7a[_0x62ae('0x7f')](),{'type':dbH['sequelize'][_0x62ae('0x80')][_0x62ae('0x81')]});})[_0x62ae('0x24')](function(_0x125c96){return{'rows':_0x125c96||[],'count':_0x22ffc7};});}});}exports['run']=function(_0x580789,_0x2fff22){return runReport(_0x580789[_0x62ae('0x42')],_0x580789['query'],_0x580789[_0x62ae('0x45')])[_0x62ae('0x24')](respondWithResult(_0x2fff22,null))[_0x62ae('0x40')](handleError(_0x2fff22,null));};exports['runReport']=runReport;exports[_0x62ae('0x2e')]=function(_0x171ac0,_0x185c41){var _0xb67d06=0xa;var _0x48c394=[_0x62ae('0x9c'),_0x62ae('0x54'),_0x62ae('0x55'),_0x62ae('0x56')];var _0x4b1312={'SUM':_0x62ae('0x57'),'COUNT':_0x62ae('0x58'),'COUNT DISTINCT':_0x62ae('0x59'),'MAX':_0x62ae('0x5a'),'MIN':_0x62ae('0x5b'),'AVG':_0x62ae('0xa2'),'GROUP_CONCAT':_0x62ae('0x5c'),'GROUP_CONCAT ASC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','GROUP_CONCAT DESC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)'};var _0xb0ac33={'SEC_TO_TIME':_0x62ae('0x83'),'DATE':'DATE(%s)','HOUR':_0x62ae('0x5e'),'ROUND':_0x62ae('0xa3'),'UNIX_TIMESTAMP':_0x62ae('0x5f')};var _0x2f08f9=function(_0x27e7e4){return!_[_0x62ae('0x60')]([_0x62ae('0x61'),_0x62ae('0xa4'),_0x62ae('0x62'),_0x62ae('0x63')],_0x27e7e4);};var _0x404c14=function(_0x5c6925){if(!_0x5c6925||!_0x5c6925[_0x62ae('0x64')][_0x62ae('0x44')]){return'';}for(var _0x344910='(',_0xb1b1ab=0x0;_0xb1b1ab<_0x5c6925['rules'][_0x62ae('0x44')];_0xb1b1ab+=0x1){_0xb1b1ab>0x0&&(_0x344910+='\x20'+_0x5c6925[_0x62ae('0x65')]+'\x20');_0x344910+=_0x5c6925['rules'][_0xb1b1ab]['group']?_0x404c14(_0x5c6925['rules'][_0xb1b1ab][_0x62ae('0x66')]):_0x5c6925[_0x62ae('0x64')][_0xb1b1ab][_0x62ae('0x67')]+'\x20'+_0x5c6925['rules'][_0xb1b1ab][_0x62ae('0x68')]+(_0x2f08f9(_0x5c6925[_0x62ae('0x64')][_0xb1b1ab][_0x62ae('0x68')])?'\x20'+_0x5c6925[_0x62ae('0x64')][_0xb1b1ab][_0x62ae('0x69')]:'');}return _0x344910+')';};var _0x51a7c4={'where':{'id':_0x171ac0[_0x62ae('0x42')]['id']}},_0x109920,_0x235027,_0x5c397d,_0x480125,_0x1f1222;_0x51a7c4=_[_0x62ae('0x3b')]({},_0x51a7c4,_0x171ac0[_0x62ae('0x45')]);return db['AnalyticCustomReport'][_0x62ae('0x4e')](_0x51a7c4)[_0x62ae('0x24')](function(_0x23dca9){if(_0x23dca9){_0x109920=_0x23dca9;return _0x23dca9['getFields']();}return null;})['then'](function(_0x495d7e){if(_0x495d7e){if(!_0x495d7e[_0x62ae('0x44')]){throw new db[(_0x62ae('0x85'))]['ValidationErrorItem'](_0x62ae('0x6a'),0x193);}_0x235027=_0x495d7e;return db[_0x62ae('0x6b')][_0x62ae('0x3e')]({'raw':!![]});}return null;})[_0x62ae('0x24')](function(_0x46f34d){if(_0x46f34d){_0x5c397d=_['keyBy'](_0x46f34d,'id');var _0x1b78ec;var _0x83cbeb=squel[_0x62ae('0x6d')]();_0x83cbeb[_0x62ae('0x87')](_0x109920['table']);for(var _0x58064c=0x0;_0x58064c<_0x235027['length'];_0x58064c+=0x1){_0x1b78ec=_0x235027[_0x58064c][_0x62ae('0x6e')]?_0x5c397d[_0x235027[_0x58064c][_0x62ae('0x6e')]][_0x62ae('0x6f')]:_0x235027[_0x58064c][_0x62ae('0x67')];_0x1b78ec=_0x235027[_0x58064c][_0x62ae('0x70')]?_[_0x62ae('0x71')](_0x4b1312[_0x235027[_0x58064c]['function']],'%s',_0x1b78ec):_0x1b78ec;_0x1b78ec=_0x235027[_0x58064c][_0x62ae('0x72')]?_[_0x62ae('0x71')](_0xb0ac33[_0x235027[_0x58064c][_0x62ae('0x72')]],'%s',_0x1b78ec):_0x1b78ec;if(_0x235027[_0x58064c]['groupBy']){_0x83cbeb[_0x62ae('0x66')](_0x1b78ec);}_0x235027[_0x58064c][_0x62ae('0x74')]&&_0x83cbeb['order'](_0x1b78ec,_0x235027[_0x58064c][_0x62ae('0x74')]==='DESC'?![]:!![]);_0x83cbeb[_0x62ae('0x67')](_0x1b78ec,_0x235027[_0x58064c][_0x62ae('0x89')]||_0x1b78ec);}if(_0x109920[_0x62ae('0x76')]){_0x109920[_0x62ae('0x76')]=JSON[_0x62ae('0x75')](_0x109920[_0x62ae('0x76')]);for(var _0x1be08a=0x0;_0x1be08a<_0x109920['joins'][_0x62ae('0x44')];_0x1be08a+=0x1){if(_0x109920[_0x62ae('0x76')][_0x1be08a]['type']&&_[_0x62ae('0x60')](_0x48c394,_0x109920[_0x62ae('0x76')][_0x1be08a][_0x62ae('0x2b')])&&_0x109920['joins'][_0x1be08a][_0x62ae('0x77')]&&_0x109920[_0x62ae('0x76')][_0x1be08a][_0x62ae('0x78')]&&_0x109920[_0x62ae('0x76')][_0x1be08a][_0x62ae('0x79')]){_0x83cbeb[_0x109920[_0x62ae('0x76')][_0x1be08a][_0x62ae('0x2b')]](_0x109920[_0x62ae('0x76')][_0x1be08a]['foreignTable'],null,util[_0x62ae('0x72')](_0x62ae('0x7a'),_0x109920['table'],_0x109920[_0x62ae('0x76')][_0x1be08a][_0x62ae('0x77')],_0x109920[_0x62ae('0x76')][_0x1be08a][_0x62ae('0x78')],_0x109920[_0x62ae('0x76')][_0x1be08a]['foreignKey']));}}}if(_0x109920['conditions']){_0x109920[_0x62ae('0x7c')]=JSON[_0x62ae('0x75')](_0x109920[_0x62ae('0x7c')]);_0x83cbeb['where'](_0x404c14(_0x109920[_0x62ae('0x7c')][_0x62ae('0x66')]));}_0x1f1222=_0x83cbeb[_0x62ae('0x7d')]();_0x83cbeb[_0x62ae('0x1e')](_0xb67d06);_0x83cbeb[_0x62ae('0x1d')](0x0);logger['debug'](_0x62ae('0x7e'),_0x83cbeb[_0x62ae('0x7f')]());return db[_0x62ae('0x8b')]['query'](_0x83cbeb[_0x62ae('0x7f')](),{'type':db['sequelize'][_0x62ae('0x80')][_0x62ae('0x81')]});}})['then'](function(){return{'sql':_0x1f1222[_0x62ae('0x7f')]()};})['then'](respondWithResult(_0x185c41,null))['catch'](handleError(_0x185c41,null));};