Built motion from commit d1eab355.|2.6.28
[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 _0x3301=['group','condition','value','getFields','Sequelize','Please\x20insert\x20at\x20least\x20one\x20field','AnalyticMetric','keyBy','from','metric','replace','format','groupBy','orderBy','DESC','field','alias','joins','parentKey','foreignKey','foreignTable','%s.%s\x20=\x20%s.%s','conditions','clone','Limited\x20Query:','toString','sequelize','SELECT','left_join','IS\x20EMPTY','ValidationErrorItem','select','table','MetricId','parse','output','web','%s-%s.%s','randomstring','generate','csv','custom','AnalyticExtractedReport','cdr','.calldate\x20BETWEEN\x20?\x20AND\x20?','startDate','endDate','.createdAt\x20BETWEEN\x20?\x20AND\x20?','info','Run\x20Query:','child_process','../../components/export/','../../files/reports','savename','COUNT(*)','QueryTypes','run','runReport','COUNT(DISTINCT\x20%s)','function','debug','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','to-csv','fs-extra','lodash','jsforce','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','dbH','sendStatus','status','end','json','undefined','limit','count','offset','set','Content-Range','apply','reject','save','update','then','destroy','get','CustomReports','error','stack','name','send','index','map','rawAttributes','type','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','VIRTUAL','filter','AnalyticCustomReport','includeAll','include','findAll','show','params','keys','merge','options','catch','create','body','user','role','Reports','UserProfileSection','find','autoAssociation','preview','join','right_join','cross_join','SUM(%s)','COUNT(%s)','MAX(%s)','MIN(%s)','AVG(%s)','GROUP_CONCAT(%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\x20NOT\x20EMPTY','operator','rules'];(function(_0x403f5f,_0x283f67){var _0x15b1cd=function(_0x238cab){while(--_0x238cab){_0x403f5f['push'](_0x403f5f['shift']());}};_0x15b1cd(++_0x283f67);}(_0x3301,0xe4));var _0x1330=function(_0x4f526c,_0x6c4dbe){_0x4f526c=_0x4f526c-0x0;var _0x38a51e=_0x3301[_0x4f526c];return _0x38a51e;};'use strict';var emlformat=require(_0x1330('0x0'));var rimraf=require(_0x1330('0x1'));var zipdir=require(_0x1330('0x2'));var jsonpatch=require(_0x1330('0x3'));var rp=require(_0x1330('0x4'));var moment=require(_0x1330('0x5'));var BPromise=require(_0x1330('0x6'));var Mustache=require(_0x1330('0x7'));var util=require('util');var path=require(_0x1330('0x8'));var sox=require('sox');var csv=require(_0x1330('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x1330('0xa'));var _=require(_0x1330('0xb'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x1330('0xc'));var deskjs=require('desk.js');var toCsv=require(_0x1330('0x9'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x1330('0xd'));var authService=require(_0x1330('0xe'));var qs=require(_0x1330('0xf'));var as=require(_0x1330('0x10'));var hardwareService=require(_0x1330('0x11'));var logger=require(_0x1330('0x12'))(_0x1330('0x13'));var utils=require(_0x1330('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0x1330('0x15'));var db=require('../../mysqldb')['db'];var dbH=require(_0x1330('0x16'))[_0x1330('0x17')];function respondWithStatusCode(_0x5239b7,_0x4df081){_0x4df081=_0x4df081||0xcc;return function(_0x3aeae1){if(_0x3aeae1){return _0x5239b7[_0x1330('0x18')](_0x4df081);}return _0x5239b7[_0x1330('0x19')](_0x4df081)[_0x1330('0x1a')]();};}function respondWithResult(_0x25ba1a,_0x1cbec1){_0x1cbec1=_0x1cbec1||0xc8;return function(_0x3b3103){if(_0x3b3103){return _0x25ba1a[_0x1330('0x19')](_0x1cbec1)[_0x1330('0x1b')](_0x3b3103);}};}function respondWithFilteredResult(_0x4429ba,_0x2c0eb9){return function(_0x22d89e){if(_0x22d89e){var _0xa8856c=typeof _0x2c0eb9['offset']===_0x1330('0x1c')&&typeof _0x2c0eb9[_0x1330('0x1d')]==='undefined';var _0x41d0ee=_0x22d89e[_0x1330('0x1e')];var _0x3791ea=_0xa8856c?0x0:_0x2c0eb9['offset'];var _0x34235c=_0xa8856c?_0x22d89e[_0x1330('0x1e')]:_0x2c0eb9[_0x1330('0x1f')]+_0x2c0eb9[_0x1330('0x1d')];var _0x1f5117;if(_0x34235c>=_0x41d0ee){_0x34235c=_0x41d0ee;_0x1f5117=0xc8;}else{_0x1f5117=0xce;}_0x4429ba[_0x1330('0x19')](_0x1f5117);return _0x4429ba[_0x1330('0x20')](_0x1330('0x21'),_0x3791ea+'-'+_0x34235c+'/'+_0x41d0ee)[_0x1330('0x1b')](_0x22d89e);}return null;};}function patchUpdates(_0x70b45b){return function(_0x1fc01b){try{jsonpatch[_0x1330('0x22')](_0x1fc01b,_0x70b45b,!![]);}catch(_0x3d509e){return BPromise[_0x1330('0x23')](_0x3d509e);}return _0x1fc01b[_0x1330('0x24')]();};}function saveUpdates(_0x11d06d,_0x5c1f3f){return function(_0x1fd41b){if(_0x1fd41b){return _0x1fd41b[_0x1330('0x25')](_0x11d06d)[_0x1330('0x26')](function(_0x4d2a2c){return _0x4d2a2c;});}return null;};}function removeEntity(_0x379eaa,_0x499946){return function(_0x35eecb){if(_0x35eecb){return _0x35eecb[_0x1330('0x27')]()[_0x1330('0x26')](function(){var _0x5cc61b=_0x35eecb[_0x1330('0x28')]({'plain':!![]});var _0x2188fd=_0x1330('0x29');return db['UserProfileResource'][_0x1330('0x27')]({'where':{'type':_0x2188fd,'resourceId':_0x5cc61b['id']}})['then'](function(){return _0x35eecb;});})['then'](function(){_0x379eaa[_0x1330('0x19')](0xcc)[_0x1330('0x1a')]();});}};}function handleEntityNotFound(_0x58900b,_0x189d79){return function(_0xf4caff){if(!_0xf4caff){_0x58900b[_0x1330('0x18')](0x194);}return _0xf4caff;};}function handleError(_0x21e569,_0x4af188){_0x4af188=_0x4af188||0x1f4;return function(_0x488736){logger[_0x1330('0x2a')](_0x488736[_0x1330('0x2b')]);if(_0x488736[_0x1330('0x2c')]){delete _0x488736[_0x1330('0x2c')];}_0x21e569[_0x1330('0x19')](_0x4af188)[_0x1330('0x2d')](_0x488736);};}exports[_0x1330('0x2e')]=function(_0x3207d5,_0x1aa8d5){var _0xf2785b={},_0x1d113f={},_0x45419c={'count':0x0,'rows':[]};var _0x3d0732=_[_0x1330('0x2f')](db['AnalyticCustomReport'][_0x1330('0x30')],function(_0x400c39){return{'name':_0x400c39['fieldName'],'type':_0x400c39[_0x1330('0x31')][_0x1330('0x32')]};});_0x1d113f[_0x1330('0x33')]=_[_0x1330('0x2f')](_0x3d0732,_0x1330('0x2c'));_0x1d113f[_0x1330('0x34')]=_['keys'](_0x3207d5[_0x1330('0x34')]);_0x1d113f[_0x1330('0x35')]=_[_0x1330('0x36')](_0x1d113f[_0x1330('0x33')],_0x1d113f['query']);_0xf2785b[_0x1330('0x37')]=_['intersection'](_0x1d113f['model'],qs[_0x1330('0x38')](_0x3207d5[_0x1330('0x34')][_0x1330('0x38')]));_0xf2785b[_0x1330('0x37')]=_0xf2785b[_0x1330('0x37')][_0x1330('0x39')]?_0xf2785b[_0x1330('0x37')]:_0x1d113f[_0x1330('0x33')];if(!_0x3207d5['query'][_0x1330('0x3a')](_0x1330('0x3b'))){_0xf2785b[_0x1330('0x1d')]=qs[_0x1330('0x1d')](_0x3207d5[_0x1330('0x34')]['limit']);_0xf2785b[_0x1330('0x1f')]=qs[_0x1330('0x1f')](_0x3207d5['query'][_0x1330('0x1f')]);}_0xf2785b[_0x1330('0x3c')]=qs[_0x1330('0x3d')](_0x3207d5[_0x1330('0x34')][_0x1330('0x3d')]);_0xf2785b['where']=qs[_0x1330('0x35')](_['pick'](_0x3207d5['query'],_0x1d113f[_0x1330('0x35')]),_0x3d0732);if(_0x3207d5[_0x1330('0x34')]['filter']){_0xf2785b['where']=_['merge'](_0xf2785b[_0x1330('0x3e')],{'$or':_[_0x1330('0x2f')](_0x3d0732,function(_0x10e116){if(_0x10e116[_0x1330('0x31')]!==_0x1330('0x3f')){var _0x4dc57e={};_0x4dc57e[_0x10e116[_0x1330('0x2c')]]={'$like':'%'+_0x3207d5[_0x1330('0x34')][_0x1330('0x40')]+'%'};return _0x4dc57e;}})});}_0xf2785b=_['merge']({},_0xf2785b,_0x3207d5['options']);var _0x4f8bf9={'where':_0xf2785b['where']};return db[_0x1330('0x41')]['count'](_0x4f8bf9)['then'](function(_0x597b8a){_0x45419c[_0x1330('0x1e')]=_0x597b8a;if(_0x3207d5[_0x1330('0x34')][_0x1330('0x42')]){_0xf2785b[_0x1330('0x43')]=[{'all':!![]}];}return db[_0x1330('0x41')][_0x1330('0x44')](_0xf2785b);})[_0x1330('0x26')](function(_0x2cdb4d){_0x45419c['rows']=_0x2cdb4d;return _0x45419c;})['then'](respondWithFilteredResult(_0x1aa8d5,_0xf2785b))['catch'](handleError(_0x1aa8d5,null));};exports[_0x1330('0x45')]=function(_0x21720b,_0x28f9d5){var _0x3e2d04={'raw':![],'where':{'id':_0x21720b[_0x1330('0x46')]['id']}},_0x48eb8d={};_0x48eb8d['model']=_[_0x1330('0x47')](db[_0x1330('0x41')]['rawAttributes']);_0x48eb8d[_0x1330('0x34')]=_['keys'](_0x21720b[_0x1330('0x34')]);_0x48eb8d[_0x1330('0x35')]=_[_0x1330('0x36')](_0x48eb8d[_0x1330('0x33')],_0x48eb8d['query']);_0x3e2d04[_0x1330('0x37')]=_[_0x1330('0x36')](_0x48eb8d[_0x1330('0x33')],qs[_0x1330('0x38')](_0x21720b['query'][_0x1330('0x38')]));_0x3e2d04[_0x1330('0x37')]=_0x3e2d04[_0x1330('0x37')][_0x1330('0x39')]?_0x3e2d04[_0x1330('0x37')]:_0x48eb8d[_0x1330('0x33')];if(_0x21720b[_0x1330('0x34')]['includeAll']){_0x3e2d04[_0x1330('0x43')]=[{'all':!![]}];}_0x3e2d04=_[_0x1330('0x48')]({},_0x3e2d04,_0x21720b[_0x1330('0x49')]);return db[_0x1330('0x41')]['find'](_0x3e2d04)[_0x1330('0x26')](handleEntityNotFound(_0x28f9d5,null))[_0x1330('0x26')](respondWithResult(_0x28f9d5,null))[_0x1330('0x4a')](handleError(_0x28f9d5,null));};exports['create']=function(_0x2bed0b,_0x2f0271){return db[_0x1330('0x41')][_0x1330('0x4b')](_0x2bed0b[_0x1330('0x4c')],{})[_0x1330('0x26')](function(_0x4e873e){var _0x339a25=_0x2bed0b[_0x1330('0x4d')][_0x1330('0x28')]({'plain':!![]});if(!_0x339a25)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x339a25[_0x1330('0x4e')]===_0x1330('0x4d')){var _0x2e2dd2=_0x4e873e[_0x1330('0x28')]({'plain':!![]});var _0x24fb7f=_0x1330('0x4f');return db[_0x1330('0x50')][_0x1330('0x51')]({'where':{'name':_0x24fb7f,'userProfileId':_0x339a25['userProfileId']},'raw':!![]})[_0x1330('0x26')](function(_0x8f986c){if(_0x8f986c&&_0x8f986c[_0x1330('0x52')]===0x0){return db['UserProfileResource'][_0x1330('0x4b')]({'name':_0x2e2dd2['name'],'resourceId':_0x2e2dd2['id'],'type':_0x1330('0x29'),'sectionId':_0x8f986c['id']},{})[_0x1330('0x26')](function(){return _0x4e873e;});}else{return _0x4e873e;}})['catch'](function(_0xf6e529){logger[_0x1330('0x2a')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0xf6e529);throw _0xf6e529;});}return _0x4e873e;})['then'](respondWithResult(_0x2f0271,0xc9))[_0x1330('0x4a')](handleError(_0x2f0271,null));};exports[_0x1330('0x25')]=function(_0x4794ab,_0x186a92){if(_0x4794ab[_0x1330('0x4c')]['id']){delete _0x4794ab[_0x1330('0x4c')]['id'];}return db[_0x1330('0x41')][_0x1330('0x51')]({'where':{'id':_0x4794ab['params']['id']}})[_0x1330('0x26')](handleEntityNotFound(_0x186a92,null))['then'](saveUpdates(_0x4794ab[_0x1330('0x4c')],null))[_0x1330('0x26')](respondWithResult(_0x186a92,null))[_0x1330('0x4a')](handleError(_0x186a92,null));};exports[_0x1330('0x27')]=function(_0x33991f,_0x1cf6de){return db[_0x1330('0x41')][_0x1330('0x51')]({'where':{'id':_0x33991f['params']['id']}})['then'](handleEntityNotFound(_0x1cf6de,null))[_0x1330('0x26')](removeEntity(_0x1cf6de,null))[_0x1330('0x4a')](handleError(_0x1cf6de,null));};exports[_0x1330('0x53')]=function(_0x548a1b,_0x4361cf){var _0x2eb567=0xa;var _0x24193f=[_0x1330('0x54'),'left_join',_0x1330('0x55'),_0x1330('0x56')];var _0x540e4c={'SUM':_0x1330('0x57'),'COUNT':_0x1330('0x58'),'COUNT DISTINCT':'COUNT(DISTINCT\x20%s)','MAX':_0x1330('0x59'),'MIN':_0x1330('0x5a'),'AVG':_0x1330('0x5b'),'GROUP_CONCAT':_0x1330('0x5c'),'GROUP_CONCAT ASC':_0x1330('0x5d'),'GROUP_CONCAT DESC':_0x1330('0x5e')};var _0x2be491={'SEC_TO_TIME':_0x1330('0x5f'),'DATE':_0x1330('0x60'),'HOUR':_0x1330('0x61'),'ROUND':_0x1330('0x62'),'UNIX_TIMESTAMP':_0x1330('0x63')};var _0xb8e62c=function(_0x5ade69){return!_[_0x1330('0x64')]([_0x1330('0x65'),_0x1330('0x66'),'IS\x20EMPTY',_0x1330('0x67')],_0x5ade69);};var _0x38832e=function(_0x353db6){if(!_0x353db6||!_0x353db6['rules'][_0x1330('0x39')]){return'';}for(var _0x141919='(',_0x257f4c=0x0;_0x257f4c<_0x353db6['rules'][_0x1330('0x39')];_0x257f4c+=0x1){_0x257f4c>0x0&&(_0x141919+='\x20'+_0x353db6[_0x1330('0x68')]+'\x20');_0x141919+=_0x353db6[_0x1330('0x69')][_0x257f4c][_0x1330('0x6a')]?_0x38832e(_0x353db6[_0x1330('0x69')][_0x257f4c][_0x1330('0x6a')]):_0x353db6[_0x1330('0x69')][_0x257f4c]['field']+'\x20'+_0x353db6[_0x1330('0x69')][_0x257f4c][_0x1330('0x6b')]+(_0xb8e62c(_0x353db6[_0x1330('0x69')][_0x257f4c]['condition'])?'\x20'+_0x353db6[_0x1330('0x69')][_0x257f4c][_0x1330('0x6c')]:'');}return _0x141919+')';};var _0x4bcac9={'where':{'id':_0x548a1b[_0x1330('0x46')]['id']}},_0x3f51a1,_0x399988,_0x3a28d0,_0x46bca1,_0x230e60;_0x4bcac9=_[_0x1330('0x48')]({},_0x4bcac9,_0x548a1b[_0x1330('0x49')]);return db[_0x1330('0x41')][_0x1330('0x51')](_0x4bcac9)[_0x1330('0x26')](function(_0x1d22c9){if(_0x1d22c9){_0x3f51a1=_0x1d22c9;return _0x1d22c9[_0x1330('0x6d')]();}return null;})[_0x1330('0x26')](function(_0x421774){if(_0x421774){if(!_0x421774[_0x1330('0x39')]){throw new db[(_0x1330('0x6e'))]['ValidationErrorItem'](_0x1330('0x6f'),0x193);}_0x399988=_0x421774;return db[_0x1330('0x70')]['findAll']({'raw':!![]});}return null;})[_0x1330('0x26')](function(_0x2f1251){if(_0x2f1251){_0x3a28d0=_[_0x1330('0x71')](_0x2f1251,'id');var _0x4ad36f;var _0x4f65b8=squel['select']();_0x4f65b8[_0x1330('0x72')](_0x3f51a1['table']);for(var _0x11c212=0x0;_0x11c212<_0x399988[_0x1330('0x39')];_0x11c212+=0x1){_0x4ad36f=_0x399988[_0x11c212]['MetricId']?_0x3a28d0[_0x399988[_0x11c212]['MetricId']][_0x1330('0x73')]:_0x399988[_0x11c212]['field'];_0x4ad36f=_0x399988[_0x11c212]['function']?_[_0x1330('0x74')](_0x540e4c[_0x399988[_0x11c212]['function']],'%s',_0x4ad36f):_0x4ad36f;_0x4ad36f=_0x399988[_0x11c212][_0x1330('0x75')]?_[_0x1330('0x74')](_0x2be491[_0x399988[_0x11c212][_0x1330('0x75')]],'%s',_0x4ad36f):_0x4ad36f;if(_0x399988[_0x11c212][_0x1330('0x76')]){_0x4f65b8[_0x1330('0x6a')](_0x4ad36f);}_0x399988[_0x11c212][_0x1330('0x77')]&&_0x4f65b8[_0x1330('0x3c')](_0x4ad36f,_0x399988[_0x11c212][_0x1330('0x77')]===_0x1330('0x78')?![]:!![]);_0x4f65b8[_0x1330('0x79')](_0x4ad36f,_0x399988[_0x11c212][_0x1330('0x7a')]||_0x4ad36f);}if(_0x3f51a1['joins']){_0x3f51a1[_0x1330('0x7b')]=JSON['parse'](_0x3f51a1[_0x1330('0x7b')]);for(var _0x24e9d7=0x0;_0x24e9d7<_0x3f51a1[_0x1330('0x7b')][_0x1330('0x39')];_0x24e9d7+=0x1){if(_0x3f51a1[_0x1330('0x7b')][_0x24e9d7]['type']&&_['includes'](_0x24193f,_0x3f51a1[_0x1330('0x7b')][_0x24e9d7][_0x1330('0x31')])&&_0x3f51a1[_0x1330('0x7b')][_0x24e9d7][_0x1330('0x7c')]&&_0x3f51a1[_0x1330('0x7b')][_0x24e9d7]['foreignTable']&&_0x3f51a1[_0x1330('0x7b')][_0x24e9d7][_0x1330('0x7d')]){_0x4f65b8[_0x3f51a1[_0x1330('0x7b')][_0x24e9d7][_0x1330('0x31')]](_0x3f51a1[_0x1330('0x7b')][_0x24e9d7][_0x1330('0x7e')],null,util[_0x1330('0x75')](_0x1330('0x7f'),_0x3f51a1['table'],_0x3f51a1[_0x1330('0x7b')][_0x24e9d7][_0x1330('0x7c')],_0x3f51a1[_0x1330('0x7b')][_0x24e9d7]['foreignTable'],_0x3f51a1[_0x1330('0x7b')][_0x24e9d7][_0x1330('0x7d')]));}}}if(_0x3f51a1['conditions']){_0x3f51a1[_0x1330('0x80')]=JSON['parse'](_0x3f51a1[_0x1330('0x80')]);_0x4f65b8[_0x1330('0x3e')](_0x38832e(_0x3f51a1[_0x1330('0x80')][_0x1330('0x6a')]));}_0x230e60=_0x4f65b8[_0x1330('0x81')]();_0x4f65b8[_0x1330('0x1d')](_0x2eb567);_0x4f65b8['offset'](0x0);logger['debug'](_0x1330('0x82'),_0x4f65b8[_0x1330('0x83')]());return dbH[_0x1330('0x84')][_0x1330('0x34')](_0x4f65b8[_0x1330('0x83')](),{'type':dbH['sequelize']['QueryTypes'][_0x1330('0x85')]});}})['then'](respondWithResult(_0x4361cf,null))['catch'](handleError(_0x4361cf,null));};function runReport(_0x59395a,_0x4cf5ee,_0x517abf){var _0x114ca2=_0x4cf5ee[_0x1330('0x2c')];var _0x1c3537=0xa;var _0x4ef84d=[_0x1330('0x54'),_0x1330('0x86'),_0x1330('0x55'),_0x1330('0x56')];var _0x57295f={'SUM':'SUM(%s)','COUNT':_0x1330('0x58'),'COUNT DISTINCT':'COUNT(DISTINCT\x20%s)','MAX':'MAX(%s)','MIN':_0x1330('0x5a'),'AVG':_0x1330('0x5b'),'GROUP_CONCAT':_0x1330('0x5c'),'GROUP_CONCAT ASC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','GROUP_CONCAT DESC':_0x1330('0x5e')};var _0x4c1c66={'SEC_TO_TIME':_0x1330('0x5f'),'DATE':_0x1330('0x60'),'HOUR':_0x1330('0x61'),'ROUND':_0x1330('0x62'),'UNIX_TIMESTAMP':'UNIX_TIMESTAMP(%s)'};var _0x379905=function(_0x2e3f9f){return!_[_0x1330('0x64')]([_0x1330('0x65'),_0x1330('0x66'),_0x1330('0x87'),_0x1330('0x67')],_0x2e3f9f);};var _0xc142a7=function(_0x2656e9){if(!_0x2656e9||!_0x2656e9[_0x1330('0x69')][_0x1330('0x39')]){return'';}for(var _0x32c807='(',_0x3ec9f5=0x0;_0x3ec9f5<_0x2656e9[_0x1330('0x69')][_0x1330('0x39')];_0x3ec9f5+=0x1){_0x3ec9f5>0x0&&(_0x32c807+='\x20'+_0x2656e9['operator']+'\x20');_0x32c807+=_0x2656e9[_0x1330('0x69')][_0x3ec9f5][_0x1330('0x6a')]?_0xc142a7(_0x2656e9[_0x1330('0x69')][_0x3ec9f5][_0x1330('0x6a')]):_0x2656e9[_0x1330('0x69')][_0x3ec9f5][_0x1330('0x79')]+'\x20'+_0x2656e9['rules'][_0x3ec9f5][_0x1330('0x6b')]+(_0x379905(_0x2656e9[_0x1330('0x69')][_0x3ec9f5][_0x1330('0x6b')])?'\x20'+_0x2656e9[_0x1330('0x69')][_0x3ec9f5][_0x1330('0x6c')]:'');}return _0x32c807+')';};var _0x565d0c={'where':{'id':_0x59395a['id']}},_0x1cb4c8,_0x12dee8,_0x4c0736,_0x27abd5,_0x2a5884;_0x565d0c=_[_0x1330('0x48')]({},_0x565d0c,_0x517abf);return db[_0x1330('0x41')][_0x1330('0x51')](_0x565d0c)[_0x1330('0x26')](function(_0x3ed1a0){if(_0x3ed1a0){_0x1cb4c8=_0x3ed1a0;return _0x3ed1a0[_0x1330('0x6d')]();}return null;})[_0x1330('0x26')](function(_0xb2653a){if(_0xb2653a){if(!_0xb2653a[_0x1330('0x39')]){throw new db[(_0x1330('0x6e'))][(_0x1330('0x88'))](_0x1330('0x6f'),0x193);}_0x12dee8=_0xb2653a;return db[_0x1330('0x70')][_0x1330('0x44')]({'raw':!![]});}return null;})[_0x1330('0x26')](function(_0x186305){if(_0x186305){_0x4c0736=_[_0x1330('0x71')](_0x186305,'id');var _0x3da3ab;var _0x4aed41=squel[_0x1330('0x89')]();_0x4aed41[_0x1330('0x72')](_0x1cb4c8[_0x1330('0x8a')]);for(var _0x15606d=0x0;_0x15606d<_0x12dee8['length'];_0x15606d+=0x1){_0x3da3ab=_0x12dee8[_0x15606d][_0x1330('0x8b')]?_0x4c0736[_0x12dee8[_0x15606d][_0x1330('0x8b')]]['metric']:_0x12dee8[_0x15606d][_0x1330('0x79')];_0x3da3ab=_0x12dee8[_0x15606d]['function']?_[_0x1330('0x74')](_0x57295f[_0x12dee8[_0x15606d]['function']],'%s',_0x3da3ab):_0x3da3ab;_0x3da3ab=_0x12dee8[_0x15606d][_0x1330('0x75')]?_['replace'](_0x4c1c66[_0x12dee8[_0x15606d][_0x1330('0x75')]],'%s',_0x3da3ab):_0x3da3ab;if(_0x12dee8[_0x15606d][_0x1330('0x76')]){_0x4aed41['group'](_0x3da3ab);}_0x12dee8[_0x15606d][_0x1330('0x77')]&&_0x4aed41[_0x1330('0x3c')](_0x3da3ab,_0x12dee8[_0x15606d]['orderBy']===_0x1330('0x78')?![]:!![]);_0x4aed41['field'](_0x3da3ab,_0x12dee8[_0x15606d][_0x1330('0x7a')]||_0x3da3ab);}if(_0x1cb4c8['joins']){_0x1cb4c8['joins']=JSON[_0x1330('0x8c')](_0x1cb4c8[_0x1330('0x7b')]);for(var _0x1896f5=0x0;_0x1896f5<_0x1cb4c8['joins'][_0x1330('0x39')];_0x1896f5+=0x1){if(_0x1cb4c8['joins'][_0x1896f5][_0x1330('0x31')]&&_[_0x1330('0x64')](_0x4ef84d,_0x1cb4c8['joins'][_0x1896f5]['type'])&&_0x1cb4c8[_0x1330('0x7b')][_0x1896f5][_0x1330('0x7c')]&&_0x1cb4c8[_0x1330('0x7b')][_0x1896f5][_0x1330('0x7e')]&&_0x1cb4c8[_0x1330('0x7b')][_0x1896f5]['foreignKey']){_0x4aed41[_0x1cb4c8[_0x1330('0x7b')][_0x1896f5][_0x1330('0x31')]](_0x1cb4c8[_0x1330('0x7b')][_0x1896f5][_0x1330('0x7e')],null,util[_0x1330('0x75')]('%s.%s\x20=\x20%s.%s',_0x1cb4c8[_0x1330('0x8a')],_0x1cb4c8[_0x1330('0x7b')][_0x1896f5][_0x1330('0x7c')],_0x1cb4c8[_0x1330('0x7b')][_0x1896f5][_0x1330('0x7e')],_0x1cb4c8['joins'][_0x1896f5][_0x1330('0x7d')]));}}}if(_0x1cb4c8[_0x1330('0x80')]){_0x1cb4c8[_0x1330('0x80')]=JSON['parse'](_0x1cb4c8[_0x1330('0x80')]);_0x4aed41[_0x1330('0x3e')](_0xc142a7(_0x1cb4c8['conditions'][_0x1330('0x6a')]));}_0x2a5884=_0x4aed41[_0x1330('0x81')]();_0x4aed41[_0x1330('0x1d')](_0x1c3537);_0x4aed41[_0x1330('0x1f')](0x0);return;}})[_0x1330('0x26')](function(){if(_0x4cf5ee[_0x1330('0x8d')]===_0x1330('0x8e')){return null;}var _0x4f17ea=_[_0x1330('0x48')](_0x4cf5ee,{'name':_0x4cf5ee['fullPath']||_0x4cf5ee[_0x1330('0x2c')]||_0x1cb4c8[_0x1330('0x2c')],'basename':_0x114ca2,'savename':util[_0x1330('0x75')](_0x1330('0x8f'),_0x4cf5ee['name']||_0x1cb4c8[_0x1330('0x2c')],require(_0x1330('0x90'))[_0x1330('0x91')](0x4),_0x4cf5ee['output']||_0x1330('0x92')),'reportId':_0x1cb4c8['id'],'reportType':_0x1330('0x93')});return db[_0x1330('0x94')]['create'](_0x4f17ea,{'raw':!![]});})[_0x1330('0x26')](function(_0x2643f8){if(_0x1cb4c8[_0x1330('0x8a')]===_0x1330('0x95')){_0x2a5884[_0x1330('0x3e')](_0x1cb4c8[_0x1330('0x8a')]+_0x1330('0x96'),_0x4cf5ee[_0x1330('0x97')],_0x4cf5ee[_0x1330('0x98')]);}else{_0x2a5884['where'](_0x1cb4c8[_0x1330('0x8a')]+_0x1330('0x99'),_0x4cf5ee[_0x1330('0x97')],_0x4cf5ee[_0x1330('0x98')]);}if(_0x2643f8){logger[_0x1330('0x9a')](_0x1330('0x9b'),_0x2a5884[_0x1330('0x83')]());require(_0x1330('0x9c'))['fork'](path['join'](__dirname,_0x1330('0x9d'),_0x2643f8[_0x1330('0x8d')]),[_0x2643f8['id'],_0x2a5884[_0x1330('0x83')](),path['join'](__dirname,_0x1330('0x9e'),_0x2643f8[_0x1330('0x9f')]),_0x114ca2]);return _0x2643f8;}else{var _0x20de4d=squel[_0x1330('0x89')]();_0x20de4d['from']('('+_0x2a5884['toString']()+')','countTable');_0x20de4d[_0x1330('0x79')](_0x1330('0xa0'),_0x1330('0x1e'));_0x2a5884['limit'](_0x4cf5ee[_0x1330('0x1d')]||_0x1c3537);_0x2a5884['offset'](_0x4cf5ee[_0x1330('0x1f')]||0x0);return dbH[_0x1330('0x84')][_0x1330('0x34')](_0x20de4d[_0x1330('0x83')](),{'type':dbH[_0x1330('0x84')][_0x1330('0xa1')][_0x1330('0x85')]})[_0x1330('0x26')](function(_0x196c25){if(!_0x196c25[_0x1330('0x39')]){_0x27abd5=0x0;}else{_0x27abd5=_0x196c25[0x0][_0x1330('0x1e')]||0x0;}return dbH['sequelize'][_0x1330('0x34')](_0x2a5884[_0x1330('0x83')](),{'type':dbH[_0x1330('0x84')][_0x1330('0xa1')][_0x1330('0x85')]});})['then'](function(_0x462c1e){return{'rows':_0x462c1e||[],'count':_0x27abd5};});}});}exports[_0x1330('0xa2')]=function(_0x53828f,_0x3770db){return runReport(_0x53828f[_0x1330('0x46')],_0x53828f[_0x1330('0x34')],_0x53828f['options'])['then'](respondWithResult(_0x3770db,null))[_0x1330('0x4a')](handleError(_0x3770db,null));};exports[_0x1330('0xa3')]=runReport;exports[_0x1330('0x34')]=function(_0x373317,_0x155c21){var _0x243ac0=0xa;var _0x8841ba=[_0x1330('0x54'),_0x1330('0x86'),_0x1330('0x55'),_0x1330('0x56')];var _0x447765={'SUM':_0x1330('0x57'),'COUNT':_0x1330('0x58'),'COUNT DISTINCT':_0x1330('0xa4'),'MAX':_0x1330('0x59'),'MIN':_0x1330('0x5a'),'AVG':_0x1330('0x5b'),'GROUP_CONCAT':'GROUP_CONCAT(%s)','GROUP_CONCAT ASC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','GROUP_CONCAT DESC':_0x1330('0x5e')};var _0x597ba0={'SEC_TO_TIME':_0x1330('0x5f'),'DATE':_0x1330('0x60'),'HOUR':_0x1330('0x61'),'ROUND':_0x1330('0x62'),'UNIX_TIMESTAMP':'UNIX_TIMESTAMP(%s)'};var _0x3472d4=function(_0x16b22b){return!_['includes'](['IS\x20NULL','IS\x20NOT\x20NULL',_0x1330('0x87'),'IS\x20NOT\x20EMPTY'],_0x16b22b);};var _0x1ae31d=function(_0x598723){if(!_0x598723||!_0x598723[_0x1330('0x69')]['length']){return'';}for(var _0x10b914='(',_0x3b050b=0x0;_0x3b050b<_0x598723['rules'][_0x1330('0x39')];_0x3b050b+=0x1){_0x3b050b>0x0&&(_0x10b914+='\x20'+_0x598723['operator']+'\x20');_0x10b914+=_0x598723['rules'][_0x3b050b][_0x1330('0x6a')]?_0x1ae31d(_0x598723[_0x1330('0x69')][_0x3b050b]['group']):_0x598723[_0x1330('0x69')][_0x3b050b][_0x1330('0x79')]+'\x20'+_0x598723[_0x1330('0x69')][_0x3b050b][_0x1330('0x6b')]+(_0x3472d4(_0x598723[_0x1330('0x69')][_0x3b050b][_0x1330('0x6b')])?'\x20'+_0x598723[_0x1330('0x69')][_0x3b050b][_0x1330('0x6c')]:'');}return _0x10b914+')';};var _0x573864={'where':{'id':_0x373317[_0x1330('0x46')]['id']}},_0x2934d9,_0x2d1951,_0x24cdd0,_0x5d8e10,_0x19ffdb;_0x573864=_[_0x1330('0x48')]({},_0x573864,_0x373317[_0x1330('0x49')]);return db[_0x1330('0x41')][_0x1330('0x51')](_0x573864)['then'](function(_0x3a41eb){if(_0x3a41eb){_0x2934d9=_0x3a41eb;return _0x3a41eb[_0x1330('0x6d')]();}return null;})[_0x1330('0x26')](function(_0x49bfa1){if(_0x49bfa1){if(!_0x49bfa1['length']){throw new db[(_0x1330('0x6e'))][(_0x1330('0x88'))](_0x1330('0x6f'),0x193);}_0x2d1951=_0x49bfa1;return db[_0x1330('0x70')]['findAll']({'raw':!![]});}return null;})[_0x1330('0x26')](function(_0x288fb9){if(_0x288fb9){_0x24cdd0=_[_0x1330('0x71')](_0x288fb9,'id');var _0x213eb5;var _0x388f63=squel['select']();_0x388f63['from'](_0x2934d9[_0x1330('0x8a')]);for(var _0x238645=0x0;_0x238645<_0x2d1951['length'];_0x238645+=0x1){_0x213eb5=_0x2d1951[_0x238645][_0x1330('0x8b')]?_0x24cdd0[_0x2d1951[_0x238645][_0x1330('0x8b')]]['metric']:_0x2d1951[_0x238645][_0x1330('0x79')];_0x213eb5=_0x2d1951[_0x238645][_0x1330('0xa5')]?_['replace'](_0x447765[_0x2d1951[_0x238645][_0x1330('0xa5')]],'%s',_0x213eb5):_0x213eb5;_0x213eb5=_0x2d1951[_0x238645][_0x1330('0x75')]?_[_0x1330('0x74')](_0x597ba0[_0x2d1951[_0x238645][_0x1330('0x75')]],'%s',_0x213eb5):_0x213eb5;if(_0x2d1951[_0x238645]['groupBy']){_0x388f63[_0x1330('0x6a')](_0x213eb5);}_0x2d1951[_0x238645][_0x1330('0x77')]&&_0x388f63[_0x1330('0x3c')](_0x213eb5,_0x2d1951[_0x238645][_0x1330('0x77')]===_0x1330('0x78')?![]:!![]);_0x388f63[_0x1330('0x79')](_0x213eb5,_0x2d1951[_0x238645][_0x1330('0x7a')]||_0x213eb5);}if(_0x2934d9[_0x1330('0x7b')]){_0x2934d9['joins']=JSON[_0x1330('0x8c')](_0x2934d9[_0x1330('0x7b')]);for(var _0x16e09a=0x0;_0x16e09a<_0x2934d9[_0x1330('0x7b')]['length'];_0x16e09a+=0x1){if(_0x2934d9['joins'][_0x16e09a][_0x1330('0x31')]&&_[_0x1330('0x64')](_0x8841ba,_0x2934d9[_0x1330('0x7b')][_0x16e09a][_0x1330('0x31')])&&_0x2934d9[_0x1330('0x7b')][_0x16e09a][_0x1330('0x7c')]&&_0x2934d9[_0x1330('0x7b')][_0x16e09a][_0x1330('0x7e')]&&_0x2934d9[_0x1330('0x7b')][_0x16e09a][_0x1330('0x7d')]){_0x388f63[_0x2934d9[_0x1330('0x7b')][_0x16e09a]['type']](_0x2934d9['joins'][_0x16e09a]['foreignTable'],null,util[_0x1330('0x75')](_0x1330('0x7f'),_0x2934d9['table'],_0x2934d9[_0x1330('0x7b')][_0x16e09a]['parentKey'],_0x2934d9[_0x1330('0x7b')][_0x16e09a]['foreignTable'],_0x2934d9[_0x1330('0x7b')][_0x16e09a][_0x1330('0x7d')]));}}}if(_0x2934d9['conditions']){_0x2934d9[_0x1330('0x80')]=JSON[_0x1330('0x8c')](_0x2934d9['conditions']);_0x388f63['where'](_0x1ae31d(_0x2934d9[_0x1330('0x80')]['group']));}_0x19ffdb=_0x388f63['clone']();_0x388f63[_0x1330('0x1d')](_0x243ac0);_0x388f63['offset'](0x0);logger[_0x1330('0xa6')]('Limited\x20Query:',_0x388f63['toString']());return dbH[_0x1330('0x84')][_0x1330('0x34')](_0x388f63[_0x1330('0x83')](),{'type':dbH[_0x1330('0x84')][_0x1330('0xa1')]['SELECT']});}})[_0x1330('0x26')](function(){return{'sql':_0x19ffdb[_0x1330('0x83')]()};})[_0x1330('0x26')](respondWithResult(_0x155c21,null))[_0x1330('0x4a')](handleError(_0x155c21,null));};