Built motion from commit 5b761a7b.|2.5.36
[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 _0x31a3=['%s.%s\x20=\x20%s.%s','conditions','parse','clone','debug','Limited\x20Query:','toString','sequelize','QueryTypes','SELECT','left_join','MAX(%s)','IS\x20NOT\x20NULL','IS\x20NOT\x20EMPTY','Sequelize','ValidationErrorItem','output','web','fullPath','%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','fork','../../components/export/','countTable','run','runReport','operator','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','dbH','sendStatus','end','json','offset','undefined','limit','count','status','set','Content-Range','apply','reject','save','update','then','destroy','get','CustomReports','UserProfileResource','error','stack','name','send','map','AnalyticCustomReport','rawAttributes','fieldName','type','key','model','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','filter','merge','VIRTUAL','includeAll','findAll','rows','catch','params','options','find','create','user','Reports','UserProfileSection','userProfileId','autoAssociation','body','join','right_join','cross_join','SUM(%s)','COUNT(%s)','COUNT(DISTINCT\x20%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\x20EMPTY','rules','group','field','condition','value','getFields','Please\x20insert\x20at\x20least\x20one\x20field','AnalyticMetric','keyBy','select','from','table','MetricId','metric','function','replace','format','groupBy','order','orderBy','DESC','alias','joins','parentKey','foreignKey','foreignTable'];(function(_0x248f6b,_0x401324){var _0x54b829=function(_0x51ad90){while(--_0x51ad90){_0x248f6b['push'](_0x248f6b['shift']());}};_0x54b829(++_0x401324);}(_0x31a3,0x183));var _0x331a=function(_0x46ef1d,_0x24926){_0x46ef1d=_0x46ef1d-0x0;var _0x49ce69=_0x31a3[_0x46ef1d];return _0x49ce69;};'use strict';var emlformat=require(_0x331a('0x0'));var rimraf=require(_0x331a('0x1'));var zipdir=require(_0x331a('0x2'));var jsonpatch=require(_0x331a('0x3'));var rp=require(_0x331a('0x4'));var moment=require(_0x331a('0x5'));var BPromise=require(_0x331a('0x6'));var Mustache=require(_0x331a('0x7'));var util=require(_0x331a('0x8'));var path=require(_0x331a('0x9'));var sox=require(_0x331a('0xa'));var csv=require(_0x331a('0xb'));var ejs=require(_0x331a('0xc'));var fs=require('fs');var fs_extra=require(_0x331a('0xd'));var _=require(_0x331a('0xe'));var squel=require(_0x331a('0xf'));var crypto=require(_0x331a('0x10'));var jsforce=require(_0x331a('0x11'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x331a('0x12'));var Papa=require(_0x331a('0x13'));var Redis=require(_0x331a('0x14'));var authService=require(_0x331a('0x15'));var qs=require(_0x331a('0x16'));var as=require(_0x331a('0x17'));var hardwareService=require(_0x331a('0x18'));var logger=require(_0x331a('0x19'))('api');var utils=require(_0x331a('0x1a'));var config=require(_0x331a('0x1b'));var licenseUtil=require(_0x331a('0x1c'));var db=require(_0x331a('0x1d'))['db'];var dbH=require(_0x331a('0x1d'))[_0x331a('0x1e')];function respondWithStatusCode(_0x32d387,_0x19d690){_0x19d690=_0x19d690||0xcc;return function(_0x899366){if(_0x899366){return _0x32d387[_0x331a('0x1f')](_0x19d690);}return _0x32d387['status'](_0x19d690)[_0x331a('0x20')]();};}function respondWithResult(_0x15a44a,_0x529527){_0x529527=_0x529527||0xc8;return function(_0x8076fb){if(_0x8076fb){return _0x15a44a['status'](_0x529527)[_0x331a('0x21')](_0x8076fb);}};}function respondWithFilteredResult(_0x29d851,_0x1c385b){return function(_0x12ab11){if(_0x12ab11){var _0x43fde0=typeof _0x1c385b[_0x331a('0x22')]===_0x331a('0x23')&&typeof _0x1c385b[_0x331a('0x24')]===_0x331a('0x23');var _0x12e44f=_0x12ab11['count'];var _0x471e66=_0x43fde0?0x0:_0x1c385b[_0x331a('0x22')];var _0x22b25f=_0x43fde0?_0x12ab11[_0x331a('0x25')]:_0x1c385b[_0x331a('0x22')]+_0x1c385b['limit'];var _0x96469f;if(_0x22b25f>=_0x12e44f){_0x22b25f=_0x12e44f;_0x96469f=0xc8;}else{_0x96469f=0xce;}_0x29d851[_0x331a('0x26')](_0x96469f);return _0x29d851[_0x331a('0x27')](_0x331a('0x28'),_0x471e66+'-'+_0x22b25f+'/'+_0x12e44f)[_0x331a('0x21')](_0x12ab11);}return null;};}function patchUpdates(_0x40562a){return function(_0x2ee678){try{jsonpatch[_0x331a('0x29')](_0x2ee678,_0x40562a,!![]);}catch(_0x17b2d5){return BPromise[_0x331a('0x2a')](_0x17b2d5);}return _0x2ee678[_0x331a('0x2b')]();};}function saveUpdates(_0x4639d1,_0x3558ca){return function(_0x142111){if(_0x142111){return _0x142111[_0x331a('0x2c')](_0x4639d1)[_0x331a('0x2d')](function(_0xe8134f){return _0xe8134f;});}return null;};}function removeEntity(_0x651d19,_0x1714ab){return function(_0x23a8de){if(_0x23a8de){return _0x23a8de[_0x331a('0x2e')]()[_0x331a('0x2d')](function(){var _0x31b196=_0x23a8de[_0x331a('0x2f')]({'plain':!![]});var _0x27c68f=_0x331a('0x30');return db[_0x331a('0x31')][_0x331a('0x2e')]({'where':{'type':_0x27c68f,'resourceId':_0x31b196['id']}})[_0x331a('0x2d')](function(){return _0x23a8de;});})[_0x331a('0x2d')](function(){_0x651d19['status'](0xcc)[_0x331a('0x20')]();});}};}function handleEntityNotFound(_0x119a98,_0x309b3c){return function(_0x3119ad){if(!_0x3119ad){_0x119a98[_0x331a('0x1f')](0x194);}return _0x3119ad;};}function handleError(_0x3abaee,_0x53869f){_0x53869f=_0x53869f||0x1f4;return function(_0x36fe92){logger[_0x331a('0x32')](_0x36fe92[_0x331a('0x33')]);if(_0x36fe92[_0x331a('0x34')]){delete _0x36fe92[_0x331a('0x34')];}_0x3abaee[_0x331a('0x26')](_0x53869f)[_0x331a('0x35')](_0x36fe92);};}exports['index']=function(_0x1cbd3c,_0x437786){var _0x506f38={},_0x136dec={},_0x1e8c17={'count':0x0,'rows':[]};var _0x18fd4f=_[_0x331a('0x36')](db[_0x331a('0x37')][_0x331a('0x38')],function(_0x1ede19){return{'name':_0x1ede19[_0x331a('0x39')],'type':_0x1ede19[_0x331a('0x3a')][_0x331a('0x3b')]};});_0x136dec[_0x331a('0x3c')]=_[_0x331a('0x36')](_0x18fd4f,_0x331a('0x34'));_0x136dec['query']=_[_0x331a('0x3d')](_0x1cbd3c[_0x331a('0x3e')]);_0x136dec[_0x331a('0x3f')]=_[_0x331a('0x40')](_0x136dec[_0x331a('0x3c')],_0x136dec[_0x331a('0x3e')]);_0x506f38[_0x331a('0x41')]=_[_0x331a('0x40')](_0x136dec[_0x331a('0x3c')],qs['fields'](_0x1cbd3c['query'][_0x331a('0x42')]));_0x506f38[_0x331a('0x41')]=_0x506f38[_0x331a('0x41')][_0x331a('0x43')]?_0x506f38[_0x331a('0x41')]:_0x136dec[_0x331a('0x3c')];if(!_0x1cbd3c[_0x331a('0x3e')][_0x331a('0x44')](_0x331a('0x45'))){_0x506f38[_0x331a('0x24')]=qs[_0x331a('0x24')](_0x1cbd3c['query']['limit']);_0x506f38[_0x331a('0x22')]=qs[_0x331a('0x22')](_0x1cbd3c[_0x331a('0x3e')][_0x331a('0x22')]);}_0x506f38['order']=qs['sort'](_0x1cbd3c[_0x331a('0x3e')][_0x331a('0x46')]);_0x506f38[_0x331a('0x47')]=qs[_0x331a('0x3f')](_[_0x331a('0x48')](_0x1cbd3c[_0x331a('0x3e')],_0x136dec[_0x331a('0x3f')]),_0x18fd4f);if(_0x1cbd3c['query'][_0x331a('0x49')]){_0x506f38[_0x331a('0x47')]=_[_0x331a('0x4a')](_0x506f38[_0x331a('0x47')],{'$or':_[_0x331a('0x36')](_0x18fd4f,function(_0x678f3b){if(_0x678f3b['type']!==_0x331a('0x4b')){var _0x141bfd={};_0x141bfd[_0x678f3b[_0x331a('0x34')]]={'$like':'%'+_0x1cbd3c[_0x331a('0x3e')]['filter']+'%'};return _0x141bfd;}})});}_0x506f38=_[_0x331a('0x4a')]({},_0x506f38,_0x1cbd3c['options']);var _0x1967d7={'where':_0x506f38[_0x331a('0x47')]};return db[_0x331a('0x37')]['count'](_0x1967d7)[_0x331a('0x2d')](function(_0x524736){_0x1e8c17[_0x331a('0x25')]=_0x524736;if(_0x1cbd3c[_0x331a('0x3e')][_0x331a('0x4c')]){_0x506f38['include']=[{'all':!![]}];}return db[_0x331a('0x37')][_0x331a('0x4d')](_0x506f38);})[_0x331a('0x2d')](function(_0x2e1ea3){_0x1e8c17[_0x331a('0x4e')]=_0x2e1ea3;return _0x1e8c17;})[_0x331a('0x2d')](respondWithFilteredResult(_0x437786,_0x506f38))[_0x331a('0x4f')](handleError(_0x437786,null));};exports['show']=function(_0x1f1956,_0x12a090){var _0x14bb74={'raw':![],'where':{'id':_0x1f1956[_0x331a('0x50')]['id']}},_0x26613f={};_0x26613f[_0x331a('0x3c')]=_[_0x331a('0x3d')](db['AnalyticCustomReport'][_0x331a('0x38')]);_0x26613f[_0x331a('0x3e')]=_[_0x331a('0x3d')](_0x1f1956[_0x331a('0x3e')]);_0x26613f[_0x331a('0x3f')]=_['intersection'](_0x26613f['model'],_0x26613f[_0x331a('0x3e')]);_0x14bb74['attributes']=_[_0x331a('0x40')](_0x26613f[_0x331a('0x3c')],qs[_0x331a('0x42')](_0x1f1956[_0x331a('0x3e')][_0x331a('0x42')]));_0x14bb74[_0x331a('0x41')]=_0x14bb74[_0x331a('0x41')][_0x331a('0x43')]?_0x14bb74[_0x331a('0x41')]:_0x26613f[_0x331a('0x3c')];if(_0x1f1956[_0x331a('0x3e')][_0x331a('0x4c')]){_0x14bb74['include']=[{'all':!![]}];}_0x14bb74=_[_0x331a('0x4a')]({},_0x14bb74,_0x1f1956[_0x331a('0x51')]);return db[_0x331a('0x37')][_0x331a('0x52')](_0x14bb74)['then'](handleEntityNotFound(_0x12a090,null))[_0x331a('0x2d')](respondWithResult(_0x12a090,null))[_0x331a('0x4f')](handleError(_0x12a090,null));};exports['create']=function(_0x35c905,_0x1a4841){return db[_0x331a('0x37')][_0x331a('0x53')](_0x35c905['body'],{})[_0x331a('0x2d')](function(_0x33af38){var _0x2c846c=_0x35c905[_0x331a('0x54')][_0x331a('0x2f')]({'plain':!![]});if(!_0x2c846c)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x2c846c['role']===_0x331a('0x54')){var _0x64c29=_0x33af38[_0x331a('0x2f')]({'plain':!![]});var _0x58ab52=_0x331a('0x55');return db[_0x331a('0x56')]['find']({'where':{'name':_0x58ab52,'userProfileId':_0x2c846c[_0x331a('0x57')]},'raw':!![]})[_0x331a('0x2d')](function(_0x4be25f){if(_0x4be25f&&_0x4be25f[_0x331a('0x58')]===0x0){return db[_0x331a('0x31')]['create']({'name':_0x64c29[_0x331a('0x34')],'resourceId':_0x64c29['id'],'type':_0x331a('0x30'),'sectionId':_0x4be25f['id']},{})['then'](function(){return _0x33af38;});}else{return _0x33af38;}})[_0x331a('0x4f')](function(_0x74f6e){logger[_0x331a('0x32')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x74f6e);throw _0x74f6e;});}return _0x33af38;})[_0x331a('0x2d')](respondWithResult(_0x1a4841,0xc9))[_0x331a('0x4f')](handleError(_0x1a4841,null));};exports[_0x331a('0x2c')]=function(_0x207360,_0x3a0e1c){if(_0x207360[_0x331a('0x59')]['id']){delete _0x207360[_0x331a('0x59')]['id'];}return db['AnalyticCustomReport'][_0x331a('0x52')]({'where':{'id':_0x207360[_0x331a('0x50')]['id']}})[_0x331a('0x2d')](handleEntityNotFound(_0x3a0e1c,null))['then'](saveUpdates(_0x207360[_0x331a('0x59')],null))[_0x331a('0x2d')](respondWithResult(_0x3a0e1c,null))[_0x331a('0x4f')](handleError(_0x3a0e1c,null));};exports[_0x331a('0x2e')]=function(_0x27efbb,_0x5cf183){return db[_0x331a('0x37')][_0x331a('0x52')]({'where':{'id':_0x27efbb[_0x331a('0x50')]['id']}})[_0x331a('0x2d')](handleEntityNotFound(_0x5cf183,null))[_0x331a('0x2d')](removeEntity(_0x5cf183,null))[_0x331a('0x4f')](handleError(_0x5cf183,null));};exports['preview']=function(_0x371ea6,_0x26dada){var _0x3495ef=0xa;var _0x4121e7=[_0x331a('0x5a'),'left_join',_0x331a('0x5b'),_0x331a('0x5c')];var _0x56cd7b={'SUM':_0x331a('0x5d'),'COUNT':_0x331a('0x5e'),'COUNT DISTINCT':_0x331a('0x5f'),'MAX':'MAX(%s)','MIN':_0x331a('0x60'),'AVG':_0x331a('0x61'),'GROUP_CONCAT':_0x331a('0x62'),'GROUP_CONCAT ASC':_0x331a('0x63'),'GROUP_CONCAT DESC':_0x331a('0x64')};var _0x3ec6f4={'SEC_TO_TIME':_0x331a('0x65'),'DATE':_0x331a('0x66'),'HOUR':_0x331a('0x67'),'ROUND':_0x331a('0x68'),'UNIX_TIMESTAMP':_0x331a('0x69')};var _0x110a86=function(_0x496f11){return!_[_0x331a('0x6a')]([_0x331a('0x6b'),'IS\x20NOT\x20NULL',_0x331a('0x6c'),'IS\x20NOT\x20EMPTY'],_0x496f11);};var _0x4502f6=function(_0xbb611){if(!_0xbb611||!_0xbb611[_0x331a('0x6d')][_0x331a('0x43')]){return'';}for(var _0x56dfb1='(',_0x4cd452=0x0;_0x4cd452<_0xbb611[_0x331a('0x6d')][_0x331a('0x43')];_0x4cd452+=0x1){_0x4cd452>0x0&&(_0x56dfb1+='\x20'+_0xbb611['operator']+'\x20');_0x56dfb1+=_0xbb611['rules'][_0x4cd452][_0x331a('0x6e')]?_0x4502f6(_0xbb611['rules'][_0x4cd452][_0x331a('0x6e')]):_0xbb611[_0x331a('0x6d')][_0x4cd452][_0x331a('0x6f')]+'\x20'+_0xbb611[_0x331a('0x6d')][_0x4cd452][_0x331a('0x70')]+(_0x110a86(_0xbb611[_0x331a('0x6d')][_0x4cd452][_0x331a('0x70')])?'\x20'+_0xbb611[_0x331a('0x6d')][_0x4cd452][_0x331a('0x71')]:'');}return _0x56dfb1+')';};var _0x1839ed={'where':{'id':_0x371ea6[_0x331a('0x50')]['id']}},_0x3a69db,_0x1df8a9,_0x4a4549,_0x54fb65,_0xe73504;_0x1839ed=_[_0x331a('0x4a')]({},_0x1839ed,_0x371ea6[_0x331a('0x51')]);return db[_0x331a('0x37')][_0x331a('0x52')](_0x1839ed)[_0x331a('0x2d')](function(_0x41da2f){if(_0x41da2f){_0x3a69db=_0x41da2f;return _0x41da2f[_0x331a('0x72')]();}return null;})['then'](function(_0x56c429){if(_0x56c429){if(!_0x56c429['length']){throw new db['Sequelize']['ValidationErrorItem'](_0x331a('0x73'),0x193);}_0x1df8a9=_0x56c429;return db[_0x331a('0x74')][_0x331a('0x4d')]({'raw':!![]});}return null;})[_0x331a('0x2d')](function(_0x5db1ce){if(_0x5db1ce){_0x4a4549=_[_0x331a('0x75')](_0x5db1ce,'id');var _0x39c11a;var _0x2b4458=squel[_0x331a('0x76')]();_0x2b4458[_0x331a('0x77')](_0x3a69db[_0x331a('0x78')]);for(var _0x2a2fac=0x0;_0x2a2fac<_0x1df8a9[_0x331a('0x43')];_0x2a2fac+=0x1){_0x39c11a=_0x1df8a9[_0x2a2fac][_0x331a('0x79')]?_0x4a4549[_0x1df8a9[_0x2a2fac]['MetricId']][_0x331a('0x7a')]:_0x1df8a9[_0x2a2fac][_0x331a('0x6f')];_0x39c11a=_0x1df8a9[_0x2a2fac][_0x331a('0x7b')]?_[_0x331a('0x7c')](_0x56cd7b[_0x1df8a9[_0x2a2fac][_0x331a('0x7b')]],'%s',_0x39c11a):_0x39c11a;_0x39c11a=_0x1df8a9[_0x2a2fac]['format']?_[_0x331a('0x7c')](_0x3ec6f4[_0x1df8a9[_0x2a2fac][_0x331a('0x7d')]],'%s',_0x39c11a):_0x39c11a;if(_0x1df8a9[_0x2a2fac][_0x331a('0x7e')]){_0x2b4458['group'](_0x39c11a);}_0x1df8a9[_0x2a2fac]['orderBy']&&_0x2b4458[_0x331a('0x7f')](_0x39c11a,_0x1df8a9[_0x2a2fac][_0x331a('0x80')]===_0x331a('0x81')?![]:!![]);_0x2b4458[_0x331a('0x6f')](_0x39c11a,_0x1df8a9[_0x2a2fac][_0x331a('0x82')]||_0x39c11a);}if(_0x3a69db[_0x331a('0x83')]){_0x3a69db[_0x331a('0x83')]=JSON['parse'](_0x3a69db[_0x331a('0x83')]);for(var _0x164a4f=0x0;_0x164a4f<_0x3a69db[_0x331a('0x83')][_0x331a('0x43')];_0x164a4f+=0x1){if(_0x3a69db['joins'][_0x164a4f][_0x331a('0x3a')]&&_['includes'](_0x4121e7,_0x3a69db['joins'][_0x164a4f][_0x331a('0x3a')])&&_0x3a69db['joins'][_0x164a4f][_0x331a('0x84')]&&_0x3a69db[_0x331a('0x83')][_0x164a4f]['foreignTable']&&_0x3a69db[_0x331a('0x83')][_0x164a4f][_0x331a('0x85')]){_0x2b4458[_0x3a69db[_0x331a('0x83')][_0x164a4f][_0x331a('0x3a')]](_0x3a69db[_0x331a('0x83')][_0x164a4f][_0x331a('0x86')],null,util['format'](_0x331a('0x87'),_0x3a69db[_0x331a('0x78')],_0x3a69db[_0x331a('0x83')][_0x164a4f][_0x331a('0x84')],_0x3a69db[_0x331a('0x83')][_0x164a4f][_0x331a('0x86')],_0x3a69db[_0x331a('0x83')][_0x164a4f][_0x331a('0x85')]));}}}if(_0x3a69db[_0x331a('0x88')]){_0x3a69db[_0x331a('0x88')]=JSON[_0x331a('0x89')](_0x3a69db[_0x331a('0x88')]);_0x2b4458[_0x331a('0x47')](_0x4502f6(_0x3a69db[_0x331a('0x88')][_0x331a('0x6e')]));}_0xe73504=_0x2b4458[_0x331a('0x8a')]();_0x2b4458[_0x331a('0x24')](_0x3495ef);_0x2b4458[_0x331a('0x22')](0x0);logger[_0x331a('0x8b')](_0x331a('0x8c'),_0x2b4458[_0x331a('0x8d')]());return dbH['sequelize']['query'](_0x2b4458[_0x331a('0x8d')](),{'type':dbH[_0x331a('0x8e')][_0x331a('0x8f')][_0x331a('0x90')]});}})['then'](respondWithResult(_0x26dada,null))[_0x331a('0x4f')](handleError(_0x26dada,null));};function runReport(_0x50dcac,_0x1cff1a,_0x1cfc58){var _0x2a4f24=_0x1cff1a[_0x331a('0x34')];var _0x3cd8ab=0xa;var _0xc04b7=[_0x331a('0x5a'),_0x331a('0x91'),'right_join',_0x331a('0x5c')];var _0x14ff5b={'SUM':_0x331a('0x5d'),'COUNT':_0x331a('0x5e'),'COUNT DISTINCT':_0x331a('0x5f'),'MAX':_0x331a('0x92'),'MIN':_0x331a('0x60'),'AVG':'AVG(%s)','GROUP_CONCAT':'GROUP_CONCAT(%s)','GROUP_CONCAT ASC':_0x331a('0x63'),'GROUP_CONCAT DESC':_0x331a('0x64')};var _0x24e6cb={'SEC_TO_TIME':_0x331a('0x65'),'DATE':'DATE(%s)','HOUR':'HOUR(%s)','ROUND':'ROUND(%s)','UNIX_TIMESTAMP':_0x331a('0x69')};var _0x589cbd=function(_0x5f2a01){return!_[_0x331a('0x6a')]([_0x331a('0x6b'),_0x331a('0x93'),_0x331a('0x6c'),_0x331a('0x94')],_0x5f2a01);};var _0x957c4f=function(_0x2936d8){if(!_0x2936d8||!_0x2936d8[_0x331a('0x6d')]['length']){return'';}for(var _0x13c476='(',_0x373df5=0x0;_0x373df5<_0x2936d8[_0x331a('0x6d')][_0x331a('0x43')];_0x373df5+=0x1){_0x373df5>0x0&&(_0x13c476+='\x20'+_0x2936d8['operator']+'\x20');_0x13c476+=_0x2936d8[_0x331a('0x6d')][_0x373df5][_0x331a('0x6e')]?_0x957c4f(_0x2936d8[_0x331a('0x6d')][_0x373df5][_0x331a('0x6e')]):_0x2936d8[_0x331a('0x6d')][_0x373df5][_0x331a('0x6f')]+'\x20'+_0x2936d8['rules'][_0x373df5][_0x331a('0x70')]+(_0x589cbd(_0x2936d8[_0x331a('0x6d')][_0x373df5]['condition'])?'\x20'+_0x2936d8['rules'][_0x373df5]['value']:'');}return _0x13c476+')';};var _0xb14d9d={'where':{'id':_0x50dcac['id']}},_0x4bef3e,_0x4546a2,_0x300ba0,_0x3484f2,_0x5a84b9;_0xb14d9d=_[_0x331a('0x4a')]({},_0xb14d9d,_0x1cfc58);return db[_0x331a('0x37')][_0x331a('0x52')](_0xb14d9d)['then'](function(_0x31125b){if(_0x31125b){_0x4bef3e=_0x31125b;return _0x31125b['getFields']();}return null;})[_0x331a('0x2d')](function(_0x564c75){if(_0x564c75){if(!_0x564c75['length']){throw new db[(_0x331a('0x95'))][(_0x331a('0x96'))]('Please\x20insert\x20at\x20least\x20one\x20field',0x193);}_0x4546a2=_0x564c75;return db[_0x331a('0x74')][_0x331a('0x4d')]({'raw':!![]});}return null;})[_0x331a('0x2d')](function(_0x1f26ab){if(_0x1f26ab){_0x300ba0=_[_0x331a('0x75')](_0x1f26ab,'id');var _0x40e1fe;var _0x118834=squel['select']();_0x118834[_0x331a('0x77')](_0x4bef3e[_0x331a('0x78')]);for(var _0x576815=0x0;_0x576815<_0x4546a2[_0x331a('0x43')];_0x576815+=0x1){_0x40e1fe=_0x4546a2[_0x576815][_0x331a('0x79')]?_0x300ba0[_0x4546a2[_0x576815]['MetricId']][_0x331a('0x7a')]:_0x4546a2[_0x576815][_0x331a('0x6f')];_0x40e1fe=_0x4546a2[_0x576815][_0x331a('0x7b')]?_[_0x331a('0x7c')](_0x14ff5b[_0x4546a2[_0x576815][_0x331a('0x7b')]],'%s',_0x40e1fe):_0x40e1fe;_0x40e1fe=_0x4546a2[_0x576815][_0x331a('0x7d')]?_[_0x331a('0x7c')](_0x24e6cb[_0x4546a2[_0x576815]['format']],'%s',_0x40e1fe):_0x40e1fe;if(_0x4546a2[_0x576815]['groupBy']){_0x118834[_0x331a('0x6e')](_0x40e1fe);}_0x4546a2[_0x576815][_0x331a('0x80')]&&_0x118834[_0x331a('0x7f')](_0x40e1fe,_0x4546a2[_0x576815][_0x331a('0x80')]===_0x331a('0x81')?![]:!![]);_0x118834[_0x331a('0x6f')](_0x40e1fe,_0x4546a2[_0x576815]['alias']||_0x40e1fe);}if(_0x4bef3e[_0x331a('0x83')]){_0x4bef3e[_0x331a('0x83')]=JSON['parse'](_0x4bef3e[_0x331a('0x83')]);for(var _0x350007=0x0;_0x350007<_0x4bef3e[_0x331a('0x83')][_0x331a('0x43')];_0x350007+=0x1){if(_0x4bef3e[_0x331a('0x83')][_0x350007][_0x331a('0x3a')]&&_[_0x331a('0x6a')](_0xc04b7,_0x4bef3e['joins'][_0x350007][_0x331a('0x3a')])&&_0x4bef3e[_0x331a('0x83')][_0x350007]['parentKey']&&_0x4bef3e[_0x331a('0x83')][_0x350007][_0x331a('0x86')]&&_0x4bef3e[_0x331a('0x83')][_0x350007][_0x331a('0x85')]){_0x118834[_0x4bef3e[_0x331a('0x83')][_0x350007][_0x331a('0x3a')]](_0x4bef3e[_0x331a('0x83')][_0x350007][_0x331a('0x86')],null,util[_0x331a('0x7d')](_0x331a('0x87'),_0x4bef3e[_0x331a('0x78')],_0x4bef3e[_0x331a('0x83')][_0x350007]['parentKey'],_0x4bef3e[_0x331a('0x83')][_0x350007][_0x331a('0x86')],_0x4bef3e[_0x331a('0x83')][_0x350007][_0x331a('0x85')]));}}}if(_0x4bef3e[_0x331a('0x88')]){_0x4bef3e['conditions']=JSON[_0x331a('0x89')](_0x4bef3e[_0x331a('0x88')]);_0x118834[_0x331a('0x47')](_0x957c4f(_0x4bef3e['conditions'][_0x331a('0x6e')]));}_0x5a84b9=_0x118834[_0x331a('0x8a')]();_0x118834[_0x331a('0x24')](_0x3cd8ab);_0x118834[_0x331a('0x22')](0x0);return;}})['then'](function(){if(_0x1cff1a[_0x331a('0x97')]===_0x331a('0x98')){return null;}var _0x3fd23f=_['merge'](_0x1cff1a,{'name':_0x1cff1a[_0x331a('0x99')]||_0x1cff1a[_0x331a('0x34')]||_0x4bef3e[_0x331a('0x34')],'basename':_0x2a4f24,'savename':util[_0x331a('0x7d')](_0x331a('0x9a'),_0x1cff1a[_0x331a('0x34')]||_0x4bef3e[_0x331a('0x34')],require(_0x331a('0x9b'))[_0x331a('0x9c')](0x4),_0x1cff1a['output']||_0x331a('0x9d')),'reportId':_0x4bef3e['id'],'reportType':_0x331a('0x9e')});return db[_0x331a('0x9f')][_0x331a('0x53')](_0x3fd23f,{'raw':!![]});})[_0x331a('0x2d')](function(_0x317df1){if(_0x4bef3e[_0x331a('0x78')]===_0x331a('0xa0')){_0x5a84b9['where'](_0x4bef3e[_0x331a('0x78')]+_0x331a('0xa1'),_0x1cff1a[_0x331a('0xa2')],_0x1cff1a[_0x331a('0xa3')]);}else{_0x5a84b9[_0x331a('0x47')](_0x4bef3e[_0x331a('0x78')]+_0x331a('0xa4'),_0x1cff1a['startDate'],_0x1cff1a[_0x331a('0xa3')]);}if(_0x317df1){logger[_0x331a('0xa5')](_0x331a('0xa6'),_0x5a84b9[_0x331a('0x8d')]());require(_0x331a('0xa7'))[_0x331a('0xa8')](path[_0x331a('0x5a')](__dirname,_0x331a('0xa9'),_0x317df1[_0x331a('0x97')]),[_0x317df1['id'],_0x5a84b9[_0x331a('0x8d')](),path[_0x331a('0x5a')](__dirname,'../../files/reports',_0x317df1['savename']),_0x2a4f24]);return _0x317df1;}else{var _0x24fc5b=squel[_0x331a('0x76')]();_0x24fc5b['from']('('+_0x5a84b9[_0x331a('0x8d')]()+')',_0x331a('0xaa'));_0x24fc5b[_0x331a('0x6f')]('COUNT(*)',_0x331a('0x25'));_0x5a84b9[_0x331a('0x24')](_0x1cff1a['limit']||_0x3cd8ab);_0x5a84b9['offset'](_0x1cff1a[_0x331a('0x22')]||0x0);return dbH[_0x331a('0x8e')][_0x331a('0x3e')](_0x24fc5b[_0x331a('0x8d')](),{'type':dbH['sequelize'][_0x331a('0x8f')][_0x331a('0x90')]})[_0x331a('0x2d')](function(_0x3347c8){if(!_0x3347c8[_0x331a('0x43')]){_0x3484f2=0x0;}else{_0x3484f2=_0x3347c8[0x0][_0x331a('0x25')]||0x0;}return dbH[_0x331a('0x8e')][_0x331a('0x3e')](_0x5a84b9[_0x331a('0x8d')](),{'type':dbH[_0x331a('0x8e')][_0x331a('0x8f')][_0x331a('0x90')]});})[_0x331a('0x2d')](function(_0x142025){return{'rows':_0x142025||[],'count':_0x3484f2};});}});}exports[_0x331a('0xab')]=function(_0x56cad9,_0x140d7e){return runReport(_0x56cad9[_0x331a('0x50')],_0x56cad9[_0x331a('0x3e')],_0x56cad9[_0x331a('0x51')])[_0x331a('0x2d')](respondWithResult(_0x140d7e,null))[_0x331a('0x4f')](handleError(_0x140d7e,null));};exports[_0x331a('0xac')]=runReport;exports[_0x331a('0x3e')]=function(_0x4160b5,_0x2a144d){var _0x336ba5=0xa;var _0x30f773=['join',_0x331a('0x91'),_0x331a('0x5b'),_0x331a('0x5c')];var _0x242fbc={'SUM':_0x331a('0x5d'),'COUNT':'COUNT(%s)','COUNT DISTINCT':_0x331a('0x5f'),'MAX':_0x331a('0x92'),'MIN':_0x331a('0x60'),'AVG':_0x331a('0x61'),'GROUP_CONCAT':_0x331a('0x62'),'GROUP_CONCAT ASC':_0x331a('0x63'),'GROUP_CONCAT DESC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)'};var _0x429525={'SEC_TO_TIME':_0x331a('0x65'),'DATE':_0x331a('0x66'),'HOUR':_0x331a('0x67'),'ROUND':_0x331a('0x68'),'UNIX_TIMESTAMP':_0x331a('0x69')};var _0x2188e5=function(_0x4fec80){return!_['includes'](['IS\x20NULL','IS\x20NOT\x20NULL',_0x331a('0x6c'),_0x331a('0x94')],_0x4fec80);};var _0x27b0c6=function(_0x50231f){if(!_0x50231f||!_0x50231f['rules'][_0x331a('0x43')]){return'';}for(var _0x396660='(',_0x390ce7=0x0;_0x390ce7<_0x50231f['rules'][_0x331a('0x43')];_0x390ce7+=0x1){_0x390ce7>0x0&&(_0x396660+='\x20'+_0x50231f[_0x331a('0xad')]+'\x20');_0x396660+=_0x50231f[_0x331a('0x6d')][_0x390ce7]['group']?_0x27b0c6(_0x50231f[_0x331a('0x6d')][_0x390ce7][_0x331a('0x6e')]):_0x50231f[_0x331a('0x6d')][_0x390ce7][_0x331a('0x6f')]+'\x20'+_0x50231f[_0x331a('0x6d')][_0x390ce7]['condition']+(_0x2188e5(_0x50231f['rules'][_0x390ce7][_0x331a('0x70')])?'\x20'+_0x50231f[_0x331a('0x6d')][_0x390ce7][_0x331a('0x71')]:'');}return _0x396660+')';};var _0x35e51={'where':{'id':_0x4160b5[_0x331a('0x50')]['id']}},_0x1a1a0f,_0x18dac5,_0x3946d9,_0x3ff22c,_0x37236f;_0x35e51=_['merge']({},_0x35e51,_0x4160b5[_0x331a('0x51')]);return db[_0x331a('0x37')][_0x331a('0x52')](_0x35e51)[_0x331a('0x2d')](function(_0x2cb26){if(_0x2cb26){_0x1a1a0f=_0x2cb26;return _0x2cb26[_0x331a('0x72')]();}return null;})[_0x331a('0x2d')](function(_0x77dea8){if(_0x77dea8){if(!_0x77dea8[_0x331a('0x43')]){throw new db[(_0x331a('0x95'))][(_0x331a('0x96'))](_0x331a('0x73'),0x193);}_0x18dac5=_0x77dea8;return db[_0x331a('0x74')]['findAll']({'raw':!![]});}return null;})[_0x331a('0x2d')](function(_0x1181cc){if(_0x1181cc){_0x3946d9=_[_0x331a('0x75')](_0x1181cc,'id');var _0x10df41;var _0x1ec707=squel['select']();_0x1ec707[_0x331a('0x77')](_0x1a1a0f[_0x331a('0x78')]);for(var _0x219efd=0x0;_0x219efd<_0x18dac5['length'];_0x219efd+=0x1){_0x10df41=_0x18dac5[_0x219efd]['MetricId']?_0x3946d9[_0x18dac5[_0x219efd][_0x331a('0x79')]][_0x331a('0x7a')]:_0x18dac5[_0x219efd]['field'];_0x10df41=_0x18dac5[_0x219efd][_0x331a('0x7b')]?_[_0x331a('0x7c')](_0x242fbc[_0x18dac5[_0x219efd]['function']],'%s',_0x10df41):_0x10df41;_0x10df41=_0x18dac5[_0x219efd][_0x331a('0x7d')]?_[_0x331a('0x7c')](_0x429525[_0x18dac5[_0x219efd][_0x331a('0x7d')]],'%s',_0x10df41):_0x10df41;if(_0x18dac5[_0x219efd][_0x331a('0x7e')]){_0x1ec707[_0x331a('0x6e')](_0x10df41);}_0x18dac5[_0x219efd][_0x331a('0x80')]&&_0x1ec707[_0x331a('0x7f')](_0x10df41,_0x18dac5[_0x219efd]['orderBy']===_0x331a('0x81')?![]:!![]);_0x1ec707['field'](_0x10df41,_0x18dac5[_0x219efd]['alias']||_0x10df41);}if(_0x1a1a0f[_0x331a('0x83')]){_0x1a1a0f[_0x331a('0x83')]=JSON['parse'](_0x1a1a0f[_0x331a('0x83')]);for(var _0x696fe2=0x0;_0x696fe2<_0x1a1a0f[_0x331a('0x83')][_0x331a('0x43')];_0x696fe2+=0x1){if(_0x1a1a0f['joins'][_0x696fe2]['type']&&_[_0x331a('0x6a')](_0x30f773,_0x1a1a0f[_0x331a('0x83')][_0x696fe2][_0x331a('0x3a')])&&_0x1a1a0f[_0x331a('0x83')][_0x696fe2][_0x331a('0x84')]&&_0x1a1a0f[_0x331a('0x83')][_0x696fe2][_0x331a('0x86')]&&_0x1a1a0f[_0x331a('0x83')][_0x696fe2]['foreignKey']){_0x1ec707[_0x1a1a0f[_0x331a('0x83')][_0x696fe2][_0x331a('0x3a')]](_0x1a1a0f['joins'][_0x696fe2][_0x331a('0x86')],null,util[_0x331a('0x7d')]('%s.%s\x20=\x20%s.%s',_0x1a1a0f['table'],_0x1a1a0f['joins'][_0x696fe2]['parentKey'],_0x1a1a0f[_0x331a('0x83')][_0x696fe2][_0x331a('0x86')],_0x1a1a0f['joins'][_0x696fe2][_0x331a('0x85')]));}}}if(_0x1a1a0f[_0x331a('0x88')]){_0x1a1a0f[_0x331a('0x88')]=JSON['parse'](_0x1a1a0f[_0x331a('0x88')]);_0x1ec707[_0x331a('0x47')](_0x27b0c6(_0x1a1a0f[_0x331a('0x88')][_0x331a('0x6e')]));}_0x37236f=_0x1ec707[_0x331a('0x8a')]();_0x1ec707['limit'](_0x336ba5);_0x1ec707[_0x331a('0x22')](0x0);logger[_0x331a('0x8b')](_0x331a('0x8c'),_0x1ec707['toString']());return dbH[_0x331a('0x8e')][_0x331a('0x3e')](_0x1ec707['toString'](),{'type':dbH[_0x331a('0x8e')][_0x331a('0x8f')]['SELECT']});}})['then'](function(){return{'sql':_0x37236f[_0x331a('0x8d')]()};})[_0x331a('0x2d')](respondWithResult(_0x2a144d,null))[_0x331a('0x4f')](handleError(_0x2a144d,null));};