Built motion from commit (unavailable).|2.5.13
[motion2.git] / server / api / analyticDefaultReport / analyticDefaultReport.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 _0x8bda=['find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','preview','left_join','right_join','cross_join','SUM(%s)','COUNT(%s)','COUNT(DISTINCT\x20%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)','HOUR(%s)','UNIX_TIMESTAMP(%s)','includes','IS\x20NULL','IS\x20NOT\x20NULL','IS\x20EMPTY','IS\x20NOT\x20EMPTY','rules','operator','group','field','condition','value','getFields','Sequelize','ValidationErrorItem','Please\x20insert\x20at\x20least\x20one\x20field','AnalyticMetric','keyBy','select','MetricId','function','replace','format','groupBy','orderBy','alias','joins','parse','foreignTable','foreignKey','table','parentKey','conditions','debug','Limited\x20Query:','toString','QueryTypes','SELECT','DATE(%s)','ROUND(%s)','from','metric','%s.%s\x20=\x20%s.%s','clone','output','web','%s-%s.%s','randomstring','generate','csv','default','AnalyticExtractedReport','cdr','.calldate\x20BETWEEN\x20?\x20AND\x20?','startDate','endDate','.createdAt\x20BETWEEN\x20?\x20AND\x20?','info','Run\x20Query:','child_process','fork','join','../../components/export/','savename','countTable','sequelize','run','runReport','DESC','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','path','to-csv','ejs','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','dbH','sendStatus','status','end','json','count','offset','reject','save','then','destroy','get','DefaultReports','error','name','send','map','AnalyticDefaultReport','rawAttributes','fieldName','type','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','limit','order','sort','where','filter','merge','VIRTUAL','options','includeAll','findAll','rows','catch','show','params','include'];(function(_0x5a2f15,_0x2c2762){var _0xb23f64=function(_0x31e894){while(--_0x31e894){_0x5a2f15['push'](_0x5a2f15['shift']());}};_0xb23f64(++_0x2c2762);}(_0x8bda,0x104));var _0xa8bd=function(_0x20a558,_0x160e0e){_0x20a558=_0x20a558-0x0;var _0x53d3f7=_0x8bda[_0x20a558];return _0x53d3f7;};'use strict';var pdf=require(_0xa8bd('0x0'));var emlformat=require(_0xa8bd('0x1'));var rimraf=require(_0xa8bd('0x2'));var zipdir=require(_0xa8bd('0x3'));var jsonpatch=require(_0xa8bd('0x4'));var rp=require(_0xa8bd('0x5'));var moment=require('moment');var BPromise=require(_0xa8bd('0x6'));var Mustache=require(_0xa8bd('0x7'));var util=require('util');var path=require(_0xa8bd('0x8'));var sox=require('sox');var csv=require(_0xa8bd('0x9'));var ejs=require(_0xa8bd('0xa'));var fs=require('fs');var _=require('lodash');var squel=require(_0xa8bd('0xb'));var crypto=require(_0xa8bd('0xc'));var jsforce=require(_0xa8bd('0xd'));var deskjs=require(_0xa8bd('0xe'));var toCsv=require(_0xa8bd('0x9'));var querystring=require('querystring');var Papa=require(_0xa8bd('0xf'));var Redis=require(_0xa8bd('0x10'));var authService=require(_0xa8bd('0x11'));var qs=require(_0xa8bd('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xa8bd('0x13'));var logger=require(_0xa8bd('0x14'))('api');var utils=require(_0xa8bd('0x15'));var config=require(_0xa8bd('0x16'));var licenseUtil=require(_0xa8bd('0x17'));var db=require(_0xa8bd('0x18'))['db'];var dbH=require(_0xa8bd('0x18'))[_0xa8bd('0x19')];function respondWithStatusCode(_0x454b92,_0x36e86e){_0x36e86e=_0x36e86e||0xcc;return function(_0x3310e4){if(_0x3310e4){return _0x454b92[_0xa8bd('0x1a')](_0x36e86e);}return _0x454b92[_0xa8bd('0x1b')](_0x36e86e)[_0xa8bd('0x1c')]();};}function respondWithResult(_0x3cd473,_0x339dc9){_0x339dc9=_0x339dc9||0xc8;return function(_0x34dcb1){if(_0x34dcb1){return _0x3cd473['status'](_0x339dc9)[_0xa8bd('0x1d')](_0x34dcb1);}};}function respondWithFilteredResult(_0x49a5bc,_0xbb406){return function(_0x5ad481){if(_0x5ad481){var _0x4a2d33=_0x5ad481[_0xa8bd('0x1e')],_0x2cea04=_0xbb406['offset'],_0x8ae9eb=_0xbb406[_0xa8bd('0x1f')]+_0xbb406['limit'],_0x21f737;if(_0x8ae9eb>=_0x4a2d33){_0x8ae9eb=_0x4a2d33;_0x21f737=0xc8;}else{_0x21f737=0xce;}_0x49a5bc['status'](_0x21f737);return _0x49a5bc['set']('Content-Range',_0x2cea04+'-'+_0x8ae9eb+'/'+_0x4a2d33)[_0xa8bd('0x1d')](_0x5ad481);}return null;};}function patchUpdates(_0x396d1e){return function(_0x6849fd){try{jsonpatch['apply'](_0x6849fd,_0x396d1e,!![]);}catch(_0x22c70d){return BPromise[_0xa8bd('0x20')](_0x22c70d);}return _0x6849fd[_0xa8bd('0x21')]();};}function saveUpdates(_0x55c967,_0x386d33){return function(_0x119fdf){if(_0x119fdf){return _0x119fdf['update'](_0x55c967)[_0xa8bd('0x22')](function(_0xaba270){return _0xaba270;});}return null;};}function removeEntity(_0x5e9052,_0xa4b05b){return function(_0x19669a){if(_0x19669a){return _0x19669a[_0xa8bd('0x23')]()[_0xa8bd('0x22')](function(){var _0x54ad4e=_0x19669a[_0xa8bd('0x24')]({'plain':!![]});var _0x2a7951=_0xa8bd('0x25');return db['UserProfileResource']['destroy']({'where':{'type':_0x2a7951,'resourceId':_0x54ad4e['id']}})['then'](function(){return _0x19669a;});})['then'](function(){_0x5e9052[_0xa8bd('0x1b')](0xcc)['end']();});}};}function handleEntityNotFound(_0x1432b3,_0x146dea){return function(_0x5d029e){if(!_0x5d029e){_0x1432b3[_0xa8bd('0x1a')](0x194);}return _0x5d029e;};}function handleError(_0xbcad45,_0x1a88c8){_0x1a88c8=_0x1a88c8||0x1f4;return function(_0x2abc26){logger[_0xa8bd('0x26')](_0x2abc26['stack']);if(_0x2abc26[_0xa8bd('0x27')]){delete _0x2abc26[_0xa8bd('0x27')];}_0xbcad45[_0xa8bd('0x1b')](_0x1a88c8)[_0xa8bd('0x28')](_0x2abc26);};}exports['index']=function(_0x7bb9fe,_0x12a407){var _0x1c2779={},_0x5d3df1={},_0x389c8a={'count':0x0,'rows':[]};var _0x2fafb3=_[_0xa8bd('0x29')](db[_0xa8bd('0x2a')][_0xa8bd('0x2b')],function(_0x521b1c){return{'name':_0x521b1c[_0xa8bd('0x2c')],'type':_0x521b1c[_0xa8bd('0x2d')]['key']};});_0x5d3df1['model']=_[_0xa8bd('0x29')](_0x2fafb3,_0xa8bd('0x27'));_0x5d3df1[_0xa8bd('0x2e')]=_[_0xa8bd('0x2f')](_0x7bb9fe[_0xa8bd('0x2e')]);_0x5d3df1[_0xa8bd('0x30')]=_[_0xa8bd('0x31')](_0x5d3df1[_0xa8bd('0x32')],_0x5d3df1[_0xa8bd('0x2e')]);_0x1c2779[_0xa8bd('0x33')]=_[_0xa8bd('0x31')](_0x5d3df1[_0xa8bd('0x32')],qs[_0xa8bd('0x34')](_0x7bb9fe[_0xa8bd('0x2e')][_0xa8bd('0x34')]));_0x1c2779[_0xa8bd('0x33')]=_0x1c2779[_0xa8bd('0x33')][_0xa8bd('0x35')]?_0x1c2779[_0xa8bd('0x33')]:_0x5d3df1['model'];if(!_0x7bb9fe['query'][_0xa8bd('0x36')]('nolimit')){_0x1c2779[_0xa8bd('0x37')]=qs[_0xa8bd('0x37')](_0x7bb9fe[_0xa8bd('0x2e')][_0xa8bd('0x37')]);_0x1c2779['offset']=qs[_0xa8bd('0x1f')](_0x7bb9fe[_0xa8bd('0x2e')][_0xa8bd('0x1f')]);}_0x1c2779[_0xa8bd('0x38')]=qs[_0xa8bd('0x39')](_0x7bb9fe[_0xa8bd('0x2e')][_0xa8bd('0x39')]);_0x1c2779[_0xa8bd('0x3a')]=qs[_0xa8bd('0x30')](_['pick'](_0x7bb9fe[_0xa8bd('0x2e')],_0x5d3df1[_0xa8bd('0x30')]),_0x2fafb3);if(_0x7bb9fe[_0xa8bd('0x2e')][_0xa8bd('0x3b')]){_0x1c2779['where']=_[_0xa8bd('0x3c')](_0x1c2779['where'],{'$or':_['map'](_0x2fafb3,function(_0x3ffb77){if(_0x3ffb77[_0xa8bd('0x2d')]!==_0xa8bd('0x3d')){var _0x1a554c={};_0x1a554c[_0x3ffb77[_0xa8bd('0x27')]]={'$like':'%'+_0x7bb9fe['query'][_0xa8bd('0x3b')]+'%'};return _0x1a554c;}})});}_0x1c2779=_['merge']({},_0x1c2779,_0x7bb9fe[_0xa8bd('0x3e')]);var _0x37e2f8={'where':_0x1c2779[_0xa8bd('0x3a')]};return db['AnalyticDefaultReport'][_0xa8bd('0x1e')](_0x37e2f8)['then'](function(_0x5621e7){_0x389c8a[_0xa8bd('0x1e')]=_0x5621e7;if(_0x7bb9fe[_0xa8bd('0x2e')][_0xa8bd('0x3f')]){_0x1c2779['include']=[{'all':!![]}];}return db['AnalyticDefaultReport'][_0xa8bd('0x40')](_0x1c2779);})[_0xa8bd('0x22')](function(_0x4c0332){_0x389c8a[_0xa8bd('0x41')]=_0x4c0332;return _0x389c8a;})[_0xa8bd('0x22')](respondWithFilteredResult(_0x12a407,_0x1c2779))[_0xa8bd('0x42')](handleError(_0x12a407,null));};exports[_0xa8bd('0x43')]=function(_0x50108b,_0x1f90f6){var _0x51d343={'raw':!![],'where':{'id':_0x50108b[_0xa8bd('0x44')]['id']}},_0x58cd6a={};_0x58cd6a[_0xa8bd('0x32')]=_['keys'](db[_0xa8bd('0x2a')][_0xa8bd('0x2b')]);_0x58cd6a['query']=_[_0xa8bd('0x2f')](_0x50108b[_0xa8bd('0x2e')]);_0x58cd6a[_0xa8bd('0x30')]=_[_0xa8bd('0x31')](_0x58cd6a['model'],_0x58cd6a['query']);_0x51d343['attributes']=_[_0xa8bd('0x31')](_0x58cd6a[_0xa8bd('0x32')],qs['fields'](_0x50108b['query']['fields']));_0x51d343[_0xa8bd('0x33')]=_0x51d343[_0xa8bd('0x33')][_0xa8bd('0x35')]?_0x51d343['attributes']:_0x58cd6a[_0xa8bd('0x32')];if(_0x50108b[_0xa8bd('0x2e')][_0xa8bd('0x3f')]){_0x51d343[_0xa8bd('0x45')]=[{'all':!![]}];}_0x51d343=_[_0xa8bd('0x3c')]({},_0x51d343,_0x50108b[_0xa8bd('0x3e')]);return db[_0xa8bd('0x2a')][_0xa8bd('0x46')](_0x51d343)[_0xa8bd('0x22')](handleEntityNotFound(_0x1f90f6,null))[_0xa8bd('0x22')](respondWithResult(_0x1f90f6,null))[_0xa8bd('0x42')](handleError(_0x1f90f6,null));};exports[_0xa8bd('0x47')]=function(_0x54e73c,_0x3fed17){return db[_0xa8bd('0x2a')][_0xa8bd('0x47')](_0x54e73c[_0xa8bd('0x48')],{})[_0xa8bd('0x22')](function(_0x2376af){var _0x4a01ba=_0x54e73c[_0xa8bd('0x49')]['get']({'plain':!![]});if(!_0x4a01ba)throw new Error(_0xa8bd('0x4a'));if(_0x4a01ba[_0xa8bd('0x4b')]==='user'){var _0x34a0bc=_0x2376af['get']({'plain':!![]});var _0x1b05f9='Reports';return db[_0xa8bd('0x4c')][_0xa8bd('0x46')]({'where':{'name':_0x1b05f9,'userProfileId':_0x4a01ba[_0xa8bd('0x4d')]},'raw':!![]})[_0xa8bd('0x22')](function(_0x161864){if(_0x161864&&_0x161864['autoAssociation']===0x0){return db[_0xa8bd('0x4e')][_0xa8bd('0x47')]({'name':_0x34a0bc['name'],'resourceId':_0x34a0bc['id'],'type':_0xa8bd('0x25'),'sectionId':_0x161864['id']},{})[_0xa8bd('0x22')](function(){return _0x2376af;});}else{return _0x2376af;}})['catch'](function(_0x2235c9){logger[_0xa8bd('0x26')](_0xa8bd('0x4f'),_0x2235c9);throw _0x2235c9;});}return _0x2376af;})[_0xa8bd('0x22')](respondWithResult(_0x3fed17,0xc9))['catch'](handleError(_0x3fed17,null));};exports[_0xa8bd('0x50')]=function(_0x40f274,_0x307754){if(_0x40f274[_0xa8bd('0x48')]['id']){delete _0x40f274[_0xa8bd('0x48')]['id'];}return db[_0xa8bd('0x2a')][_0xa8bd('0x46')]({'where':{'id':_0x40f274['params']['id']}})[_0xa8bd('0x22')](handleEntityNotFound(_0x307754,null))['then'](saveUpdates(_0x40f274['body'],null))[_0xa8bd('0x22')](respondWithResult(_0x307754,null))['catch'](handleError(_0x307754,null));};exports[_0xa8bd('0x23')]=function(_0x3a83e7,_0x40c666){return db[_0xa8bd('0x2a')][_0xa8bd('0x46')]({'where':{'id':_0x3a83e7[_0xa8bd('0x44')]['id']}})[_0xa8bd('0x22')](handleEntityNotFound(_0x40c666,null))[_0xa8bd('0x22')](removeEntity(_0x40c666,null))[_0xa8bd('0x42')](handleError(_0x40c666,null));};exports[_0xa8bd('0x51')]=function(_0xa5f965,_0x232006){var _0x1bf62c=0xa;var _0x40ab9c=['join',_0xa8bd('0x52'),_0xa8bd('0x53'),_0xa8bd('0x54')];var _0x3a2520={'SUM':_0xa8bd('0x55'),'COUNT':_0xa8bd('0x56'),'COUNT DISTINCT':_0xa8bd('0x57'),'MAX':_0xa8bd('0x58'),'MIN':_0xa8bd('0x59'),'AVG':_0xa8bd('0x5a'),'GROUP_CONCAT':_0xa8bd('0x5b'),'GROUP_CONCAT ASC':_0xa8bd('0x5c'),'GROUP_CONCAT DESC':_0xa8bd('0x5d')};var _0x39ce17={'SEC_TO_TIME':_0xa8bd('0x5e'),'DATE':'DATE(%s)','HOUR':_0xa8bd('0x5f'),'ROUND':'ROUND(%s)','UNIX_TIMESTAMP':_0xa8bd('0x60')};var _0x3e10af=function(_0x15f7fe){return!_[_0xa8bd('0x61')]([_0xa8bd('0x62'),_0xa8bd('0x63'),_0xa8bd('0x64'),_0xa8bd('0x65')],_0x15f7fe);};var _0x59396b=function(_0xf14542){if(!_0xf14542||!_0xf14542[_0xa8bd('0x66')][_0xa8bd('0x35')]){return'';}for(var _0x4cdbfc='(',_0x5f42dd=0x0;_0x5f42dd<_0xf14542['rules'][_0xa8bd('0x35')];_0x5f42dd+=0x1){_0x5f42dd>0x0&&(_0x4cdbfc+='\x20'+_0xf14542[_0xa8bd('0x67')]+'\x20');_0x4cdbfc+=_0xf14542[_0xa8bd('0x66')][_0x5f42dd]['group']?_0x59396b(_0xf14542[_0xa8bd('0x66')][_0x5f42dd][_0xa8bd('0x68')]):_0xf14542[_0xa8bd('0x66')][_0x5f42dd][_0xa8bd('0x69')]+'\x20'+_0xf14542[_0xa8bd('0x66')][_0x5f42dd][_0xa8bd('0x6a')]+(_0x3e10af(_0xf14542[_0xa8bd('0x66')][_0x5f42dd]['condition'])?'\x20'+_0xf14542[_0xa8bd('0x66')][_0x5f42dd][_0xa8bd('0x6b')]:'');}return _0x4cdbfc+')';};var _0x2d8591={'where':{'id':_0xa5f965[_0xa8bd('0x44')]['id']}},_0x268431,_0x31d573,_0x1cb34e,_0x8f1099,_0x32a27e;_0x2d8591=_[_0xa8bd('0x3c')]({},_0x2d8591,_0xa5f965[_0xa8bd('0x3e')]);return db[_0xa8bd('0x2a')]['find'](_0x2d8591)[_0xa8bd('0x22')](function(_0x41bc2d){if(_0x41bc2d){_0x268431=_0x41bc2d;return _0x41bc2d[_0xa8bd('0x6c')]();}return null;})[_0xa8bd('0x22')](function(_0x2dba8e){if(_0x2dba8e){if(!_0x2dba8e[_0xa8bd('0x35')]){throw new db[(_0xa8bd('0x6d'))][(_0xa8bd('0x6e'))](_0xa8bd('0x6f'),0x193);}_0x31d573=_0x2dba8e;return db[_0xa8bd('0x70')][_0xa8bd('0x40')]({'raw':!![]});}return null;})['then'](function(_0x4e83d2){if(_0x4e83d2){_0x1cb34e=_[_0xa8bd('0x71')](_0x4e83d2,'id');var _0xc573c4;var _0x559c0b=squel[_0xa8bd('0x72')]();_0x559c0b['from'](_0x268431['table']);for(var _0x26d20a=0x0;_0x26d20a<_0x31d573['length'];_0x26d20a+=0x1){_0xc573c4=_0x31d573[_0x26d20a][_0xa8bd('0x73')]?_0x1cb34e[_0x31d573[_0x26d20a][_0xa8bd('0x73')]]['metric']:_0x31d573[_0x26d20a][_0xa8bd('0x69')];_0xc573c4=_0x31d573[_0x26d20a][_0xa8bd('0x74')]?_[_0xa8bd('0x75')](_0x3a2520[_0x31d573[_0x26d20a][_0xa8bd('0x74')]],'%s',_0xc573c4):_0xc573c4;_0xc573c4=_0x31d573[_0x26d20a][_0xa8bd('0x76')]?_['replace'](_0x39ce17[_0x31d573[_0x26d20a]['format']],'%s',_0xc573c4):_0xc573c4;if(_0x31d573[_0x26d20a][_0xa8bd('0x77')]){_0x559c0b[_0xa8bd('0x68')](_0xc573c4);}_0x31d573[_0x26d20a][_0xa8bd('0x78')]&&_0x559c0b['order'](_0xc573c4,_0x31d573[_0x26d20a][_0xa8bd('0x78')]==='DESC'?![]:!![]);_0x559c0b[_0xa8bd('0x69')](_0xc573c4,_0x31d573[_0x26d20a][_0xa8bd('0x79')]||_0xc573c4);}if(_0x268431[_0xa8bd('0x7a')]){_0x268431[_0xa8bd('0x7a')]=JSON[_0xa8bd('0x7b')](_0x268431['joins']);for(var _0x50b58f=0x0;_0x50b58f<_0x268431[_0xa8bd('0x7a')]['length'];_0x50b58f+=0x1){if(_0x268431[_0xa8bd('0x7a')][_0x50b58f][_0xa8bd('0x2d')]&&_[_0xa8bd('0x61')](_0x40ab9c,_0x268431[_0xa8bd('0x7a')][_0x50b58f]['type'])&&_0x268431['joins'][_0x50b58f]['parentKey']&&_0x268431['joins'][_0x50b58f][_0xa8bd('0x7c')]&&_0x268431['joins'][_0x50b58f][_0xa8bd('0x7d')]){_0x559c0b[_0x268431[_0xa8bd('0x7a')][_0x50b58f][_0xa8bd('0x2d')]](_0x268431[_0xa8bd('0x7a')][_0x50b58f]['foreignTable'],null,util['format']('%s.%s\x20=\x20%s.%s',_0x268431[_0xa8bd('0x7e')],_0x268431[_0xa8bd('0x7a')][_0x50b58f][_0xa8bd('0x7f')],_0x268431['joins'][_0x50b58f][_0xa8bd('0x7c')],_0x268431[_0xa8bd('0x7a')][_0x50b58f][_0xa8bd('0x7d')]));}}}if(_0x268431[_0xa8bd('0x80')]){_0x268431[_0xa8bd('0x80')]=JSON[_0xa8bd('0x7b')](_0x268431['conditions']);_0x559c0b['where'](_0x59396b(_0x268431[_0xa8bd('0x80')][_0xa8bd('0x68')]));}_0x32a27e=_0x559c0b['clone']();_0x559c0b[_0xa8bd('0x37')](_0x1bf62c);_0x559c0b[_0xa8bd('0x1f')](0x0);logger[_0xa8bd('0x81')](_0xa8bd('0x82'),_0x559c0b['toString']());return db['sequelize']['query'](_0x559c0b[_0xa8bd('0x83')](),{'type':db['sequelize'][_0xa8bd('0x84')][_0xa8bd('0x85')]});}})['then'](respondWithResult(_0x232006,null))[_0xa8bd('0x42')](handleError(_0x232006,null));};function runReport(_0x555580,_0x51e144,_0x575472){var _0x3f490a=_0x51e144[_0xa8bd('0x27')];var _0x31a0bf=0xa;var _0x3d9ed7=['join',_0xa8bd('0x52'),_0xa8bd('0x53'),'cross_join'];var _0x4c2b57={'SUM':_0xa8bd('0x55'),'COUNT':_0xa8bd('0x56'),'COUNT DISTINCT':_0xa8bd('0x57'),'MAX':_0xa8bd('0x58'),'MIN':_0xa8bd('0x59'),'AVG':'AVG(%s)','GROUP_CONCAT':_0xa8bd('0x5b'),'GROUP_CONCAT ASC':_0xa8bd('0x5c'),'GROUP_CONCAT DESC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)'};var _0x1e118b={'SEC_TO_TIME':'SEC_TO_TIME(%s)','DATE':_0xa8bd('0x86'),'HOUR':_0xa8bd('0x5f'),'ROUND':_0xa8bd('0x87'),'UNIX_TIMESTAMP':_0xa8bd('0x60')};var _0x3e9ab1=function(_0x112222){return!_['includes'](['IS\x20NULL',_0xa8bd('0x63'),_0xa8bd('0x64'),_0xa8bd('0x65')],_0x112222);};var _0x2dc2b7=function(_0x57eefc){if(!_0x57eefc||!_0x57eefc[_0xa8bd('0x66')][_0xa8bd('0x35')]){return'';}for(var _0x509c1f='(',_0x19aa26=0x0;_0x19aa26<_0x57eefc['rules'][_0xa8bd('0x35')];_0x19aa26+=0x1){_0x19aa26>0x0&&(_0x509c1f+='\x20'+_0x57eefc[_0xa8bd('0x67')]+'\x20');_0x509c1f+=_0x57eefc[_0xa8bd('0x66')][_0x19aa26][_0xa8bd('0x68')]?_0x2dc2b7(_0x57eefc['rules'][_0x19aa26]['group']):_0x57eefc[_0xa8bd('0x66')][_0x19aa26][_0xa8bd('0x69')]+'\x20'+_0x57eefc['rules'][_0x19aa26]['condition']+(_0x3e9ab1(_0x57eefc['rules'][_0x19aa26][_0xa8bd('0x6a')])?'\x20'+_0x57eefc[_0xa8bd('0x66')][_0x19aa26][_0xa8bd('0x6b')]:'');}return _0x509c1f+')';};var _0x4ae481={'where':{'id':_0x555580['id']}},_0x1f064d,_0x28cee4,_0x52828b,_0x2eac13,_0x4f5e67;_0x4ae481=_[_0xa8bd('0x3c')]({},_0x4ae481,_0x575472);return db[_0xa8bd('0x2a')][_0xa8bd('0x46')](_0x4ae481)[_0xa8bd('0x22')](function(_0x3c8267){if(_0x3c8267){_0x1f064d=_0x3c8267;return _0x3c8267[_0xa8bd('0x6c')]();}return null;})[_0xa8bd('0x22')](function(_0xd04d13){if(_0xd04d13){if(!_0xd04d13[_0xa8bd('0x35')]){throw new db[(_0xa8bd('0x6d'))][(_0xa8bd('0x6e'))](_0xa8bd('0x6f'),0x193);}_0x28cee4=_0xd04d13;return db['AnalyticMetric'][_0xa8bd('0x40')]({'raw':!![]});}return null;})[_0xa8bd('0x22')](function(_0xf494fc){if(_0xf494fc){_0x52828b=_['keyBy'](_0xf494fc,'id');var _0x4dbb4b;var _0x98d66f=squel[_0xa8bd('0x72')]();_0x98d66f[_0xa8bd('0x88')](_0x1f064d['table']);for(var _0x51e9ae=0x0;_0x51e9ae<_0x28cee4[_0xa8bd('0x35')];_0x51e9ae+=0x1){_0x4dbb4b=_0x28cee4[_0x51e9ae][_0xa8bd('0x73')]?_0x52828b[_0x28cee4[_0x51e9ae][_0xa8bd('0x73')]][_0xa8bd('0x89')]:_0x28cee4[_0x51e9ae][_0xa8bd('0x69')];_0x4dbb4b=_0x28cee4[_0x51e9ae][_0xa8bd('0x74')]?_[_0xa8bd('0x75')](_0x4c2b57[_0x28cee4[_0x51e9ae]['function']],'%s',_0x4dbb4b):_0x4dbb4b;_0x4dbb4b=_0x28cee4[_0x51e9ae][_0xa8bd('0x76')]?_['replace'](_0x1e118b[_0x28cee4[_0x51e9ae][_0xa8bd('0x76')]],'%s',_0x4dbb4b):_0x4dbb4b;if(_0x28cee4[_0x51e9ae][_0xa8bd('0x77')]){_0x98d66f['group'](_0x4dbb4b);}_0x28cee4[_0x51e9ae][_0xa8bd('0x78')]&&_0x98d66f[_0xa8bd('0x38')](_0x4dbb4b,_0x28cee4[_0x51e9ae]['orderBy']==='DESC'?![]:!![]);_0x98d66f[_0xa8bd('0x69')](_0x4dbb4b,_0x28cee4[_0x51e9ae][_0xa8bd('0x79')]||_0x4dbb4b);}if(_0x1f064d[_0xa8bd('0x7a')]){_0x1f064d[_0xa8bd('0x7a')]=JSON[_0xa8bd('0x7b')](_0x1f064d[_0xa8bd('0x7a')]);for(var _0x5eaad7=0x0;_0x5eaad7<_0x1f064d[_0xa8bd('0x7a')][_0xa8bd('0x35')];_0x5eaad7+=0x1){if(_0x1f064d['joins'][_0x5eaad7]['type']&&_['includes'](_0x3d9ed7,_0x1f064d[_0xa8bd('0x7a')][_0x5eaad7][_0xa8bd('0x2d')])&&_0x1f064d[_0xa8bd('0x7a')][_0x5eaad7][_0xa8bd('0x7f')]&&_0x1f064d['joins'][_0x5eaad7][_0xa8bd('0x7c')]&&_0x1f064d[_0xa8bd('0x7a')][_0x5eaad7][_0xa8bd('0x7d')]){_0x98d66f[_0x1f064d[_0xa8bd('0x7a')][_0x5eaad7][_0xa8bd('0x2d')]](_0x1f064d[_0xa8bd('0x7a')][_0x5eaad7]['foreignTable'],null,util['format'](_0xa8bd('0x8a'),_0x1f064d[_0xa8bd('0x7e')],_0x1f064d[_0xa8bd('0x7a')][_0x5eaad7][_0xa8bd('0x7f')],_0x1f064d[_0xa8bd('0x7a')][_0x5eaad7]['foreignTable'],_0x1f064d['joins'][_0x5eaad7][_0xa8bd('0x7d')]));}}}if(_0x1f064d[_0xa8bd('0x80')]){_0x1f064d['conditions']=JSON[_0xa8bd('0x7b')](_0x1f064d[_0xa8bd('0x80')]);_0x98d66f['where'](_0x2dc2b7(_0x1f064d[_0xa8bd('0x80')][_0xa8bd('0x68')]));}_0x4f5e67=_0x98d66f[_0xa8bd('0x8b')]();_0x98d66f[_0xa8bd('0x37')](_0x31a0bf);_0x98d66f[_0xa8bd('0x1f')](0x0);logger[_0xa8bd('0x81')](_0xa8bd('0x82'),_0x98d66f[_0xa8bd('0x83')]());return db['sequelize'][_0xa8bd('0x2e')](_0x98d66f['toString'](),{'type':db['sequelize'][_0xa8bd('0x84')][_0xa8bd('0x85')]});}})[_0xa8bd('0x22')](function(_0x43756e){if(!_0x43756e[_0xa8bd('0x35')]){throw new db[(_0xa8bd('0x6d'))][(_0xa8bd('0x6e'))]('No\x20available\x20data',0xcc);}if(_0x51e144[_0xa8bd('0x8c')]===_0xa8bd('0x8d')){return null;}var _0x34165a=_[_0xa8bd('0x3c')](_0x51e144,{'name':_0x51e144['fullPath']||_0x51e144[_0xa8bd('0x27')]||_0x1f064d[_0xa8bd('0x27')],'basename':_0x3f490a,'savename':util[_0xa8bd('0x76')](_0xa8bd('0x8e'),_0x51e144[_0xa8bd('0x27')]||_0x1f064d[_0xa8bd('0x27')],require(_0xa8bd('0x8f'))[_0xa8bd('0x90')](0x4),_0x51e144[_0xa8bd('0x8c')]||_0xa8bd('0x91')),'reportId':_0x1f064d['id'],'reportType':_0xa8bd('0x92')});return db[_0xa8bd('0x93')]['create'](_0x34165a,{'raw':!![]});})[_0xa8bd('0x22')](function(_0x1c2848){if(_0x1f064d[_0xa8bd('0x7e')]===_0xa8bd('0x94')){_0x4f5e67[_0xa8bd('0x3a')](_0x1f064d[_0xa8bd('0x7e')]+_0xa8bd('0x95'),_0x51e144[_0xa8bd('0x96')],_0x51e144[_0xa8bd('0x97')]);}else{_0x4f5e67[_0xa8bd('0x3a')](_0x1f064d[_0xa8bd('0x7e')]+_0xa8bd('0x98'),_0x51e144[_0xa8bd('0x96')],_0x51e144[_0xa8bd('0x97')]);}if(_0x1c2848){logger[_0xa8bd('0x99')](_0xa8bd('0x9a'),_0x4f5e67['toString']());require(_0xa8bd('0x9b'))[_0xa8bd('0x9c')](path[_0xa8bd('0x9d')](__dirname,_0xa8bd('0x9e'),_0x1c2848[_0xa8bd('0x8c')]),[_0x1c2848['id'],_0x4f5e67[_0xa8bd('0x83')](),path['join'](__dirname,'../../files/reports',_0x1c2848[_0xa8bd('0x9f')]),_0x3f490a]);return _0x1c2848;}else{var _0xcde75c=squel['select']();_0xcde75c[_0xa8bd('0x88')]('('+_0x4f5e67[_0xa8bd('0x83')]()+')',_0xa8bd('0xa0'));_0xcde75c[_0xa8bd('0x69')]('COUNT(*)',_0xa8bd('0x1e'));_0x4f5e67[_0xa8bd('0x37')](_0x51e144['limit']||_0x31a0bf);_0x4f5e67[_0xa8bd('0x1f')](_0x51e144[_0xa8bd('0x1f')]||0x0);return dbH['sequelize'][_0xa8bd('0x2e')](_0xcde75c['toString'](),{'type':dbH[_0xa8bd('0xa1')][_0xa8bd('0x84')][_0xa8bd('0x85')]})[_0xa8bd('0x22')](function(_0x3023c5){if(!_0x3023c5['length']){_0x2eac13=0x0;}else{_0x2eac13=_0x3023c5[0x0][_0xa8bd('0x1e')]||0x0;}return dbH[_0xa8bd('0xa1')][_0xa8bd('0x2e')](_0x4f5e67['toString'](),{'type':dbH[_0xa8bd('0xa1')][_0xa8bd('0x84')][_0xa8bd('0x85')]});})[_0xa8bd('0x22')](function(_0x5ba77d){return{'rows':_0x5ba77d||[],'count':_0x2eac13};});}});}exports[_0xa8bd('0xa2')]=function(_0x29e4ab,_0x57609e){return runReport(_0x29e4ab[_0xa8bd('0x44')],_0x29e4ab[_0xa8bd('0x2e')],_0x29e4ab[_0xa8bd('0x3e')])[_0xa8bd('0x22')](respondWithResult(_0x57609e,null))[_0xa8bd('0x42')](handleError(_0x57609e,null));};exports[_0xa8bd('0xa3')]=runReport;exports[_0xa8bd('0x2e')]=function(_0x4029c8,_0x34d40f){var _0x399de8=0xa;var _0x303cc9=[_0xa8bd('0x9d'),_0xa8bd('0x52'),'right_join',_0xa8bd('0x54')];var _0x392fe6={'SUM':'SUM(%s)','COUNT':_0xa8bd('0x56'),'COUNT DISTINCT':_0xa8bd('0x57'),'MAX':'MAX(%s)','MIN':_0xa8bd('0x59'),'AVG':_0xa8bd('0x5a'),'GROUP_CONCAT':_0xa8bd('0x5b'),'GROUP_CONCAT ASC':_0xa8bd('0x5c'),'GROUP_CONCAT DESC':_0xa8bd('0x5d')};var _0x1b4b24={'SEC_TO_TIME':_0xa8bd('0x5e'),'DATE':_0xa8bd('0x86'),'HOUR':_0xa8bd('0x5f'),'ROUND':'ROUND(%s)','UNIX_TIMESTAMP':_0xa8bd('0x60')};var _0x25a390=function(_0x374bbe){return!_[_0xa8bd('0x61')]([_0xa8bd('0x62'),_0xa8bd('0x63'),_0xa8bd('0x64'),'IS\x20NOT\x20EMPTY'],_0x374bbe);};var _0x3a8570=function(_0x33d41d){if(!_0x33d41d||!_0x33d41d[_0xa8bd('0x66')]['length']){return'';}for(var _0x419c0='(',_0x4d255a=0x0;_0x4d255a<_0x33d41d[_0xa8bd('0x66')][_0xa8bd('0x35')];_0x4d255a+=0x1){_0x4d255a>0x0&&(_0x419c0+='\x20'+_0x33d41d['operator']+'\x20');_0x419c0+=_0x33d41d['rules'][_0x4d255a][_0xa8bd('0x68')]?_0x3a8570(_0x33d41d[_0xa8bd('0x66')][_0x4d255a][_0xa8bd('0x68')]):_0x33d41d[_0xa8bd('0x66')][_0x4d255a][_0xa8bd('0x69')]+'\x20'+_0x33d41d[_0xa8bd('0x66')][_0x4d255a]['condition']+(_0x25a390(_0x33d41d[_0xa8bd('0x66')][_0x4d255a][_0xa8bd('0x6a')])?'\x20'+_0x33d41d[_0xa8bd('0x66')][_0x4d255a]['value']:'');}return _0x419c0+')';};var _0x44c2eb={'where':{'id':_0x4029c8[_0xa8bd('0x44')]['id']}},_0x791971,_0x2d4163,_0x523b23,_0x15596f,_0x13174a;_0x44c2eb=_[_0xa8bd('0x3c')]({},_0x44c2eb,_0x4029c8[_0xa8bd('0x3e')]);return db[_0xa8bd('0x2a')]['find'](_0x44c2eb)['then'](function(_0x4323e3){if(_0x4323e3){_0x791971=_0x4323e3;return _0x4323e3[_0xa8bd('0x6c')]();}return null;})[_0xa8bd('0x22')](function(_0x32dc89){if(_0x32dc89){if(!_0x32dc89['length']){throw new db['Sequelize'][(_0xa8bd('0x6e'))](_0xa8bd('0x6f'),0x193);}_0x2d4163=_0x32dc89;return db['AnalyticMetric'][_0xa8bd('0x40')]({'raw':!![]});}return null;})[_0xa8bd('0x22')](function(_0x162b1d){if(_0x162b1d){_0x523b23=_[_0xa8bd('0x71')](_0x162b1d,'id');var _0x5aa280;var _0x36177e=squel[_0xa8bd('0x72')]();_0x36177e[_0xa8bd('0x88')](_0x791971[_0xa8bd('0x7e')]);for(var _0x2c4a0c=0x0;_0x2c4a0c<_0x2d4163['length'];_0x2c4a0c+=0x1){_0x5aa280=_0x2d4163[_0x2c4a0c][_0xa8bd('0x73')]?_0x523b23[_0x2d4163[_0x2c4a0c][_0xa8bd('0x73')]][_0xa8bd('0x89')]:_0x2d4163[_0x2c4a0c][_0xa8bd('0x69')];_0x5aa280=_0x2d4163[_0x2c4a0c][_0xa8bd('0x74')]?_[_0xa8bd('0x75')](_0x392fe6[_0x2d4163[_0x2c4a0c]['function']],'%s',_0x5aa280):_0x5aa280;_0x5aa280=_0x2d4163[_0x2c4a0c]['format']?_[_0xa8bd('0x75')](_0x1b4b24[_0x2d4163[_0x2c4a0c]['format']],'%s',_0x5aa280):_0x5aa280;if(_0x2d4163[_0x2c4a0c][_0xa8bd('0x77')]){_0x36177e['group'](_0x5aa280);}_0x2d4163[_0x2c4a0c][_0xa8bd('0x78')]&&_0x36177e[_0xa8bd('0x38')](_0x5aa280,_0x2d4163[_0x2c4a0c][_0xa8bd('0x78')]===_0xa8bd('0xa4')?![]:!![]);_0x36177e[_0xa8bd('0x69')](_0x5aa280,_0x2d4163[_0x2c4a0c][_0xa8bd('0x79')]||_0x5aa280);}if(_0x791971[_0xa8bd('0x7a')]){_0x791971[_0xa8bd('0x7a')]=JSON[_0xa8bd('0x7b')](_0x791971[_0xa8bd('0x7a')]);for(var _0x2707f7=0x0;_0x2707f7<_0x791971[_0xa8bd('0x7a')][_0xa8bd('0x35')];_0x2707f7+=0x1){if(_0x791971[_0xa8bd('0x7a')][_0x2707f7][_0xa8bd('0x2d')]&&_[_0xa8bd('0x61')](_0x303cc9,_0x791971[_0xa8bd('0x7a')][_0x2707f7]['type'])&&_0x791971[_0xa8bd('0x7a')][_0x2707f7]['parentKey']&&_0x791971['joins'][_0x2707f7][_0xa8bd('0x7c')]&&_0x791971[_0xa8bd('0x7a')][_0x2707f7][_0xa8bd('0x7d')]){_0x36177e[_0x791971[_0xa8bd('0x7a')][_0x2707f7][_0xa8bd('0x2d')]](_0x791971[_0xa8bd('0x7a')][_0x2707f7][_0xa8bd('0x7c')],null,util[_0xa8bd('0x76')](_0xa8bd('0x8a'),_0x791971[_0xa8bd('0x7e')],_0x791971['joins'][_0x2707f7][_0xa8bd('0x7f')],_0x791971[_0xa8bd('0x7a')][_0x2707f7][_0xa8bd('0x7c')],_0x791971[_0xa8bd('0x7a')][_0x2707f7]['foreignKey']));}}}if(_0x791971['conditions']){_0x791971['conditions']=JSON[_0xa8bd('0x7b')](_0x791971[_0xa8bd('0x80')]);_0x36177e[_0xa8bd('0x3a')](_0x3a8570(_0x791971['conditions']['group']));}_0x13174a=_0x36177e['clone']();_0x36177e['limit'](_0x399de8);_0x36177e[_0xa8bd('0x1f')](0x0);logger[_0xa8bd('0x81')](_0xa8bd('0x82'),_0x36177e[_0xa8bd('0x83')]());return db[_0xa8bd('0xa1')][_0xa8bd('0x2e')](_0x36177e[_0xa8bd('0x83')](),{'type':db[_0xa8bd('0xa1')][_0xa8bd('0x84')][_0xa8bd('0x85')]});}})[_0xa8bd('0x22')](function(){return{'sql':_0x13174a['toString']()};})[_0xa8bd('0x22')](respondWithResult(_0x34d40f,null))[_0xa8bd('0x42')](handleError(_0x34d40f,null));};