Built motion from commit (unavailable).|2.5.30
[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 _0x5c1a=['key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','limit','sort','pick','where','merge','type','VIRTUAL','filter','options','includeAll','include','findAll','catch','show','params','keys','find','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','Reports','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','preview','right_join','SUM(%s)','COUNT(%s)','COUNT(DISTINCT\x20%s)','MAX(%s)','MIN(%s)','AVG(%s)','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)','SEC_TO_TIME(%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','Sequelize','ValidationErrorItem','AnalyticMetric','select','from','table','MetricId','metric','function','replace','format','groupBy','order','orderBy','joins','parse','parentKey','foreignTable','foreignKey','%s.%s\x20=\x20%s.%s','conditions','debug','Limited\x20Query:','toString','sequelize','QueryTypes','SELECT','join','left_join','cross_join','GROUP_CONCAT(%s)','Please\x20insert\x20at\x20least\x20one\x20field','keyBy','DESC','alias','clone','output','web','fullPath','randomstring','generate','csv','custom','cdr','.calldate\x20BETWEEN\x20?\x20AND\x20?','endDate','.createdAt\x20BETWEEN\x20?\x20AND\x20?','startDate','info','Run\x20Query:','child_process','fork','../../components/export/','countTable','run','runReport','getFields','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','path','sox','lodash','squel','crypto','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','count','set','Content-Range','json','update','then','destroy','get','CustomReports','UserProfileResource','error','stack','name','send','index','map','AnalyticCustomReport','rawAttributes','fieldName'];(function(_0x2ff55f,_0x19e45d){var _0x49d1db=function(_0x54c6fe){while(--_0x54c6fe){_0x2ff55f['push'](_0x2ff55f['shift']());}};_0x49d1db(++_0x19e45d);}(_0x5c1a,0x1c9));var _0xa5c1=function(_0x45d55e,_0x2fede3){_0x45d55e=_0x45d55e-0x0;var _0x29812a=_0x5c1a[_0x45d55e];return _0x29812a;};'use strict';var emlformat=require(_0xa5c1('0x0'));var rimraf=require(_0xa5c1('0x1'));var zipdir=require(_0xa5c1('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xa5c1('0x3'));var moment=require(_0xa5c1('0x4'));var BPromise=require(_0xa5c1('0x5'));var Mustache=require(_0xa5c1('0x6'));var util=require('util');var path=require(_0xa5c1('0x7'));var sox=require(_0xa5c1('0x8'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xa5c1('0x9'));var squel=require(_0xa5c1('0xa'));var crypto=require(_0xa5c1('0xb'));var jsforce=require('jsforce');var deskjs=require(_0xa5c1('0xc'));var toCsv=require(_0xa5c1('0xd'));var querystring=require(_0xa5c1('0xe'));var Papa=require(_0xa5c1('0xf'));var Redis=require(_0xa5c1('0x10'));var authService=require(_0xa5c1('0x11'));var qs=require(_0xa5c1('0x12'));var as=require(_0xa5c1('0x13'));var hardwareService=require(_0xa5c1('0x14'));var logger=require(_0xa5c1('0x15'))(_0xa5c1('0x16'));var utils=require(_0xa5c1('0x17'));var config=require(_0xa5c1('0x18'));var licenseUtil=require(_0xa5c1('0x19'));var db=require(_0xa5c1('0x1a'))['db'];var dbH=require(_0xa5c1('0x1a'))['dbH'];function respondWithStatusCode(_0x43cab5,_0x4915ea){_0x4915ea=_0x4915ea||0xcc;return function(_0x52688c){if(_0x52688c){return _0x43cab5[_0xa5c1('0x1b')](_0x4915ea);}return _0x43cab5[_0xa5c1('0x1c')](_0x4915ea)[_0xa5c1('0x1d')]();};}function respondWithResult(_0x590098,_0x174319){_0x174319=_0x174319||0xc8;return function(_0x2a531e){if(_0x2a531e){return _0x590098[_0xa5c1('0x1c')](_0x174319)['json'](_0x2a531e);}};}function respondWithFilteredResult(_0x572bbc,_0x694b5){return function(_0x4d77e1){if(_0x4d77e1){var _0x2a37be=typeof _0x694b5[_0xa5c1('0x1e')]==='undefined'&&typeof _0x694b5['limit']==='undefined';var _0x534841=_0x4d77e1[_0xa5c1('0x1f')];var _0x329206=_0x2a37be?0x0:_0x694b5[_0xa5c1('0x1e')];var _0x1b2524=_0x2a37be?_0x4d77e1['count']:_0x694b5[_0xa5c1('0x1e')]+_0x694b5['limit'];var _0x270053;if(_0x1b2524>=_0x534841){_0x1b2524=_0x534841;_0x270053=0xc8;}else{_0x270053=0xce;}_0x572bbc['status'](_0x270053);return _0x572bbc[_0xa5c1('0x20')](_0xa5c1('0x21'),_0x329206+'-'+_0x1b2524+'/'+_0x534841)[_0xa5c1('0x22')](_0x4d77e1);}return null;};}function patchUpdates(_0x13f69d){return function(_0x15ae4b){try{jsonpatch['apply'](_0x15ae4b,_0x13f69d,!![]);}catch(_0x31836c){return BPromise['reject'](_0x31836c);}return _0x15ae4b['save']();};}function saveUpdates(_0x6ccfe8,_0x28379f){return function(_0x9c4153){if(_0x9c4153){return _0x9c4153[_0xa5c1('0x23')](_0x6ccfe8)[_0xa5c1('0x24')](function(_0x44806f){return _0x44806f;});}return null;};}function removeEntity(_0x363d16,_0x37b036){return function(_0x26aa57){if(_0x26aa57){return _0x26aa57[_0xa5c1('0x25')]()[_0xa5c1('0x24')](function(){var _0x4cd7a1=_0x26aa57[_0xa5c1('0x26')]({'plain':!![]});var _0x46cfc5=_0xa5c1('0x27');return db[_0xa5c1('0x28')][_0xa5c1('0x25')]({'where':{'type':_0x46cfc5,'resourceId':_0x4cd7a1['id']}})[_0xa5c1('0x24')](function(){return _0x26aa57;});})[_0xa5c1('0x24')](function(){_0x363d16['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x1f95d8,_0x51219e){return function(_0x388af0){if(!_0x388af0){_0x1f95d8[_0xa5c1('0x1b')](0x194);}return _0x388af0;};}function handleError(_0x619f4d,_0x583cba){_0x583cba=_0x583cba||0x1f4;return function(_0x436e91){logger[_0xa5c1('0x29')](_0x436e91[_0xa5c1('0x2a')]);if(_0x436e91[_0xa5c1('0x2b')]){delete _0x436e91[_0xa5c1('0x2b')];}_0x619f4d[_0xa5c1('0x1c')](_0x583cba)[_0xa5c1('0x2c')](_0x436e91);};}exports[_0xa5c1('0x2d')]=function(_0x410da5,_0x320d31){var _0x192383={},_0x90989e={},_0x4d3ce6={'count':0x0,'rows':[]};var _0x3c7125=_[_0xa5c1('0x2e')](db[_0xa5c1('0x2f')][_0xa5c1('0x30')],function(_0x169bec){return{'name':_0x169bec[_0xa5c1('0x31')],'type':_0x169bec['type'][_0xa5c1('0x32')]};});_0x90989e[_0xa5c1('0x33')]=_[_0xa5c1('0x2e')](_0x3c7125,_0xa5c1('0x2b'));_0x90989e[_0xa5c1('0x34')]=_['keys'](_0x410da5['query']);_0x90989e[_0xa5c1('0x35')]=_[_0xa5c1('0x36')](_0x90989e[_0xa5c1('0x33')],_0x90989e[_0xa5c1('0x34')]);_0x192383[_0xa5c1('0x37')]=_['intersection'](_0x90989e[_0xa5c1('0x33')],qs[_0xa5c1('0x38')](_0x410da5['query']['fields']));_0x192383['attributes']=_0x192383['attributes'][_0xa5c1('0x39')]?_0x192383['attributes']:_0x90989e[_0xa5c1('0x33')];if(!_0x410da5[_0xa5c1('0x34')][_0xa5c1('0x3a')]('nolimit')){_0x192383[_0xa5c1('0x3b')]=qs[_0xa5c1('0x3b')](_0x410da5[_0xa5c1('0x34')][_0xa5c1('0x3b')]);_0x192383['offset']=qs[_0xa5c1('0x1e')](_0x410da5['query'][_0xa5c1('0x1e')]);}_0x192383['order']=qs['sort'](_0x410da5[_0xa5c1('0x34')][_0xa5c1('0x3c')]);_0x192383['where']=qs[_0xa5c1('0x35')](_[_0xa5c1('0x3d')](_0x410da5[_0xa5c1('0x34')],_0x90989e[_0xa5c1('0x35')]),_0x3c7125);if(_0x410da5['query']['filter']){_0x192383[_0xa5c1('0x3e')]=_[_0xa5c1('0x3f')](_0x192383[_0xa5c1('0x3e')],{'$or':_[_0xa5c1('0x2e')](_0x3c7125,function(_0x5b9cde){if(_0x5b9cde[_0xa5c1('0x40')]!==_0xa5c1('0x41')){var _0x278cc={};_0x278cc[_0x5b9cde[_0xa5c1('0x2b')]]={'$like':'%'+_0x410da5[_0xa5c1('0x34')][_0xa5c1('0x42')]+'%'};return _0x278cc;}})});}_0x192383=_[_0xa5c1('0x3f')]({},_0x192383,_0x410da5[_0xa5c1('0x43')]);var _0xbeadf0={'where':_0x192383[_0xa5c1('0x3e')]};return db['AnalyticCustomReport']['count'](_0xbeadf0)['then'](function(_0x1e7bdd){_0x4d3ce6['count']=_0x1e7bdd;if(_0x410da5['query'][_0xa5c1('0x44')]){_0x192383[_0xa5c1('0x45')]=[{'all':!![]}];}return db[_0xa5c1('0x2f')][_0xa5c1('0x46')](_0x192383);})['then'](function(_0x258307){_0x4d3ce6['rows']=_0x258307;return _0x4d3ce6;})[_0xa5c1('0x24')](respondWithFilteredResult(_0x320d31,_0x192383))[_0xa5c1('0x47')](handleError(_0x320d31,null));};exports[_0xa5c1('0x48')]=function(_0x3037f4,_0x3284bf){var _0x999661={'raw':![],'where':{'id':_0x3037f4[_0xa5c1('0x49')]['id']}},_0x4bba99={};_0x4bba99['model']=_['keys'](db[_0xa5c1('0x2f')]['rawAttributes']);_0x4bba99['query']=_[_0xa5c1('0x4a')](_0x3037f4[_0xa5c1('0x34')]);_0x4bba99[_0xa5c1('0x35')]=_[_0xa5c1('0x36')](_0x4bba99[_0xa5c1('0x33')],_0x4bba99[_0xa5c1('0x34')]);_0x999661[_0xa5c1('0x37')]=_[_0xa5c1('0x36')](_0x4bba99[_0xa5c1('0x33')],qs['fields'](_0x3037f4[_0xa5c1('0x34')]['fields']));_0x999661[_0xa5c1('0x37')]=_0x999661[_0xa5c1('0x37')][_0xa5c1('0x39')]?_0x999661['attributes']:_0x4bba99[_0xa5c1('0x33')];if(_0x3037f4[_0xa5c1('0x34')][_0xa5c1('0x44')]){_0x999661[_0xa5c1('0x45')]=[{'all':!![]}];}_0x999661=_['merge']({},_0x999661,_0x3037f4['options']);return db[_0xa5c1('0x2f')][_0xa5c1('0x4b')](_0x999661)[_0xa5c1('0x24')](handleEntityNotFound(_0x3284bf,null))[_0xa5c1('0x24')](respondWithResult(_0x3284bf,null))[_0xa5c1('0x47')](handleError(_0x3284bf,null));};exports[_0xa5c1('0x4c')]=function(_0x2d2b77,_0x5cba79){return db[_0xa5c1('0x2f')]['create'](_0x2d2b77[_0xa5c1('0x4d')],{})['then'](function(_0x2d71a4){var _0x17c336=_0x2d2b77['user'][_0xa5c1('0x26')]({'plain':!![]});if(!_0x17c336)throw new Error(_0xa5c1('0x4e'));if(_0x17c336[_0xa5c1('0x4f')]===_0xa5c1('0x50')){var _0x182369=_0x2d71a4[_0xa5c1('0x26')]({'plain':!![]});var _0x2bd0e4=_0xa5c1('0x51');return db[_0xa5c1('0x52')][_0xa5c1('0x4b')]({'where':{'name':_0x2bd0e4,'userProfileId':_0x17c336[_0xa5c1('0x53')]},'raw':!![]})[_0xa5c1('0x24')](function(_0x1dff17){if(_0x1dff17&&_0x1dff17[_0xa5c1('0x54')]===0x0){return db[_0xa5c1('0x28')][_0xa5c1('0x4c')]({'name':_0x182369['name'],'resourceId':_0x182369['id'],'type':'CustomReports','sectionId':_0x1dff17['id']},{})['then'](function(){return _0x2d71a4;});}else{return _0x2d71a4;}})[_0xa5c1('0x47')](function(_0x2bd409){logger['error'](_0xa5c1('0x55'),_0x2bd409);throw _0x2bd409;});}return _0x2d71a4;})[_0xa5c1('0x24')](respondWithResult(_0x5cba79,0xc9))[_0xa5c1('0x47')](handleError(_0x5cba79,null));};exports['update']=function(_0x5229a7,_0x1c2017){if(_0x5229a7[_0xa5c1('0x4d')]['id']){delete _0x5229a7[_0xa5c1('0x4d')]['id'];}return db['AnalyticCustomReport'][_0xa5c1('0x4b')]({'where':{'id':_0x5229a7[_0xa5c1('0x49')]['id']}})[_0xa5c1('0x24')](handleEntityNotFound(_0x1c2017,null))[_0xa5c1('0x24')](saveUpdates(_0x5229a7[_0xa5c1('0x4d')],null))[_0xa5c1('0x24')](respondWithResult(_0x1c2017,null))[_0xa5c1('0x47')](handleError(_0x1c2017,null));};exports['destroy']=function(_0x2668be,_0x1cdb12){return db['AnalyticCustomReport'][_0xa5c1('0x4b')]({'where':{'id':_0x2668be[_0xa5c1('0x49')]['id']}})[_0xa5c1('0x24')](handleEntityNotFound(_0x1cdb12,null))[_0xa5c1('0x24')](removeEntity(_0x1cdb12,null))[_0xa5c1('0x47')](handleError(_0x1cdb12,null));};exports[_0xa5c1('0x56')]=function(_0x2a6c58,_0x5e11b2){var _0x184b06=0xa;var _0x3292a1=['join','left_join',_0xa5c1('0x57'),'cross_join'];var _0x42b76a={'SUM':_0xa5c1('0x58'),'COUNT':_0xa5c1('0x59'),'COUNT DISTINCT':_0xa5c1('0x5a'),'MAX':_0xa5c1('0x5b'),'MIN':_0xa5c1('0x5c'),'AVG':_0xa5c1('0x5d'),'GROUP_CONCAT':'GROUP_CONCAT(%s)','GROUP_CONCAT ASC':_0xa5c1('0x5e'),'GROUP_CONCAT DESC':_0xa5c1('0x5f')};var _0x14daa6={'SEC_TO_TIME':_0xa5c1('0x60'),'DATE':_0xa5c1('0x61'),'HOUR':_0xa5c1('0x62'),'ROUND':_0xa5c1('0x63'),'UNIX_TIMESTAMP':_0xa5c1('0x64')};var _0x2aefdc=function(_0xa1958f){return!_[_0xa5c1('0x65')]([_0xa5c1('0x66'),_0xa5c1('0x67'),_0xa5c1('0x68'),_0xa5c1('0x69')],_0xa1958f);};var _0x2bf9db=function(_0x4052b){if(!_0x4052b||!_0x4052b[_0xa5c1('0x6a')][_0xa5c1('0x39')]){return'';}for(var _0x3f89fd='(',_0x2378c1=0x0;_0x2378c1<_0x4052b[_0xa5c1('0x6a')][_0xa5c1('0x39')];_0x2378c1+=0x1){_0x2378c1>0x0&&(_0x3f89fd+='\x20'+_0x4052b[_0xa5c1('0x6b')]+'\x20');_0x3f89fd+=_0x4052b['rules'][_0x2378c1]['group']?_0x2bf9db(_0x4052b['rules'][_0x2378c1][_0xa5c1('0x6c')]):_0x4052b[_0xa5c1('0x6a')][_0x2378c1][_0xa5c1('0x6d')]+'\x20'+_0x4052b[_0xa5c1('0x6a')][_0x2378c1][_0xa5c1('0x6e')]+(_0x2aefdc(_0x4052b[_0xa5c1('0x6a')][_0x2378c1][_0xa5c1('0x6e')])?'\x20'+_0x4052b[_0xa5c1('0x6a')][_0x2378c1][_0xa5c1('0x6f')]:'');}return _0x3f89fd+')';};var _0x51331a={'where':{'id':_0x2a6c58[_0xa5c1('0x49')]['id']}},_0x182f0b,_0x22db84,_0x42b4be,_0x53ae94,_0x2fe229;_0x51331a=_[_0xa5c1('0x3f')]({},_0x51331a,_0x2a6c58[_0xa5c1('0x43')]);return db[_0xa5c1('0x2f')]['find'](_0x51331a)['then'](function(_0x415a7d){if(_0x415a7d){_0x182f0b=_0x415a7d;return _0x415a7d['getFields']();}return null;})[_0xa5c1('0x24')](function(_0x3c774c){if(_0x3c774c){if(!_0x3c774c['length']){throw new db[(_0xa5c1('0x70'))][(_0xa5c1('0x71'))]('Please\x20insert\x20at\x20least\x20one\x20field',0x193);}_0x22db84=_0x3c774c;return db[_0xa5c1('0x72')]['findAll']({'raw':!![]});}return null;})['then'](function(_0x13a046){if(_0x13a046){_0x42b4be=_['keyBy'](_0x13a046,'id');var _0x23cc03;var _0x2d247d=squel[_0xa5c1('0x73')]();_0x2d247d[_0xa5c1('0x74')](_0x182f0b[_0xa5c1('0x75')]);for(var _0x26ae73=0x0;_0x26ae73<_0x22db84[_0xa5c1('0x39')];_0x26ae73+=0x1){_0x23cc03=_0x22db84[_0x26ae73][_0xa5c1('0x76')]?_0x42b4be[_0x22db84[_0x26ae73][_0xa5c1('0x76')]][_0xa5c1('0x77')]:_0x22db84[_0x26ae73]['field'];_0x23cc03=_0x22db84[_0x26ae73][_0xa5c1('0x78')]?_[_0xa5c1('0x79')](_0x42b76a[_0x22db84[_0x26ae73][_0xa5c1('0x78')]],'%s',_0x23cc03):_0x23cc03;_0x23cc03=_0x22db84[_0x26ae73][_0xa5c1('0x7a')]?_['replace'](_0x14daa6[_0x22db84[_0x26ae73][_0xa5c1('0x7a')]],'%s',_0x23cc03):_0x23cc03;if(_0x22db84[_0x26ae73][_0xa5c1('0x7b')]){_0x2d247d[_0xa5c1('0x6c')](_0x23cc03);}_0x22db84[_0x26ae73]['orderBy']&&_0x2d247d[_0xa5c1('0x7c')](_0x23cc03,_0x22db84[_0x26ae73][_0xa5c1('0x7d')]==='DESC'?![]:!![]);_0x2d247d['field'](_0x23cc03,_0x22db84[_0x26ae73]['alias']||_0x23cc03);}if(_0x182f0b['joins']){_0x182f0b[_0xa5c1('0x7e')]=JSON[_0xa5c1('0x7f')](_0x182f0b[_0xa5c1('0x7e')]);for(var _0x41c9d4=0x0;_0x41c9d4<_0x182f0b['joins'][_0xa5c1('0x39')];_0x41c9d4+=0x1){if(_0x182f0b[_0xa5c1('0x7e')][_0x41c9d4][_0xa5c1('0x40')]&&_[_0xa5c1('0x65')](_0x3292a1,_0x182f0b['joins'][_0x41c9d4]['type'])&&_0x182f0b[_0xa5c1('0x7e')][_0x41c9d4][_0xa5c1('0x80')]&&_0x182f0b[_0xa5c1('0x7e')][_0x41c9d4][_0xa5c1('0x81')]&&_0x182f0b[_0xa5c1('0x7e')][_0x41c9d4][_0xa5c1('0x82')]){_0x2d247d[_0x182f0b['joins'][_0x41c9d4][_0xa5c1('0x40')]](_0x182f0b[_0xa5c1('0x7e')][_0x41c9d4][_0xa5c1('0x81')],null,util[_0xa5c1('0x7a')](_0xa5c1('0x83'),_0x182f0b[_0xa5c1('0x75')],_0x182f0b[_0xa5c1('0x7e')][_0x41c9d4][_0xa5c1('0x80')],_0x182f0b[_0xa5c1('0x7e')][_0x41c9d4]['foreignTable'],_0x182f0b['joins'][_0x41c9d4][_0xa5c1('0x82')]));}}}if(_0x182f0b[_0xa5c1('0x84')]){_0x182f0b['conditions']=JSON['parse'](_0x182f0b['conditions']);_0x2d247d[_0xa5c1('0x3e')](_0x2bf9db(_0x182f0b['conditions'][_0xa5c1('0x6c')]));}_0x2fe229=_0x2d247d['clone']();_0x2d247d[_0xa5c1('0x3b')](_0x184b06);_0x2d247d[_0xa5c1('0x1e')](0x0);logger[_0xa5c1('0x85')](_0xa5c1('0x86'),_0x2d247d[_0xa5c1('0x87')]());return dbH[_0xa5c1('0x88')][_0xa5c1('0x34')](_0x2d247d[_0xa5c1('0x87')](),{'type':dbH[_0xa5c1('0x88')][_0xa5c1('0x89')][_0xa5c1('0x8a')]});}})[_0xa5c1('0x24')](respondWithResult(_0x5e11b2,null))[_0xa5c1('0x47')](handleError(_0x5e11b2,null));};function runReport(_0x9879f9,_0x1d8631,_0x12eba9){var _0x3986e1=_0x1d8631[_0xa5c1('0x2b')];var _0x5a695b=0xa;var _0x55c619=[_0xa5c1('0x8b'),_0xa5c1('0x8c'),'right_join',_0xa5c1('0x8d')];var _0x3d28ed={'SUM':_0xa5c1('0x58'),'COUNT':_0xa5c1('0x59'),'COUNT DISTINCT':_0xa5c1('0x5a'),'MAX':_0xa5c1('0x5b'),'MIN':'MIN(%s)','AVG':_0xa5c1('0x5d'),'GROUP_CONCAT':_0xa5c1('0x8e'),'GROUP_CONCAT ASC':_0xa5c1('0x5e'),'GROUP_CONCAT DESC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)'};var _0x390f58={'SEC_TO_TIME':_0xa5c1('0x60'),'DATE':_0xa5c1('0x61'),'HOUR':'HOUR(%s)','ROUND':_0xa5c1('0x63'),'UNIX_TIMESTAMP':_0xa5c1('0x64')};var _0x27b1de=function(_0x2eedc7){return!_['includes']([_0xa5c1('0x66'),_0xa5c1('0x67'),'IS\x20EMPTY',_0xa5c1('0x69')],_0x2eedc7);};var _0x3e56b0=function(_0x377b99){if(!_0x377b99||!_0x377b99['rules'][_0xa5c1('0x39')]){return'';}for(var _0x2bd068='(',_0x2f5985=0x0;_0x2f5985<_0x377b99['rules'][_0xa5c1('0x39')];_0x2f5985+=0x1){_0x2f5985>0x0&&(_0x2bd068+='\x20'+_0x377b99[_0xa5c1('0x6b')]+'\x20');_0x2bd068+=_0x377b99['rules'][_0x2f5985][_0xa5c1('0x6c')]?_0x3e56b0(_0x377b99['rules'][_0x2f5985][_0xa5c1('0x6c')]):_0x377b99[_0xa5c1('0x6a')][_0x2f5985][_0xa5c1('0x6d')]+'\x20'+_0x377b99['rules'][_0x2f5985][_0xa5c1('0x6e')]+(_0x27b1de(_0x377b99['rules'][_0x2f5985][_0xa5c1('0x6e')])?'\x20'+_0x377b99[_0xa5c1('0x6a')][_0x2f5985][_0xa5c1('0x6f')]:'');}return _0x2bd068+')';};var _0x5cc94c={'where':{'id':_0x9879f9['id']}},_0x160153,_0x10556a,_0xdc16f5,_0x2a6830,_0x142817;_0x5cc94c=_[_0xa5c1('0x3f')]({},_0x5cc94c,_0x12eba9);return db[_0xa5c1('0x2f')][_0xa5c1('0x4b')](_0x5cc94c)[_0xa5c1('0x24')](function(_0x25eefc){if(_0x25eefc){_0x160153=_0x25eefc;return _0x25eefc['getFields']();}return null;})[_0xa5c1('0x24')](function(_0x2044ef){if(_0x2044ef){if(!_0x2044ef[_0xa5c1('0x39')]){throw new db[(_0xa5c1('0x70'))][(_0xa5c1('0x71'))](_0xa5c1('0x8f'),0x193);}_0x10556a=_0x2044ef;return db[_0xa5c1('0x72')][_0xa5c1('0x46')]({'raw':!![]});}return null;})[_0xa5c1('0x24')](function(_0x2f3a6a){if(_0x2f3a6a){_0xdc16f5=_[_0xa5c1('0x90')](_0x2f3a6a,'id');var _0x65bf45;var _0x5e4276=squel['select']();_0x5e4276[_0xa5c1('0x74')](_0x160153[_0xa5c1('0x75')]);for(var _0x587df1=0x0;_0x587df1<_0x10556a['length'];_0x587df1+=0x1){_0x65bf45=_0x10556a[_0x587df1][_0xa5c1('0x76')]?_0xdc16f5[_0x10556a[_0x587df1][_0xa5c1('0x76')]][_0xa5c1('0x77')]:_0x10556a[_0x587df1]['field'];_0x65bf45=_0x10556a[_0x587df1][_0xa5c1('0x78')]?_[_0xa5c1('0x79')](_0x3d28ed[_0x10556a[_0x587df1][_0xa5c1('0x78')]],'%s',_0x65bf45):_0x65bf45;_0x65bf45=_0x10556a[_0x587df1][_0xa5c1('0x7a')]?_[_0xa5c1('0x79')](_0x390f58[_0x10556a[_0x587df1][_0xa5c1('0x7a')]],'%s',_0x65bf45):_0x65bf45;if(_0x10556a[_0x587df1]['groupBy']){_0x5e4276['group'](_0x65bf45);}_0x10556a[_0x587df1][_0xa5c1('0x7d')]&&_0x5e4276[_0xa5c1('0x7c')](_0x65bf45,_0x10556a[_0x587df1][_0xa5c1('0x7d')]===_0xa5c1('0x91')?![]:!![]);_0x5e4276[_0xa5c1('0x6d')](_0x65bf45,_0x10556a[_0x587df1][_0xa5c1('0x92')]||_0x65bf45);}if(_0x160153['joins']){_0x160153[_0xa5c1('0x7e')]=JSON[_0xa5c1('0x7f')](_0x160153[_0xa5c1('0x7e')]);for(var _0x53eed0=0x0;_0x53eed0<_0x160153[_0xa5c1('0x7e')][_0xa5c1('0x39')];_0x53eed0+=0x1){if(_0x160153['joins'][_0x53eed0][_0xa5c1('0x40')]&&_[_0xa5c1('0x65')](_0x55c619,_0x160153[_0xa5c1('0x7e')][_0x53eed0]['type'])&&_0x160153[_0xa5c1('0x7e')][_0x53eed0][_0xa5c1('0x80')]&&_0x160153[_0xa5c1('0x7e')][_0x53eed0]['foreignTable']&&_0x160153['joins'][_0x53eed0][_0xa5c1('0x82')]){_0x5e4276[_0x160153[_0xa5c1('0x7e')][_0x53eed0][_0xa5c1('0x40')]](_0x160153[_0xa5c1('0x7e')][_0x53eed0][_0xa5c1('0x81')],null,util[_0xa5c1('0x7a')](_0xa5c1('0x83'),_0x160153[_0xa5c1('0x75')],_0x160153[_0xa5c1('0x7e')][_0x53eed0][_0xa5c1('0x80')],_0x160153[_0xa5c1('0x7e')][_0x53eed0][_0xa5c1('0x81')],_0x160153[_0xa5c1('0x7e')][_0x53eed0][_0xa5c1('0x82')]));}}}if(_0x160153[_0xa5c1('0x84')]){_0x160153[_0xa5c1('0x84')]=JSON['parse'](_0x160153[_0xa5c1('0x84')]);_0x5e4276['where'](_0x3e56b0(_0x160153[_0xa5c1('0x84')][_0xa5c1('0x6c')]));}_0x142817=_0x5e4276[_0xa5c1('0x93')]();_0x5e4276[_0xa5c1('0x3b')](_0x5a695b);_0x5e4276[_0xa5c1('0x1e')](0x0);return;}})['then'](function(){if(_0x1d8631[_0xa5c1('0x94')]===_0xa5c1('0x95')){return null;}var _0x3d03ad=_[_0xa5c1('0x3f')](_0x1d8631,{'name':_0x1d8631[_0xa5c1('0x96')]||_0x1d8631[_0xa5c1('0x2b')]||_0x160153[_0xa5c1('0x2b')],'basename':_0x3986e1,'savename':util[_0xa5c1('0x7a')]('%s-%s.%s',_0x1d8631['name']||_0x160153[_0xa5c1('0x2b')],require(_0xa5c1('0x97'))[_0xa5c1('0x98')](0x4),_0x1d8631[_0xa5c1('0x94')]||_0xa5c1('0x99')),'reportId':_0x160153['id'],'reportType':_0xa5c1('0x9a')});return db['AnalyticExtractedReport']['create'](_0x3d03ad,{'raw':!![]});})[_0xa5c1('0x24')](function(_0x1a1a1f){if(_0x160153[_0xa5c1('0x75')]===_0xa5c1('0x9b')){_0x142817[_0xa5c1('0x3e')](_0x160153[_0xa5c1('0x75')]+_0xa5c1('0x9c'),_0x1d8631['startDate'],_0x1d8631[_0xa5c1('0x9d')]);}else{_0x142817[_0xa5c1('0x3e')](_0x160153[_0xa5c1('0x75')]+_0xa5c1('0x9e'),_0x1d8631[_0xa5c1('0x9f')],_0x1d8631['endDate']);}if(_0x1a1a1f){logger[_0xa5c1('0xa0')](_0xa5c1('0xa1'),_0x142817[_0xa5c1('0x87')]());require(_0xa5c1('0xa2'))[_0xa5c1('0xa3')](path[_0xa5c1('0x8b')](__dirname,_0xa5c1('0xa4'),_0x1a1a1f[_0xa5c1('0x94')]),[_0x1a1a1f['id'],_0x142817[_0xa5c1('0x87')](),path[_0xa5c1('0x8b')](__dirname,'../../files/reports',_0x1a1a1f['savename']),_0x3986e1]);return _0x1a1a1f;}else{var _0x4c7233=squel['select']();_0x4c7233['from']('('+_0x142817['toString']()+')',_0xa5c1('0xa5'));_0x4c7233[_0xa5c1('0x6d')]('COUNT(*)',_0xa5c1('0x1f'));_0x142817['limit'](_0x1d8631['limit']||_0x5a695b);_0x142817['offset'](_0x1d8631[_0xa5c1('0x1e')]||0x0);return dbH[_0xa5c1('0x88')][_0xa5c1('0x34')](_0x4c7233[_0xa5c1('0x87')](),{'type':dbH[_0xa5c1('0x88')][_0xa5c1('0x89')][_0xa5c1('0x8a')]})[_0xa5c1('0x24')](function(_0xe361bd){if(!_0xe361bd['length']){_0x2a6830=0x0;}else{_0x2a6830=_0xe361bd[0x0][_0xa5c1('0x1f')]||0x0;}return dbH['sequelize']['query'](_0x142817[_0xa5c1('0x87')](),{'type':dbH[_0xa5c1('0x88')][_0xa5c1('0x89')][_0xa5c1('0x8a')]});})['then'](function(_0xde9d47){return{'rows':_0xde9d47||[],'count':_0x2a6830};});}});}exports[_0xa5c1('0xa6')]=function(_0x1052e5,_0x35c27f){return runReport(_0x1052e5[_0xa5c1('0x49')],_0x1052e5['query'],_0x1052e5[_0xa5c1('0x43')])['then'](respondWithResult(_0x35c27f,null))[_0xa5c1('0x47')](handleError(_0x35c27f,null));};exports[_0xa5c1('0xa7')]=runReport;exports[_0xa5c1('0x34')]=function(_0x178cef,_0x26f958){var _0x383e35=0xa;var _0x1baaeb=[_0xa5c1('0x8b'),'left_join',_0xa5c1('0x57'),_0xa5c1('0x8d')];var _0x1e4df3={'SUM':'SUM(%s)','COUNT':'COUNT(%s)','COUNT DISTINCT':'COUNT(DISTINCT\x20%s)','MAX':_0xa5c1('0x5b'),'MIN':_0xa5c1('0x5c'),'AVG':_0xa5c1('0x5d'),'GROUP_CONCAT':_0xa5c1('0x8e'),'GROUP_CONCAT ASC':_0xa5c1('0x5e'),'GROUP_CONCAT DESC':_0xa5c1('0x5f')};var _0x5f3c50={'SEC_TO_TIME':_0xa5c1('0x60'),'DATE':_0xa5c1('0x61'),'HOUR':'HOUR(%s)','ROUND':'ROUND(%s)','UNIX_TIMESTAMP':_0xa5c1('0x64')};var _0x4de217=function(_0x2eaacf){return!_['includes']([_0xa5c1('0x66'),_0xa5c1('0x67'),'IS\x20EMPTY',_0xa5c1('0x69')],_0x2eaacf);};var _0x86ba1a=function(_0x20e7bf){if(!_0x20e7bf||!_0x20e7bf[_0xa5c1('0x6a')]['length']){return'';}for(var _0x4a108f='(',_0xd1e09b=0x0;_0xd1e09b<_0x20e7bf[_0xa5c1('0x6a')][_0xa5c1('0x39')];_0xd1e09b+=0x1){_0xd1e09b>0x0&&(_0x4a108f+='\x20'+_0x20e7bf[_0xa5c1('0x6b')]+'\x20');_0x4a108f+=_0x20e7bf['rules'][_0xd1e09b][_0xa5c1('0x6c')]?_0x86ba1a(_0x20e7bf[_0xa5c1('0x6a')][_0xd1e09b]['group']):_0x20e7bf[_0xa5c1('0x6a')][_0xd1e09b][_0xa5c1('0x6d')]+'\x20'+_0x20e7bf['rules'][_0xd1e09b][_0xa5c1('0x6e')]+(_0x4de217(_0x20e7bf[_0xa5c1('0x6a')][_0xd1e09b][_0xa5c1('0x6e')])?'\x20'+_0x20e7bf[_0xa5c1('0x6a')][_0xd1e09b][_0xa5c1('0x6f')]:'');}return _0x4a108f+')';};var _0x2f0384={'where':{'id':_0x178cef['params']['id']}},_0x22a472,_0x2806bc,_0x13334f,_0x20d1bc,_0x374edb;_0x2f0384=_['merge']({},_0x2f0384,_0x178cef[_0xa5c1('0x43')]);return db[_0xa5c1('0x2f')][_0xa5c1('0x4b')](_0x2f0384)[_0xa5c1('0x24')](function(_0x6068a5){if(_0x6068a5){_0x22a472=_0x6068a5;return _0x6068a5[_0xa5c1('0xa8')]();}return null;})['then'](function(_0x22bc20){if(_0x22bc20){if(!_0x22bc20[_0xa5c1('0x39')]){throw new db[(_0xa5c1('0x70'))][(_0xa5c1('0x71'))]('Please\x20insert\x20at\x20least\x20one\x20field',0x193);}_0x2806bc=_0x22bc20;return db[_0xa5c1('0x72')][_0xa5c1('0x46')]({'raw':!![]});}return null;})[_0xa5c1('0x24')](function(_0x1d40dd){if(_0x1d40dd){_0x13334f=_[_0xa5c1('0x90')](_0x1d40dd,'id');var _0x1b2b3b;var _0x1d5cca=squel[_0xa5c1('0x73')]();_0x1d5cca[_0xa5c1('0x74')](_0x22a472[_0xa5c1('0x75')]);for(var _0x4ce0c5=0x0;_0x4ce0c5<_0x2806bc['length'];_0x4ce0c5+=0x1){_0x1b2b3b=_0x2806bc[_0x4ce0c5][_0xa5c1('0x76')]?_0x13334f[_0x2806bc[_0x4ce0c5][_0xa5c1('0x76')]]['metric']:_0x2806bc[_0x4ce0c5][_0xa5c1('0x6d')];_0x1b2b3b=_0x2806bc[_0x4ce0c5]['function']?_[_0xa5c1('0x79')](_0x1e4df3[_0x2806bc[_0x4ce0c5][_0xa5c1('0x78')]],'%s',_0x1b2b3b):_0x1b2b3b;_0x1b2b3b=_0x2806bc[_0x4ce0c5]['format']?_[_0xa5c1('0x79')](_0x5f3c50[_0x2806bc[_0x4ce0c5][_0xa5c1('0x7a')]],'%s',_0x1b2b3b):_0x1b2b3b;if(_0x2806bc[_0x4ce0c5][_0xa5c1('0x7b')]){_0x1d5cca[_0xa5c1('0x6c')](_0x1b2b3b);}_0x2806bc[_0x4ce0c5]['orderBy']&&_0x1d5cca['order'](_0x1b2b3b,_0x2806bc[_0x4ce0c5]['orderBy']===_0xa5c1('0x91')?![]:!![]);_0x1d5cca[_0xa5c1('0x6d')](_0x1b2b3b,_0x2806bc[_0x4ce0c5][_0xa5c1('0x92')]||_0x1b2b3b);}if(_0x22a472[_0xa5c1('0x7e')]){_0x22a472[_0xa5c1('0x7e')]=JSON[_0xa5c1('0x7f')](_0x22a472[_0xa5c1('0x7e')]);for(var _0x52f625=0x0;_0x52f625<_0x22a472[_0xa5c1('0x7e')]['length'];_0x52f625+=0x1){if(_0x22a472['joins'][_0x52f625][_0xa5c1('0x40')]&&_[_0xa5c1('0x65')](_0x1baaeb,_0x22a472['joins'][_0x52f625]['type'])&&_0x22a472['joins'][_0x52f625]['parentKey']&&_0x22a472['joins'][_0x52f625][_0xa5c1('0x81')]&&_0x22a472[_0xa5c1('0x7e')][_0x52f625]['foreignKey']){_0x1d5cca[_0x22a472[_0xa5c1('0x7e')][_0x52f625][_0xa5c1('0x40')]](_0x22a472['joins'][_0x52f625][_0xa5c1('0x81')],null,util['format'](_0xa5c1('0x83'),_0x22a472['table'],_0x22a472[_0xa5c1('0x7e')][_0x52f625][_0xa5c1('0x80')],_0x22a472[_0xa5c1('0x7e')][_0x52f625]['foreignTable'],_0x22a472['joins'][_0x52f625][_0xa5c1('0x82')]));}}}if(_0x22a472[_0xa5c1('0x84')]){_0x22a472['conditions']=JSON[_0xa5c1('0x7f')](_0x22a472[_0xa5c1('0x84')]);_0x1d5cca[_0xa5c1('0x3e')](_0x86ba1a(_0x22a472[_0xa5c1('0x84')][_0xa5c1('0x6c')]));}_0x374edb=_0x1d5cca[_0xa5c1('0x93')]();_0x1d5cca[_0xa5c1('0x3b')](_0x383e35);_0x1d5cca[_0xa5c1('0x1e')](0x0);logger[_0xa5c1('0x85')](_0xa5c1('0x86'),_0x1d5cca[_0xa5c1('0x87')]());return dbH[_0xa5c1('0x88')]['query'](_0x1d5cca[_0xa5c1('0x87')](),{'type':dbH[_0xa5c1('0x88')]['QueryTypes'][_0xa5c1('0x8a')]});}})[_0xa5c1('0x24')](function(){return{'sql':_0x374edb['toString']()};})['then'](respondWithResult(_0x26f958,null))[_0xa5c1('0x47')](handleError(_0x26f958,null));};