Built motion from commit (unavailable).|2.4.4
[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 _0xfdca=['IS\x20NULL','IS\x20NOT\x20NULL','operator','groupBy','orderBy','clone','output','%s-%s.%s','generate','csv','custom','cdr','.calldate\x20BETWEEN\x20?\x20AND\x20?','.createdAt\x20BETWEEN\x20?\x20AND\x20?','info','Run\x20Query:','child_process','fork','../../components/export/','../../files/reports','countTable','run','html-pdf','eml-format','rimraf','fast-json-patch','request-promise','moment','mustache','util','path','sox','ejs','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/environment','status','json','offset','set','Content-Range','apply','update','then','destroy','get','CustomReports','UserProfileResource','end','sendStatus','stack','name','send','index','rawAttributes','model','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','limit','order','sort','where','pick','merge','type','VIRTUAL','field','filter','options','count','includeAll','include','AnalyticCustomReport','findAll','rows','show','params','find','catch','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','Reports','UserProfileSection','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','preview','join','left_join','cross_join','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)','HOUR(%s)','ROUND(%s)','UNIX_TIMESTAMP(%s)','IS\x20EMPTY','IS\x20NOT\x20EMPTY','rules','group','condition','value','getFields','Sequelize','ValidationErrorItem','Please\x20insert\x20at\x20least\x20one\x20field','AnalyticMetric','keyBy','select','from','table','MetricId','metric','function','format','replace','DESC','alias','joins','parse','includes','parentKey','foreignKey','foreignTable','%s.%s\x20=\x20%s.%s','conditions','debug','Limited\x20Query:','toString','sequelize','QueryTypes','SELECT','right_join','SUM(%s)','GROUP_CONCAT(%s)','SEC_TO_TIME(%s)','DATE(%s)'];(function(_0x129b2d,_0xee4dd4){var _0x2d5219=function(_0x97eda4){while(--_0x97eda4){_0x129b2d['push'](_0x129b2d['shift']());}};_0x2d5219(++_0xee4dd4);}(_0xfdca,0x152));var _0xafdc=function(_0x247d90,_0x219a7f){_0x247d90=_0x247d90-0x0;var _0x3dd651=_0xfdca[_0x247d90];return _0x3dd651;};'use strict';var pdf=require(_0xafdc('0x0'));var emlformat=require(_0xafdc('0x1'));var rimraf=require(_0xafdc('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0xafdc('0x3'));var rp=require(_0xafdc('0x4'));var moment=require(_0xafdc('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xafdc('0x6'));var util=require(_0xafdc('0x7'));var path=require(_0xafdc('0x8'));var sox=require(_0xafdc('0x9'));var csv=require('to-csv');var ejs=require(_0xafdc('0xa'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require(_0xafdc('0xb'));var jsforce=require(_0xafdc('0xc'));var deskjs=require(_0xafdc('0xd'));var toCsv=require('to-csv');var querystring=require(_0xafdc('0xe'));var Papa=require(_0xafdc('0xf'));var Redis=require(_0xafdc('0x10'));var authService=require(_0xafdc('0x11'));var qs=require(_0xafdc('0x12'));var hardwareService=require(_0xafdc('0x13'));var logger=require(_0xafdc('0x14'))(_0xafdc('0x15'));var utils=require('../../config/utils');var config=require(_0xafdc('0x16'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x12d423,_0x2f19a3){_0x2f19a3=_0x2f19a3||0xcc;return function(_0x4f8d5b){if(_0x4f8d5b){return _0x12d423['sendStatus'](_0x2f19a3);}return _0x12d423[_0xafdc('0x17')](_0x2f19a3)['end']();};}function respondWithResult(_0x56e59a,_0x4f1298){_0x4f1298=_0x4f1298||0xc8;return function(_0x1209e3){if(_0x1209e3){return _0x56e59a[_0xafdc('0x17')](_0x4f1298)[_0xafdc('0x18')](_0x1209e3);}};}function respondWithFilteredResult(_0x369481,_0x29daae){return function(_0x467a37){if(_0x467a37){var _0x28986b=_0x467a37['count'],_0x234b05=_0x29daae[_0xafdc('0x19')],_0x15eea2=_0x29daae[_0xafdc('0x19')]+_0x29daae['limit'],_0x2502de;if(_0x15eea2>=_0x28986b){_0x15eea2=_0x28986b;_0x2502de=0xc8;}else{_0x2502de=0xce;}_0x369481['status'](_0x2502de);return _0x369481[_0xafdc('0x1a')](_0xafdc('0x1b'),_0x234b05+'-'+_0x15eea2+'/'+_0x28986b)[_0xafdc('0x18')](_0x467a37);}return null;};}function patchUpdates(_0x41cf4f){return function(_0x59e6ea){try{jsonpatch[_0xafdc('0x1c')](_0x59e6ea,_0x41cf4f,!![]);}catch(_0x50db12){return BPromise['reject'](_0x50db12);}return _0x59e6ea['save']();};}function saveUpdates(_0x554856,_0x5d0a4e){return function(_0x1f8026){if(_0x1f8026){return _0x1f8026[_0xafdc('0x1d')](_0x554856)[_0xafdc('0x1e')](function(_0x28cd63){return _0x28cd63;});}return null;};}function removeEntity(_0x9e4164,_0x16ef5f){return function(_0x5a8d7b){if(_0x5a8d7b){return _0x5a8d7b[_0xafdc('0x1f')]()[_0xafdc('0x1e')](function(){var _0x2f091d=_0x5a8d7b[_0xafdc('0x20')]({'plain':!![]});var _0x25f71f=_0xafdc('0x21');return db[_0xafdc('0x22')][_0xafdc('0x1f')]({'where':{'type':_0x25f71f,'resourceId':_0x2f091d['id']}})[_0xafdc('0x1e')](function(){return _0x5a8d7b;});})[_0xafdc('0x1e')](function(){_0x9e4164[_0xafdc('0x17')](0xcc)[_0xafdc('0x23')]();});}};}function handleEntityNotFound(_0x21c0e3,_0x576942){return function(_0x53c937){if(!_0x53c937){_0x21c0e3[_0xafdc('0x24')](0x194);}return _0x53c937;};}function handleError(_0x4b4918,_0x4c3f91){_0x4c3f91=_0x4c3f91||0x1f4;return function(_0x54bdf9){logger['error'](_0x54bdf9[_0xafdc('0x25')]);if(_0x54bdf9[_0xafdc('0x26')]){delete _0x54bdf9['name'];}_0x4b4918[_0xafdc('0x17')](_0x4c3f91)[_0xafdc('0x27')](_0x54bdf9);};}exports[_0xafdc('0x28')]=function(_0x16abda,_0x47eaf7){var _0x616467={},_0x3a5b75={},_0xb16e85={'count':0x0,'rows':[]};var _0x31ba77=db['AnalyticCustomReport'][_0xafdc('0x29')];_0x3a5b75[_0xafdc('0x2a')]=_['keys'](_0x31ba77);_0x3a5b75['query']=_[_0xafdc('0x2b')](_0x16abda[_0xafdc('0x2c')]);_0x3a5b75[_0xafdc('0x2d')]=_[_0xafdc('0x2e')](_0x3a5b75[_0xafdc('0x2a')],_0x3a5b75[_0xafdc('0x2c')]);_0x616467[_0xafdc('0x2f')]=_[_0xafdc('0x2e')](_0x3a5b75[_0xafdc('0x2a')],qs[_0xafdc('0x30')](_0x16abda[_0xafdc('0x2c')][_0xafdc('0x30')]));_0x616467['attributes']=_0x616467[_0xafdc('0x2f')][_0xafdc('0x31')]?_0x616467[_0xafdc('0x2f')]:_0x3a5b75[_0xafdc('0x2a')];if(!_0x16abda[_0xafdc('0x2c')][_0xafdc('0x32')]('nolimit')){_0x616467[_0xafdc('0x33')]=qs['limit'](_0x16abda[_0xafdc('0x2c')][_0xafdc('0x33')]);_0x616467['offset']=qs[_0xafdc('0x19')](_0x16abda['query'][_0xafdc('0x19')]);}_0x616467[_0xafdc('0x34')]=qs['sort'](_0x16abda[_0xafdc('0x2c')][_0xafdc('0x35')]);_0x616467[_0xafdc('0x36')]=qs['filters'](_[_0xafdc('0x37')](_0x16abda[_0xafdc('0x2c')],_0x3a5b75['filters']));if(_0x16abda[_0xafdc('0x2c')]['filter']){_0x616467[_0xafdc('0x36')]=_[_0xafdc('0x38')](_0x616467[_0xafdc('0x36')],{'$or':_['map'](_0x31ba77,function(_0x410b14){if(_0x410b14[_0xafdc('0x39')]['key']!==_0xafdc('0x3a')){var _0x584c56={};_0x584c56[_0x410b14[_0xafdc('0x3b')]]={'$like':'%'+_0x16abda[_0xafdc('0x2c')][_0xafdc('0x3c')]+'%'};return _0x584c56;}})});}_0x616467=_[_0xafdc('0x38')]({},_0x616467,_0x16abda[_0xafdc('0x3d')]);var _0x4432bb={'where':_0x616467['where']};return db['AnalyticCustomReport'][_0xafdc('0x3e')](_0x4432bb)[_0xafdc('0x1e')](function(_0x132268){_0xb16e85[_0xafdc('0x3e')]=_0x132268;if(_0x16abda[_0xafdc('0x2c')][_0xafdc('0x3f')]){_0x616467[_0xafdc('0x40')]=[{'all':!![]}];}return db[_0xafdc('0x41')][_0xafdc('0x42')](_0x616467);})[_0xafdc('0x1e')](function(_0x3cc2a0){_0xb16e85[_0xafdc('0x43')]=_0x3cc2a0;return _0xb16e85;})[_0xafdc('0x1e')](respondWithFilteredResult(_0x47eaf7,_0x616467))['catch'](handleError(_0x47eaf7,null));};exports[_0xafdc('0x44')]=function(_0x75b475,_0x1fd8ed){var _0x57e047={'raw':![],'where':{'id':_0x75b475[_0xafdc('0x45')]['id']}},_0x1e9deb={};_0x1e9deb['model']=_[_0xafdc('0x2b')](db[_0xafdc('0x41')][_0xafdc('0x29')]);_0x1e9deb[_0xafdc('0x2c')]=_[_0xafdc('0x2b')](_0x75b475[_0xafdc('0x2c')]);_0x1e9deb[_0xafdc('0x2d')]=_[_0xafdc('0x2e')](_0x1e9deb[_0xafdc('0x2a')],_0x1e9deb[_0xafdc('0x2c')]);_0x57e047['attributes']=_[_0xafdc('0x2e')](_0x1e9deb['model'],qs[_0xafdc('0x30')](_0x75b475[_0xafdc('0x2c')][_0xafdc('0x30')]));_0x57e047['attributes']=_0x57e047['attributes'][_0xafdc('0x31')]?_0x57e047[_0xafdc('0x2f')]:_0x1e9deb['model'];if(_0x75b475[_0xafdc('0x2c')]['includeAll']){_0x57e047[_0xafdc('0x40')]=[{'all':!![]}];}_0x57e047=_[_0xafdc('0x38')]({},_0x57e047,_0x75b475[_0xafdc('0x3d')]);return db[_0xafdc('0x41')][_0xafdc('0x46')](_0x57e047)[_0xafdc('0x1e')](handleEntityNotFound(_0x1fd8ed,null))['then'](respondWithResult(_0x1fd8ed,null))[_0xafdc('0x47')](handleError(_0x1fd8ed,null));};exports[_0xafdc('0x48')]=function(_0x3267e4,_0x20bbf4){return db[_0xafdc('0x41')][_0xafdc('0x48')](_0x3267e4[_0xafdc('0x49')],{})[_0xafdc('0x1e')](function(_0x30de00){var _0x3c7aa8=_0x3267e4[_0xafdc('0x4a')][_0xafdc('0x20')]({'plain':!![]});if(!_0x3c7aa8)throw new Error(_0xafdc('0x4b'));if(_0x3c7aa8[_0xafdc('0x4c')]===_0xafdc('0x4a')){var _0x29c73b=_0x30de00['get']({'plain':!![]});var _0x5412bb=_0xafdc('0x4d');return db[_0xafdc('0x4e')]['find']({'where':{'name':_0x5412bb,'userProfileId':_0x3c7aa8[_0xafdc('0x4f')]},'raw':!![]})[_0xafdc('0x1e')](function(_0x298cd9){if(_0x298cd9&&_0x298cd9['autoAssociation']===0x0){return db['UserProfileResource'][_0xafdc('0x48')]({'name':_0x29c73b['name'],'resourceId':_0x29c73b['id'],'type':'CustomReports','sectionId':_0x298cd9['id']},{})[_0xafdc('0x1e')](function(){return _0x30de00;});}else{return _0x30de00;}})[_0xafdc('0x47')](function(_0x171ae9){logger['error'](_0xafdc('0x50'),_0x171ae9);throw _0x171ae9;});}return _0x30de00;})[_0xafdc('0x1e')](respondWithResult(_0x20bbf4,0xc9))['catch'](handleError(_0x20bbf4,null));};exports[_0xafdc('0x1d')]=function(_0x243bde,_0x6a8756){if(_0x243bde[_0xafdc('0x49')]['id']){delete _0x243bde[_0xafdc('0x49')]['id'];}return db[_0xafdc('0x41')][_0xafdc('0x46')]({'where':{'id':_0x243bde[_0xafdc('0x45')]['id']}})[_0xafdc('0x1e')](handleEntityNotFound(_0x6a8756,null))['then'](saveUpdates(_0x243bde[_0xafdc('0x49')],null))['then'](respondWithResult(_0x6a8756,null))['catch'](handleError(_0x6a8756,null));};exports[_0xafdc('0x1f')]=function(_0x470253,_0x987973){return db[_0xafdc('0x41')][_0xafdc('0x46')]({'where':{'id':_0x470253['params']['id']}})['then'](handleEntityNotFound(_0x987973,null))[_0xafdc('0x1e')](removeEntity(_0x987973,null))[_0xafdc('0x47')](handleError(_0x987973,null));};exports[_0xafdc('0x51')]=function(_0x5a8cfa,_0x488b42){var _0x2d3395=0xa;var _0x24cb8b=[_0xafdc('0x52'),_0xafdc('0x53'),'right_join',_0xafdc('0x54')];var _0x29544d={'SUM':'SUM(%s)','COUNT':_0xafdc('0x55'),'COUNT DISTINCT':_0xafdc('0x56'),'MAX':_0xafdc('0x57'),'MIN':_0xafdc('0x58'),'AVG':_0xafdc('0x59'),'GROUP_CONCAT':'GROUP_CONCAT(%s)','GROUP_CONCAT ASC':_0xafdc('0x5a'),'GROUP_CONCAT DESC':_0xafdc('0x5b')};var _0x27a2d6={'SEC_TO_TIME':'SEC_TO_TIME(%s)','DATE':'DATE(%s)','HOUR':_0xafdc('0x5c'),'ROUND':_0xafdc('0x5d'),'UNIX_TIMESTAMP':_0xafdc('0x5e')};var _0x3c5fc6=function(_0xa345cd){return!_['includes'](['IS\x20NULL','IS\x20NOT\x20NULL',_0xafdc('0x5f'),_0xafdc('0x60')],_0xa345cd);};var _0x33ea22=function(_0x331cc5){if(!_0x331cc5||!_0x331cc5[_0xafdc('0x61')][_0xafdc('0x31')]){return'';}for(var _0x77a0a0='(',_0x32693c=0x0;_0x32693c<_0x331cc5['rules'][_0xafdc('0x31')];_0x32693c+=0x1){_0x32693c>0x0&&(_0x77a0a0+='\x20'+_0x331cc5['operator']+'\x20');_0x77a0a0+=_0x331cc5[_0xafdc('0x61')][_0x32693c]['group']?_0x33ea22(_0x331cc5[_0xafdc('0x61')][_0x32693c][_0xafdc('0x62')]):_0x331cc5[_0xafdc('0x61')][_0x32693c]['field']+'\x20'+_0x331cc5[_0xafdc('0x61')][_0x32693c][_0xafdc('0x63')]+(_0x3c5fc6(_0x331cc5[_0xafdc('0x61')][_0x32693c][_0xafdc('0x63')])?'\x20'+_0x331cc5[_0xafdc('0x61')][_0x32693c][_0xafdc('0x64')]:'');}return _0x77a0a0+')';};var _0x98297c={'where':{'id':_0x5a8cfa['params']['id']}},_0x5078e8,_0x32e09f,_0x1ed266,_0x3fae49,_0x29e015;_0x98297c=_[_0xafdc('0x38')]({},_0x98297c,_0x5a8cfa[_0xafdc('0x3d')]);return db[_0xafdc('0x41')][_0xafdc('0x46')](_0x98297c)['then'](function(_0x56352f){if(_0x56352f){_0x5078e8=_0x56352f;return _0x56352f[_0xafdc('0x65')]();}return null;})[_0xafdc('0x1e')](function(_0x245601){if(_0x245601){if(!_0x245601['length']){throw new db[(_0xafdc('0x66'))][(_0xafdc('0x67'))](_0xafdc('0x68'),0x193);}_0x32e09f=_0x245601;return db[_0xafdc('0x69')][_0xafdc('0x42')]({'raw':!![]});}return null;})[_0xafdc('0x1e')](function(_0x1a9f32){if(_0x1a9f32){_0x1ed266=_[_0xafdc('0x6a')](_0x1a9f32,'id');var _0x5cfdcb;var _0x3077af=squel[_0xafdc('0x6b')]();_0x3077af[_0xafdc('0x6c')](_0x5078e8[_0xafdc('0x6d')]);for(var _0x752241=0x0;_0x752241<_0x32e09f['length'];_0x752241+=0x1){_0x5cfdcb=_0x32e09f[_0x752241][_0xafdc('0x6e')]?_0x1ed266[_0x32e09f[_0x752241][_0xafdc('0x6e')]][_0xafdc('0x6f')]:_0x32e09f[_0x752241]['field'];_0x5cfdcb=_0x32e09f[_0x752241]['function']?_['replace'](_0x29544d[_0x32e09f[_0x752241][_0xafdc('0x70')]],'%s',_0x5cfdcb):_0x5cfdcb;_0x5cfdcb=_0x32e09f[_0x752241][_0xafdc('0x71')]?_[_0xafdc('0x72')](_0x27a2d6[_0x32e09f[_0x752241][_0xafdc('0x71')]],'%s',_0x5cfdcb):_0x5cfdcb;if(_0x32e09f[_0x752241]['groupBy']){_0x3077af['group'](_0x5cfdcb);}_0x32e09f[_0x752241]['orderBy']&&_0x3077af[_0xafdc('0x34')](_0x5cfdcb,_0x32e09f[_0x752241]['orderBy']===_0xafdc('0x73')?![]:!![]);_0x3077af[_0xafdc('0x3b')](_0x5cfdcb,_0x32e09f[_0x752241][_0xafdc('0x74')]||_0x5cfdcb);}if(_0x5078e8[_0xafdc('0x75')]){_0x5078e8[_0xafdc('0x75')]=JSON[_0xafdc('0x76')](_0x5078e8['joins']);for(var _0x4e5b00=0x0;_0x4e5b00<_0x5078e8[_0xafdc('0x75')][_0xafdc('0x31')];_0x4e5b00+=0x1){if(_0x5078e8[_0xafdc('0x75')][_0x4e5b00][_0xafdc('0x39')]&&_[_0xafdc('0x77')](_0x24cb8b,_0x5078e8[_0xafdc('0x75')][_0x4e5b00][_0xafdc('0x39')])&&_0x5078e8[_0xafdc('0x75')][_0x4e5b00][_0xafdc('0x78')]&&_0x5078e8[_0xafdc('0x75')][_0x4e5b00]['foreignTable']&&_0x5078e8['joins'][_0x4e5b00][_0xafdc('0x79')]){_0x3077af[_0x5078e8[_0xafdc('0x75')][_0x4e5b00][_0xafdc('0x39')]](_0x5078e8[_0xafdc('0x75')][_0x4e5b00][_0xafdc('0x7a')],null,util[_0xafdc('0x71')](_0xafdc('0x7b'),_0x5078e8[_0xafdc('0x6d')],_0x5078e8['joins'][_0x4e5b00]['parentKey'],_0x5078e8[_0xafdc('0x75')][_0x4e5b00][_0xafdc('0x7a')],_0x5078e8[_0xafdc('0x75')][_0x4e5b00][_0xafdc('0x79')]));}}}if(_0x5078e8[_0xafdc('0x7c')]){_0x5078e8[_0xafdc('0x7c')]=JSON[_0xafdc('0x76')](_0x5078e8[_0xafdc('0x7c')]);_0x3077af[_0xafdc('0x36')](_0x33ea22(_0x5078e8['conditions'][_0xafdc('0x62')]));}_0x29e015=_0x3077af['clone']();_0x3077af[_0xafdc('0x33')](_0x2d3395);_0x3077af[_0xafdc('0x19')](0x0);logger[_0xafdc('0x7d')](_0xafdc('0x7e'),_0x3077af[_0xafdc('0x7f')]());return db[_0xafdc('0x80')][_0xafdc('0x2c')](_0x3077af[_0xafdc('0x7f')](),{'type':db['sequelize'][_0xafdc('0x81')][_0xafdc('0x82')]});}})[_0xafdc('0x1e')](respondWithResult(_0x488b42,null))['catch'](handleError(_0x488b42,null));};function runReport(_0x45670a,_0x239732,_0x35d0c9){var _0x40e7b3=_0x239732[_0xafdc('0x26')];var _0x2672a4=0xa;var _0x443429=['join',_0xafdc('0x53'),_0xafdc('0x83'),'cross_join'];var _0x2fbb69={'SUM':_0xafdc('0x84'),'COUNT':_0xafdc('0x55'),'COUNT DISTINCT':_0xafdc('0x56'),'MAX':_0xafdc('0x57'),'MIN':_0xafdc('0x58'),'AVG':_0xafdc('0x59'),'GROUP_CONCAT':_0xafdc('0x85'),'GROUP_CONCAT ASC':_0xafdc('0x5a'),'GROUP_CONCAT DESC':_0xafdc('0x5b')};var _0x548736={'SEC_TO_TIME':_0xafdc('0x86'),'DATE':_0xafdc('0x87'),'HOUR':_0xafdc('0x5c'),'ROUND':_0xafdc('0x5d'),'UNIX_TIMESTAMP':_0xafdc('0x5e')};var _0x107992=function(_0x476f5a){return!_[_0xafdc('0x77')]([_0xafdc('0x88'),_0xafdc('0x89'),_0xafdc('0x5f'),_0xafdc('0x60')],_0x476f5a);};var _0x1ad2a6=function(_0x1db553){if(!_0x1db553||!_0x1db553['rules'][_0xafdc('0x31')]){return'';}for(var _0x1d6bab='(',_0x32b4b3=0x0;_0x32b4b3<_0x1db553[_0xafdc('0x61')]['length'];_0x32b4b3+=0x1){_0x32b4b3>0x0&&(_0x1d6bab+='\x20'+_0x1db553[_0xafdc('0x8a')]+'\x20');_0x1d6bab+=_0x1db553['rules'][_0x32b4b3][_0xafdc('0x62')]?_0x1ad2a6(_0x1db553[_0xafdc('0x61')][_0x32b4b3][_0xafdc('0x62')]):_0x1db553[_0xafdc('0x61')][_0x32b4b3]['field']+'\x20'+_0x1db553[_0xafdc('0x61')][_0x32b4b3][_0xafdc('0x63')]+(_0x107992(_0x1db553[_0xafdc('0x61')][_0x32b4b3][_0xafdc('0x63')])?'\x20'+_0x1db553['rules'][_0x32b4b3][_0xafdc('0x64')]:'');}return _0x1d6bab+')';};var _0x15a992={'where':{'id':_0x45670a['id']}},_0x2ac59f,_0x428c61,_0x4fc55a,_0x1fd617,_0x4a5072;_0x15a992=_[_0xafdc('0x38')]({},_0x15a992,_0x35d0c9);return db[_0xafdc('0x41')][_0xafdc('0x46')](_0x15a992)[_0xafdc('0x1e')](function(_0x43f059){if(_0x43f059){_0x2ac59f=_0x43f059;return _0x43f059[_0xafdc('0x65')]();}return null;})[_0xafdc('0x1e')](function(_0x2b43c8){if(_0x2b43c8){if(!_0x2b43c8[_0xafdc('0x31')]){throw new db[(_0xafdc('0x66'))][(_0xafdc('0x67'))](_0xafdc('0x68'),0x193);}_0x428c61=_0x2b43c8;return db[_0xafdc('0x69')]['findAll']({'raw':!![]});}return null;})['then'](function(_0x57a8d9){if(_0x57a8d9){_0x4fc55a=_[_0xafdc('0x6a')](_0x57a8d9,'id');var _0x499990;var _0x77379f=squel[_0xafdc('0x6b')]();_0x77379f[_0xafdc('0x6c')](_0x2ac59f[_0xafdc('0x6d')]);for(var _0xe19b35=0x0;_0xe19b35<_0x428c61[_0xafdc('0x31')];_0xe19b35+=0x1){_0x499990=_0x428c61[_0xe19b35][_0xafdc('0x6e')]?_0x4fc55a[_0x428c61[_0xe19b35][_0xafdc('0x6e')]][_0xafdc('0x6f')]:_0x428c61[_0xe19b35]['field'];_0x499990=_0x428c61[_0xe19b35]['function']?_[_0xafdc('0x72')](_0x2fbb69[_0x428c61[_0xe19b35][_0xafdc('0x70')]],'%s',_0x499990):_0x499990;_0x499990=_0x428c61[_0xe19b35][_0xafdc('0x71')]?_[_0xafdc('0x72')](_0x548736[_0x428c61[_0xe19b35][_0xafdc('0x71')]],'%s',_0x499990):_0x499990;if(_0x428c61[_0xe19b35][_0xafdc('0x8b')]){_0x77379f[_0xafdc('0x62')](_0x499990);}_0x428c61[_0xe19b35]['orderBy']&&_0x77379f['order'](_0x499990,_0x428c61[_0xe19b35][_0xafdc('0x8c')]===_0xafdc('0x73')?![]:!![]);_0x77379f[_0xafdc('0x3b')](_0x499990,_0x428c61[_0xe19b35][_0xafdc('0x74')]||_0x499990);}if(_0x2ac59f[_0xafdc('0x75')]){_0x2ac59f[_0xafdc('0x75')]=JSON[_0xafdc('0x76')](_0x2ac59f['joins']);for(var _0x337410=0x0;_0x337410<_0x2ac59f[_0xafdc('0x75')][_0xafdc('0x31')];_0x337410+=0x1){if(_0x2ac59f[_0xafdc('0x75')][_0x337410][_0xafdc('0x39')]&&_[_0xafdc('0x77')](_0x443429,_0x2ac59f[_0xafdc('0x75')][_0x337410][_0xafdc('0x39')])&&_0x2ac59f[_0xafdc('0x75')][_0x337410][_0xafdc('0x78')]&&_0x2ac59f[_0xafdc('0x75')][_0x337410][_0xafdc('0x7a')]&&_0x2ac59f['joins'][_0x337410][_0xafdc('0x79')]){_0x77379f[_0x2ac59f[_0xafdc('0x75')][_0x337410]['type']](_0x2ac59f[_0xafdc('0x75')][_0x337410][_0xafdc('0x7a')],null,util[_0xafdc('0x71')](_0xafdc('0x7b'),_0x2ac59f[_0xafdc('0x6d')],_0x2ac59f[_0xafdc('0x75')][_0x337410][_0xafdc('0x78')],_0x2ac59f['joins'][_0x337410]['foreignTable'],_0x2ac59f[_0xafdc('0x75')][_0x337410]['foreignKey']));}}}if(_0x2ac59f['conditions']){_0x2ac59f[_0xafdc('0x7c')]=JSON[_0xafdc('0x76')](_0x2ac59f[_0xafdc('0x7c')]);_0x77379f[_0xafdc('0x36')](_0x1ad2a6(_0x2ac59f[_0xafdc('0x7c')][_0xafdc('0x62')]));}_0x4a5072=_0x77379f[_0xafdc('0x8d')]();_0x77379f[_0xafdc('0x33')](_0x2672a4);_0x77379f[_0xafdc('0x19')](0x0);logger[_0xafdc('0x7d')](_0xafdc('0x7e'),_0x77379f['toString']());return db[_0xafdc('0x80')][_0xafdc('0x2c')](_0x77379f[_0xafdc('0x7f')](),{'type':db[_0xafdc('0x80')]['QueryTypes'][_0xafdc('0x82')]});}})[_0xafdc('0x1e')](function(_0x47e319){if(!_0x47e319[_0xafdc('0x31')]){throw new db['Sequelize'][(_0xafdc('0x67'))]('No\x20available\x20data',0xcc);}if(_0x239732[_0xafdc('0x8e')]==='web'){return null;}var _0x10f12a=_[_0xafdc('0x38')](_0x239732,{'name':_0x239732['fullPath']||_0x239732['name']||_0x2ac59f[_0xafdc('0x26')],'basename':_0x40e7b3,'savename':util[_0xafdc('0x71')](_0xafdc('0x8f'),_0x239732['name']||_0x2ac59f[_0xafdc('0x26')],require('randomstring')[_0xafdc('0x90')](0x4),_0x239732[_0xafdc('0x8e')]||_0xafdc('0x91')),'reportId':_0x2ac59f['id'],'reportType':_0xafdc('0x92')});return db['AnalyticExtractedReport'][_0xafdc('0x48')](_0x10f12a,{'raw':!![]});})[_0xafdc('0x1e')](function(_0x5f4b05){if(_0x2ac59f[_0xafdc('0x6d')]===_0xafdc('0x93')){_0x4a5072[_0xafdc('0x36')](_0x2ac59f[_0xafdc('0x6d')]+_0xafdc('0x94'),_0x239732['startDate'],_0x239732['endDate']);}else{_0x4a5072[_0xafdc('0x36')](_0x2ac59f[_0xafdc('0x6d')]+_0xafdc('0x95'),_0x239732['startDate'],_0x239732['endDate']);}if(_0x5f4b05){logger[_0xafdc('0x96')](_0xafdc('0x97'),_0x4a5072['toString']());require(_0xafdc('0x98'))[_0xafdc('0x99')](path[_0xafdc('0x52')](__dirname,_0xafdc('0x9a'),_0x5f4b05['output']),[_0x5f4b05['id'],_0x4a5072[_0xafdc('0x7f')](),path['join'](__dirname,_0xafdc('0x9b'),_0x5f4b05['savename']),_0x40e7b3]);return _0x5f4b05;}else{var _0x20f9b6=squel[_0xafdc('0x6b')]();_0x20f9b6[_0xafdc('0x6c')]('('+_0x4a5072['toString']()+')',_0xafdc('0x9c'));_0x20f9b6['field']('COUNT(*)',_0xafdc('0x3e'));_0x4a5072[_0xafdc('0x33')](_0x239732['limit']||_0x2672a4);_0x4a5072[_0xafdc('0x19')](_0x239732[_0xafdc('0x19')]||0x0);return db[_0xafdc('0x80')][_0xafdc('0x2c')](_0x20f9b6[_0xafdc('0x7f')](),{'type':db['sequelize'][_0xafdc('0x81')]['SELECT']})[_0xafdc('0x1e')](function(_0x324689){if(!_0x324689[_0xafdc('0x31')]){_0x1fd617=0x0;}else{_0x1fd617=_0x324689[0x0][_0xafdc('0x3e')]||0x0;}return db['sequelize'][_0xafdc('0x2c')](_0x4a5072[_0xafdc('0x7f')](),{'type':db[_0xafdc('0x80')][_0xafdc('0x81')][_0xafdc('0x82')]});})[_0xafdc('0x1e')](function(_0x3f4e85){return{'rows':_0x3f4e85||[],'count':_0x1fd617};});}});}exports[_0xafdc('0x9d')]=function(_0x563a8a,_0x498e31){return runReport(_0x563a8a['params'],_0x563a8a[_0xafdc('0x2c')],_0x563a8a[_0xafdc('0x3d')])[_0xafdc('0x1e')](respondWithResult(_0x498e31,null))['catch'](handleError(_0x498e31,null));};exports['runReport']=runReport;exports[_0xafdc('0x2c')]=function(_0x1dc473,_0x1a0db4){var _0x2d5e37=0xa;var _0x51afd5=[_0xafdc('0x52'),_0xafdc('0x53'),_0xafdc('0x83'),_0xafdc('0x54')];var _0x57a00d={'SUM':_0xafdc('0x84'),'COUNT':_0xafdc('0x55'),'COUNT DISTINCT':'COUNT(DISTINCT\x20%s)','MAX':_0xafdc('0x57'),'MIN':'MIN(%s)','AVG':'AVG(%s)','GROUP_CONCAT':_0xafdc('0x85'),'GROUP_CONCAT ASC':_0xafdc('0x5a'),'GROUP_CONCAT DESC':_0xafdc('0x5b')};var _0x562597={'SEC_TO_TIME':'SEC_TO_TIME(%s)','DATE':_0xafdc('0x87'),'HOUR':_0xafdc('0x5c'),'ROUND':_0xafdc('0x5d'),'UNIX_TIMESTAMP':'UNIX_TIMESTAMP(%s)'};var _0x233cae=function(_0x5a1458){return!_[_0xafdc('0x77')]([_0xafdc('0x88'),'IS\x20NOT\x20NULL',_0xafdc('0x5f'),_0xafdc('0x60')],_0x5a1458);};var _0xec93ba=function(_0x7207c1){if(!_0x7207c1||!_0x7207c1['rules'][_0xafdc('0x31')]){return'';}for(var _0x36f09c='(',_0x4e5698=0x0;_0x4e5698<_0x7207c1['rules'][_0xafdc('0x31')];_0x4e5698+=0x1){_0x4e5698>0x0&&(_0x36f09c+='\x20'+_0x7207c1[_0xafdc('0x8a')]+'\x20');_0x36f09c+=_0x7207c1[_0xafdc('0x61')][_0x4e5698][_0xafdc('0x62')]?_0xec93ba(_0x7207c1[_0xafdc('0x61')][_0x4e5698][_0xafdc('0x62')]):_0x7207c1['rules'][_0x4e5698][_0xafdc('0x3b')]+'\x20'+_0x7207c1[_0xafdc('0x61')][_0x4e5698]['condition']+(_0x233cae(_0x7207c1[_0xafdc('0x61')][_0x4e5698][_0xafdc('0x63')])?'\x20'+_0x7207c1[_0xafdc('0x61')][_0x4e5698]['value']:'');}return _0x36f09c+')';};var _0x11f5b9={'where':{'id':_0x1dc473[_0xafdc('0x45')]['id']}},_0x2b71b1,_0x5e2667,_0x449abf,_0x60fb14,_0x11a81f;_0x11f5b9=_['merge']({},_0x11f5b9,_0x1dc473[_0xafdc('0x3d')]);return db[_0xafdc('0x41')][_0xafdc('0x46')](_0x11f5b9)[_0xafdc('0x1e')](function(_0x5b18da){if(_0x5b18da){_0x2b71b1=_0x5b18da;return _0x5b18da[_0xafdc('0x65')]();}return null;})['then'](function(_0x30cddb){if(_0x30cddb){if(!_0x30cddb[_0xafdc('0x31')]){throw new db['Sequelize'][(_0xafdc('0x67'))](_0xafdc('0x68'),0x193);}_0x5e2667=_0x30cddb;return db[_0xafdc('0x69')]['findAll']({'raw':!![]});}return null;})[_0xafdc('0x1e')](function(_0x5dc1f2){if(_0x5dc1f2){_0x449abf=_['keyBy'](_0x5dc1f2,'id');var _0x58a414;var _0x385547=squel[_0xafdc('0x6b')]();_0x385547[_0xafdc('0x6c')](_0x2b71b1[_0xafdc('0x6d')]);for(var _0x3b7cae=0x0;_0x3b7cae<_0x5e2667[_0xafdc('0x31')];_0x3b7cae+=0x1){_0x58a414=_0x5e2667[_0x3b7cae]['MetricId']?_0x449abf[_0x5e2667[_0x3b7cae]['MetricId']][_0xafdc('0x6f')]:_0x5e2667[_0x3b7cae][_0xafdc('0x3b')];_0x58a414=_0x5e2667[_0x3b7cae][_0xafdc('0x70')]?_[_0xafdc('0x72')](_0x57a00d[_0x5e2667[_0x3b7cae][_0xafdc('0x70')]],'%s',_0x58a414):_0x58a414;_0x58a414=_0x5e2667[_0x3b7cae][_0xafdc('0x71')]?_[_0xafdc('0x72')](_0x562597[_0x5e2667[_0x3b7cae][_0xafdc('0x71')]],'%s',_0x58a414):_0x58a414;if(_0x5e2667[_0x3b7cae][_0xafdc('0x8b')]){_0x385547[_0xafdc('0x62')](_0x58a414);}_0x5e2667[_0x3b7cae][_0xafdc('0x8c')]&&_0x385547[_0xafdc('0x34')](_0x58a414,_0x5e2667[_0x3b7cae][_0xafdc('0x8c')]===_0xafdc('0x73')?![]:!![]);_0x385547[_0xafdc('0x3b')](_0x58a414,_0x5e2667[_0x3b7cae]['alias']||_0x58a414);}if(_0x2b71b1['joins']){_0x2b71b1['joins']=JSON[_0xafdc('0x76')](_0x2b71b1[_0xafdc('0x75')]);for(var _0x4c31c6=0x0;_0x4c31c6<_0x2b71b1[_0xafdc('0x75')][_0xafdc('0x31')];_0x4c31c6+=0x1){if(_0x2b71b1['joins'][_0x4c31c6]['type']&&_[_0xafdc('0x77')](_0x51afd5,_0x2b71b1[_0xafdc('0x75')][_0x4c31c6]['type'])&&_0x2b71b1['joins'][_0x4c31c6][_0xafdc('0x78')]&&_0x2b71b1['joins'][_0x4c31c6][_0xafdc('0x7a')]&&_0x2b71b1[_0xafdc('0x75')][_0x4c31c6][_0xafdc('0x79')]){_0x385547[_0x2b71b1[_0xafdc('0x75')][_0x4c31c6][_0xafdc('0x39')]](_0x2b71b1[_0xafdc('0x75')][_0x4c31c6][_0xafdc('0x7a')],null,util[_0xafdc('0x71')](_0xafdc('0x7b'),_0x2b71b1[_0xafdc('0x6d')],_0x2b71b1[_0xafdc('0x75')][_0x4c31c6][_0xafdc('0x78')],_0x2b71b1[_0xafdc('0x75')][_0x4c31c6][_0xafdc('0x7a')],_0x2b71b1['joins'][_0x4c31c6][_0xafdc('0x79')]));}}}if(_0x2b71b1[_0xafdc('0x7c')]){_0x2b71b1[_0xafdc('0x7c')]=JSON[_0xafdc('0x76')](_0x2b71b1[_0xafdc('0x7c')]);_0x385547[_0xafdc('0x36')](_0xec93ba(_0x2b71b1[_0xafdc('0x7c')][_0xafdc('0x62')]));}_0x11a81f=_0x385547[_0xafdc('0x8d')]();_0x385547[_0xafdc('0x33')](_0x2d5e37);_0x385547[_0xafdc('0x19')](0x0);logger[_0xafdc('0x7d')]('Limited\x20Query:',_0x385547[_0xafdc('0x7f')]());return db[_0xafdc('0x80')][_0xafdc('0x2c')](_0x385547['toString'](),{'type':db['sequelize'][_0xafdc('0x81')][_0xafdc('0x82')]});}})[_0xafdc('0x1e')](function(){return{'sql':_0x11a81f[_0xafdc('0x7f')]()};})[_0xafdc('0x1e')](respondWithResult(_0x1a0db4,null))[_0xafdc('0x47')](handleError(_0x1a0db4,null));};