5ac9a33738b756ef836386b3d17c7e544cfdc3ad
[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 _0x15e9=['format','groupBy','orderBy','order','DESC','alias','joins','parse','parentKey','foreignTable','foreignKey','%s.%s\x20=\x20%s.%s','conditions','clone','debug','toString','sequelize','QueryTypes','SELECT','COUNT(DISTINCT\x20%s)','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','Please\x20insert\x20at\x20least\x20one\x20field','select','table','output','fullPath','%s-%s.%s','randomstring','generate','csv','custom','AnalyticExtractedReport','cdr','.calldate\x20BETWEEN\x20?\x20AND\x20?','endDate','.createdAt\x20BETWEEN\x20?\x20AND\x20?','startDate','Run\x20Query:','child_process','fork','../../components/export/','../../files/reports','savename','countTable','left_join','AVG(%s)','metric','Limited\x20Query:','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','dbH','sendStatus','status','undefined','limit','count','offset','set','Content-Range','json','reject','update','destroy','CustomReports','UserProfileResource','then','stack','name','send','index','map','AnalyticCustomReport','fieldName','type','key','query','keys','intersection','attributes','model','fields','length','hasOwnProperty','sort','filters','filter','where','merge','VIRTUAL','includeAll','include','findAll','rows','catch','rawAttributes','options','create','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','Reports','UserProfileSection','find','userProfileId','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','params','join','right_join','cross_join','SUM(%s)','COUNT(%s)','MAX(%s)','MIN(%s)','GROUP_CONCAT(%s)','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)','DATE(%s)','HOUR(%s)','ROUND(%s)','UNIX_TIMESTAMP(%s)','includes','IS\x20NULL','IS\x20NOT\x20NULL','IS\x20EMPTY','IS\x20NOT\x20EMPTY','rules','operator','group','field','condition','value','getFields','Sequelize','ValidationErrorItem','AnalyticMetric','keyBy','from','MetricId','function','replace'];(function(_0x1233a9,_0x11cbfe){var _0x8023d2=function(_0x11122a){while(--_0x11122a){_0x1233a9['push'](_0x1233a9['shift']());}};_0x8023d2(++_0x11cbfe);}(_0x15e9,0xd6));var _0x915e=function(_0x51edc2,_0x24206b){_0x51edc2=_0x51edc2-0x0;var _0x268dee=_0x15e9[_0x51edc2];return _0x268dee;};'use strict';var emlformat=require(_0x915e('0x0'));var rimraf=require(_0x915e('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x915e('0x2'));var rp=require(_0x915e('0x3'));var moment=require(_0x915e('0x4'));var BPromise=require(_0x915e('0x5'));var Mustache=require(_0x915e('0x6'));var util=require(_0x915e('0x7'));var path=require('path');var sox=require(_0x915e('0x8'));var csv=require(_0x915e('0x9'));var ejs=require(_0x915e('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x915e('0xb'));var squel=require(_0x915e('0xc'));var crypto=require(_0x915e('0xd'));var jsforce=require(_0x915e('0xe'));var deskjs=require(_0x915e('0xf'));var toCsv=require(_0x915e('0x9'));var querystring=require(_0x915e('0x10'));var Papa=require('papaparse');var Redis=require(_0x915e('0x11'));var authService=require(_0x915e('0x12'));var qs=require(_0x915e('0x13'));var as=require(_0x915e('0x14'));var hardwareService=require(_0x915e('0x15'));var logger=require('../../config/logger')(_0x915e('0x16'));var utils=require(_0x915e('0x17'));var config=require(_0x915e('0x18'));var licenseUtil=require(_0x915e('0x19'));var db=require(_0x915e('0x1a'))['db'];var dbH=require(_0x915e('0x1a'))[_0x915e('0x1b')];function respondWithStatusCode(_0x20abac,_0x50805b){_0x50805b=_0x50805b||0xcc;return function(_0x33c230){if(_0x33c230){return _0x20abac[_0x915e('0x1c')](_0x50805b);}return _0x20abac[_0x915e('0x1d')](_0x50805b)['end']();};}function respondWithResult(_0x1f8611,_0xe3cdff){_0xe3cdff=_0xe3cdff||0xc8;return function(_0x1258a3){if(_0x1258a3){return _0x1f8611[_0x915e('0x1d')](_0xe3cdff)['json'](_0x1258a3);}};}function respondWithFilteredResult(_0x137ad4,_0x59a803){return function(_0xdaad8a){if(_0xdaad8a){var _0x333767=typeof _0x59a803['offset']===_0x915e('0x1e')&&typeof _0x59a803[_0x915e('0x1f')]===_0x915e('0x1e');var _0x34dc1e=_0xdaad8a[_0x915e('0x20')];var _0xdc9a7d=_0x333767?0x0:_0x59a803['offset'];var _0x50fd1c=_0x333767?_0xdaad8a[_0x915e('0x20')]:_0x59a803[_0x915e('0x21')]+_0x59a803[_0x915e('0x1f')];var _0x3a597f;if(_0x50fd1c>=_0x34dc1e){_0x50fd1c=_0x34dc1e;_0x3a597f=0xc8;}else{_0x3a597f=0xce;}_0x137ad4[_0x915e('0x1d')](_0x3a597f);return _0x137ad4[_0x915e('0x22')](_0x915e('0x23'),_0xdc9a7d+'-'+_0x50fd1c+'/'+_0x34dc1e)[_0x915e('0x24')](_0xdaad8a);}return null;};}function patchUpdates(_0x17c0bd){return function(_0xebe891){try{jsonpatch['apply'](_0xebe891,_0x17c0bd,!![]);}catch(_0x11f0d9){return BPromise[_0x915e('0x25')](_0x11f0d9);}return _0xebe891['save']();};}function saveUpdates(_0x1139f4,_0x5c93f1){return function(_0x3b8ce2){if(_0x3b8ce2){return _0x3b8ce2[_0x915e('0x26')](_0x1139f4)['then'](function(_0x56edc5){return _0x56edc5;});}return null;};}function removeEntity(_0x94eba7,_0x403299){return function(_0x3e5b2b){if(_0x3e5b2b){return _0x3e5b2b[_0x915e('0x27')]()['then'](function(){var _0x524660=_0x3e5b2b['get']({'plain':!![]});var _0x4dc6ec=_0x915e('0x28');return db[_0x915e('0x29')]['destroy']({'where':{'type':_0x4dc6ec,'resourceId':_0x524660['id']}})['then'](function(){return _0x3e5b2b;});})[_0x915e('0x2a')](function(){_0x94eba7[_0x915e('0x1d')](0xcc)['end']();});}};}function handleEntityNotFound(_0x32e4f1,_0x5e7557){return function(_0x3fe5ff){if(!_0x3fe5ff){_0x32e4f1['sendStatus'](0x194);}return _0x3fe5ff;};}function handleError(_0x28a549,_0x1d6c71){_0x1d6c71=_0x1d6c71||0x1f4;return function(_0x3a6dc5){logger['error'](_0x3a6dc5[_0x915e('0x2b')]);if(_0x3a6dc5[_0x915e('0x2c')]){delete _0x3a6dc5[_0x915e('0x2c')];}_0x28a549[_0x915e('0x1d')](_0x1d6c71)[_0x915e('0x2d')](_0x3a6dc5);};}exports[_0x915e('0x2e')]=function(_0x177f40,_0x6f730c){var _0x49b064={},_0x235968={},_0x4e3710={'count':0x0,'rows':[]};var _0x30a4a1=_[_0x915e('0x2f')](db[_0x915e('0x30')]['rawAttributes'],function(_0x40e17b){return{'name':_0x40e17b[_0x915e('0x31')],'type':_0x40e17b[_0x915e('0x32')][_0x915e('0x33')]};});_0x235968['model']=_[_0x915e('0x2f')](_0x30a4a1,_0x915e('0x2c'));_0x235968[_0x915e('0x34')]=_[_0x915e('0x35')](_0x177f40[_0x915e('0x34')]);_0x235968['filters']=_[_0x915e('0x36')](_0x235968['model'],_0x235968[_0x915e('0x34')]);_0x49b064[_0x915e('0x37')]=_[_0x915e('0x36')](_0x235968[_0x915e('0x38')],qs[_0x915e('0x39')](_0x177f40['query'][_0x915e('0x39')]));_0x49b064[_0x915e('0x37')]=_0x49b064[_0x915e('0x37')][_0x915e('0x3a')]?_0x49b064[_0x915e('0x37')]:_0x235968['model'];if(!_0x177f40[_0x915e('0x34')][_0x915e('0x3b')]('nolimit')){_0x49b064[_0x915e('0x1f')]=qs[_0x915e('0x1f')](_0x177f40[_0x915e('0x34')][_0x915e('0x1f')]);_0x49b064[_0x915e('0x21')]=qs[_0x915e('0x21')](_0x177f40['query'][_0x915e('0x21')]);}_0x49b064['order']=qs[_0x915e('0x3c')](_0x177f40['query'][_0x915e('0x3c')]);_0x49b064['where']=qs[_0x915e('0x3d')](_['pick'](_0x177f40[_0x915e('0x34')],_0x235968[_0x915e('0x3d')]),_0x30a4a1);if(_0x177f40[_0x915e('0x34')][_0x915e('0x3e')]){_0x49b064[_0x915e('0x3f')]=_[_0x915e('0x40')](_0x49b064[_0x915e('0x3f')],{'$or':_[_0x915e('0x2f')](_0x30a4a1,function(_0x2ea03f){if(_0x2ea03f['type']!==_0x915e('0x41')){var _0x4106ff={};_0x4106ff[_0x2ea03f[_0x915e('0x2c')]]={'$like':'%'+_0x177f40[_0x915e('0x34')]['filter']+'%'};return _0x4106ff;}})});}_0x49b064=_[_0x915e('0x40')]({},_0x49b064,_0x177f40['options']);var _0x1e2bf5={'where':_0x49b064[_0x915e('0x3f')]};return db[_0x915e('0x30')]['count'](_0x1e2bf5)['then'](function(_0x544c32){_0x4e3710[_0x915e('0x20')]=_0x544c32;if(_0x177f40[_0x915e('0x34')][_0x915e('0x42')]){_0x49b064[_0x915e('0x43')]=[{'all':!![]}];}return db[_0x915e('0x30')][_0x915e('0x44')](_0x49b064);})[_0x915e('0x2a')](function(_0x1d8047){_0x4e3710[_0x915e('0x45')]=_0x1d8047;return _0x4e3710;})[_0x915e('0x2a')](respondWithFilteredResult(_0x6f730c,_0x49b064))[_0x915e('0x46')](handleError(_0x6f730c,null));};exports['show']=function(_0xf2cfcf,_0x247240){var _0x5e6107={'raw':![],'where':{'id':_0xf2cfcf['params']['id']}},_0x4dc629={};_0x4dc629[_0x915e('0x38')]=_[_0x915e('0x35')](db[_0x915e('0x30')][_0x915e('0x47')]);_0x4dc629[_0x915e('0x34')]=_[_0x915e('0x35')](_0xf2cfcf['query']);_0x4dc629['filters']=_['intersection'](_0x4dc629[_0x915e('0x38')],_0x4dc629[_0x915e('0x34')]);_0x5e6107[_0x915e('0x37')]=_['intersection'](_0x4dc629[_0x915e('0x38')],qs[_0x915e('0x39')](_0xf2cfcf[_0x915e('0x34')]['fields']));_0x5e6107[_0x915e('0x37')]=_0x5e6107['attributes'][_0x915e('0x3a')]?_0x5e6107[_0x915e('0x37')]:_0x4dc629[_0x915e('0x38')];if(_0xf2cfcf[_0x915e('0x34')][_0x915e('0x42')]){_0x5e6107[_0x915e('0x43')]=[{'all':!![]}];}_0x5e6107=_['merge']({},_0x5e6107,_0xf2cfcf[_0x915e('0x48')]);return db[_0x915e('0x30')]['find'](_0x5e6107)[_0x915e('0x2a')](handleEntityNotFound(_0x247240,null))[_0x915e('0x2a')](respondWithResult(_0x247240,null))[_0x915e('0x46')](handleError(_0x247240,null));};exports[_0x915e('0x49')]=function(_0x2ab0ed,_0x2fb5ac){return db[_0x915e('0x30')][_0x915e('0x49')](_0x2ab0ed['body'],{})[_0x915e('0x2a')](function(_0x353f70){var _0x45a7ac=_0x2ab0ed[_0x915e('0x4a')][_0x915e('0x4b')]({'plain':!![]});if(!_0x45a7ac)throw new Error(_0x915e('0x4c'));if(_0x45a7ac['role']===_0x915e('0x4a')){var _0x249af7=_0x353f70[_0x915e('0x4b')]({'plain':!![]});var _0x1148b1=_0x915e('0x4d');return db[_0x915e('0x4e')][_0x915e('0x4f')]({'where':{'name':_0x1148b1,'userProfileId':_0x45a7ac[_0x915e('0x50')]},'raw':!![]})[_0x915e('0x2a')](function(_0x5b6cfd){if(_0x5b6cfd&&_0x5b6cfd['autoAssociation']===0x0){return db[_0x915e('0x29')][_0x915e('0x49')]({'name':_0x249af7[_0x915e('0x2c')],'resourceId':_0x249af7['id'],'type':_0x915e('0x28'),'sectionId':_0x5b6cfd['id']},{})[_0x915e('0x2a')](function(){return _0x353f70;});}else{return _0x353f70;}})[_0x915e('0x46')](function(_0x27cc60){logger[_0x915e('0x51')](_0x915e('0x52'),_0x27cc60);throw _0x27cc60;});}return _0x353f70;})[_0x915e('0x2a')](respondWithResult(_0x2fb5ac,0xc9))['catch'](handleError(_0x2fb5ac,null));};exports[_0x915e('0x26')]=function(_0x1658d1,_0xacac19){if(_0x1658d1[_0x915e('0x53')]['id']){delete _0x1658d1['body']['id'];}return db[_0x915e('0x30')][_0x915e('0x4f')]({'where':{'id':_0x1658d1[_0x915e('0x54')]['id']}})[_0x915e('0x2a')](handleEntityNotFound(_0xacac19,null))['then'](saveUpdates(_0x1658d1[_0x915e('0x53')],null))[_0x915e('0x2a')](respondWithResult(_0xacac19,null))[_0x915e('0x46')](handleError(_0xacac19,null));};exports['destroy']=function(_0x16f7d1,_0x2eeb77){return db['AnalyticCustomReport'][_0x915e('0x4f')]({'where':{'id':_0x16f7d1[_0x915e('0x54')]['id']}})[_0x915e('0x2a')](handleEntityNotFound(_0x2eeb77,null))[_0x915e('0x2a')](removeEntity(_0x2eeb77,null))[_0x915e('0x46')](handleError(_0x2eeb77,null));};exports['preview']=function(_0x50a6cb,_0x4f54b9){var _0x4f7bf4=0xa;var _0x1c8a91=[_0x915e('0x55'),'left_join',_0x915e('0x56'),_0x915e('0x57')];var _0x4340fd={'SUM':_0x915e('0x58'),'COUNT':_0x915e('0x59'),'COUNT DISTINCT':'COUNT(DISTINCT\x20%s)','MAX':_0x915e('0x5a'),'MIN':_0x915e('0x5b'),'AVG':'AVG(%s)','GROUP_CONCAT':_0x915e('0x5c'),'GROUP_CONCAT ASC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','GROUP_CONCAT DESC':_0x915e('0x5d')};var _0x39397d={'SEC_TO_TIME':'SEC_TO_TIME(%s)','DATE':_0x915e('0x5e'),'HOUR':_0x915e('0x5f'),'ROUND':_0x915e('0x60'),'UNIX_TIMESTAMP':_0x915e('0x61')};var _0x4d9563=function(_0x546524){return!_[_0x915e('0x62')]([_0x915e('0x63'),_0x915e('0x64'),_0x915e('0x65'),_0x915e('0x66')],_0x546524);};var _0x2e6ce2=function(_0x36d56b){if(!_0x36d56b||!_0x36d56b[_0x915e('0x67')][_0x915e('0x3a')]){return'';}for(var _0x25f118='(',_0x199b9f=0x0;_0x199b9f<_0x36d56b['rules'][_0x915e('0x3a')];_0x199b9f+=0x1){_0x199b9f>0x0&&(_0x25f118+='\x20'+_0x36d56b[_0x915e('0x68')]+'\x20');_0x25f118+=_0x36d56b[_0x915e('0x67')][_0x199b9f]['group']?_0x2e6ce2(_0x36d56b['rules'][_0x199b9f][_0x915e('0x69')]):_0x36d56b[_0x915e('0x67')][_0x199b9f][_0x915e('0x6a')]+'\x20'+_0x36d56b[_0x915e('0x67')][_0x199b9f]['condition']+(_0x4d9563(_0x36d56b[_0x915e('0x67')][_0x199b9f][_0x915e('0x6b')])?'\x20'+_0x36d56b[_0x915e('0x67')][_0x199b9f][_0x915e('0x6c')]:'');}return _0x25f118+')';};var _0x48d4f0={'where':{'id':_0x50a6cb[_0x915e('0x54')]['id']}},_0x4a9efc,_0x4e3dc4,_0x421f36,_0x139589,_0x11678b;_0x48d4f0=_['merge']({},_0x48d4f0,_0x50a6cb[_0x915e('0x48')]);return db[_0x915e('0x30')][_0x915e('0x4f')](_0x48d4f0)[_0x915e('0x2a')](function(_0x1762fe){if(_0x1762fe){_0x4a9efc=_0x1762fe;return _0x1762fe[_0x915e('0x6d')]();}return null;})[_0x915e('0x2a')](function(_0x244297){if(_0x244297){if(!_0x244297[_0x915e('0x3a')]){throw new db[(_0x915e('0x6e'))][(_0x915e('0x6f'))]('Please\x20insert\x20at\x20least\x20one\x20field',0x193);}_0x4e3dc4=_0x244297;return db[_0x915e('0x70')][_0x915e('0x44')]({'raw':!![]});}return null;})[_0x915e('0x2a')](function(_0x1ff4db){if(_0x1ff4db){_0x421f36=_[_0x915e('0x71')](_0x1ff4db,'id');var _0x4c2cad;var _0x4a171f=squel['select']();_0x4a171f[_0x915e('0x72')](_0x4a9efc['table']);for(var _0x4bafe9=0x0;_0x4bafe9<_0x4e3dc4[_0x915e('0x3a')];_0x4bafe9+=0x1){_0x4c2cad=_0x4e3dc4[_0x4bafe9]['MetricId']?_0x421f36[_0x4e3dc4[_0x4bafe9][_0x915e('0x73')]]['metric']:_0x4e3dc4[_0x4bafe9]['field'];_0x4c2cad=_0x4e3dc4[_0x4bafe9][_0x915e('0x74')]?_[_0x915e('0x75')](_0x4340fd[_0x4e3dc4[_0x4bafe9][_0x915e('0x74')]],'%s',_0x4c2cad):_0x4c2cad;_0x4c2cad=_0x4e3dc4[_0x4bafe9]['format']?_['replace'](_0x39397d[_0x4e3dc4[_0x4bafe9][_0x915e('0x76')]],'%s',_0x4c2cad):_0x4c2cad;if(_0x4e3dc4[_0x4bafe9][_0x915e('0x77')]){_0x4a171f['group'](_0x4c2cad);}_0x4e3dc4[_0x4bafe9][_0x915e('0x78')]&&_0x4a171f[_0x915e('0x79')](_0x4c2cad,_0x4e3dc4[_0x4bafe9]['orderBy']===_0x915e('0x7a')?![]:!![]);_0x4a171f[_0x915e('0x6a')](_0x4c2cad,_0x4e3dc4[_0x4bafe9][_0x915e('0x7b')]||_0x4c2cad);}if(_0x4a9efc[_0x915e('0x7c')]){_0x4a9efc[_0x915e('0x7c')]=JSON[_0x915e('0x7d')](_0x4a9efc[_0x915e('0x7c')]);for(var _0x325d79=0x0;_0x325d79<_0x4a9efc[_0x915e('0x7c')][_0x915e('0x3a')];_0x325d79+=0x1){if(_0x4a9efc[_0x915e('0x7c')][_0x325d79][_0x915e('0x32')]&&_['includes'](_0x1c8a91,_0x4a9efc[_0x915e('0x7c')][_0x325d79][_0x915e('0x32')])&&_0x4a9efc['joins'][_0x325d79][_0x915e('0x7e')]&&_0x4a9efc[_0x915e('0x7c')][_0x325d79][_0x915e('0x7f')]&&_0x4a9efc[_0x915e('0x7c')][_0x325d79][_0x915e('0x80')]){_0x4a171f[_0x4a9efc[_0x915e('0x7c')][_0x325d79][_0x915e('0x32')]](_0x4a9efc['joins'][_0x325d79][_0x915e('0x7f')],null,util[_0x915e('0x76')](_0x915e('0x81'),_0x4a9efc['table'],_0x4a9efc['joins'][_0x325d79][_0x915e('0x7e')],_0x4a9efc[_0x915e('0x7c')][_0x325d79][_0x915e('0x7f')],_0x4a9efc[_0x915e('0x7c')][_0x325d79][_0x915e('0x80')]));}}}if(_0x4a9efc['conditions']){_0x4a9efc[_0x915e('0x82')]=JSON[_0x915e('0x7d')](_0x4a9efc[_0x915e('0x82')]);_0x4a171f[_0x915e('0x3f')](_0x2e6ce2(_0x4a9efc['conditions'][_0x915e('0x69')]));}_0x11678b=_0x4a171f[_0x915e('0x83')]();_0x4a171f['limit'](_0x4f7bf4);_0x4a171f[_0x915e('0x21')](0x0);logger[_0x915e('0x84')]('Limited\x20Query:',_0x4a171f[_0x915e('0x85')]());return dbH[_0x915e('0x86')][_0x915e('0x34')](_0x4a171f[_0x915e('0x85')](),{'type':dbH['sequelize'][_0x915e('0x87')][_0x915e('0x88')]});}})[_0x915e('0x2a')](respondWithResult(_0x4f54b9,null))[_0x915e('0x46')](handleError(_0x4f54b9,null));};function runReport(_0x29e21c,_0x253659,_0x53266f){var _0x15db22=_0x253659['name'];var _0x47ebc5=0xa;var _0x96dc37=[_0x915e('0x55'),'left_join','right_join',_0x915e('0x57')];var _0x40c314={'SUM':_0x915e('0x58'),'COUNT':_0x915e('0x59'),'COUNT DISTINCT':_0x915e('0x89'),'MAX':_0x915e('0x5a'),'MIN':'MIN(%s)','AVG':'AVG(%s)','GROUP_CONCAT':_0x915e('0x5c'),'GROUP_CONCAT ASC':_0x915e('0x8a'),'GROUP_CONCAT DESC':_0x915e('0x5d')};var _0x3883ad={'SEC_TO_TIME':'SEC_TO_TIME(%s)','DATE':_0x915e('0x5e'),'HOUR':_0x915e('0x5f'),'ROUND':'ROUND(%s)','UNIX_TIMESTAMP':'UNIX_TIMESTAMP(%s)'};var _0x3fc9ad=function(_0x40b89a){return!_['includes'](['IS\x20NULL','IS\x20NOT\x20NULL',_0x915e('0x65'),_0x915e('0x66')],_0x40b89a);};var _0x15e3d8=function(_0x21f012){if(!_0x21f012||!_0x21f012[_0x915e('0x67')][_0x915e('0x3a')]){return'';}for(var _0x365e3d='(',_0x19dc61=0x0;_0x19dc61<_0x21f012[_0x915e('0x67')][_0x915e('0x3a')];_0x19dc61+=0x1){_0x19dc61>0x0&&(_0x365e3d+='\x20'+_0x21f012[_0x915e('0x68')]+'\x20');_0x365e3d+=_0x21f012[_0x915e('0x67')][_0x19dc61][_0x915e('0x69')]?_0x15e3d8(_0x21f012['rules'][_0x19dc61][_0x915e('0x69')]):_0x21f012[_0x915e('0x67')][_0x19dc61]['field']+'\x20'+_0x21f012['rules'][_0x19dc61][_0x915e('0x6b')]+(_0x3fc9ad(_0x21f012[_0x915e('0x67')][_0x19dc61][_0x915e('0x6b')])?'\x20'+_0x21f012[_0x915e('0x67')][_0x19dc61][_0x915e('0x6c')]:'');}return _0x365e3d+')';};var _0x2d7ca8={'where':{'id':_0x29e21c['id']}},_0x2e85e7,_0x4df524,_0x4c495f,_0x57cdac,_0x5f4a5c;_0x2d7ca8=_[_0x915e('0x40')]({},_0x2d7ca8,_0x53266f);return db[_0x915e('0x30')]['find'](_0x2d7ca8)[_0x915e('0x2a')](function(_0x3066f9){if(_0x3066f9){_0x2e85e7=_0x3066f9;return _0x3066f9[_0x915e('0x6d')]();}return null;})['then'](function(_0x4b3be3){if(_0x4b3be3){if(!_0x4b3be3['length']){throw new db[(_0x915e('0x6e'))][(_0x915e('0x6f'))](_0x915e('0x8b'),0x193);}_0x4df524=_0x4b3be3;return db[_0x915e('0x70')][_0x915e('0x44')]({'raw':!![]});}return null;})[_0x915e('0x2a')](function(_0x581904){if(_0x581904){_0x4c495f=_[_0x915e('0x71')](_0x581904,'id');var _0x482711;var _0x21a285=squel[_0x915e('0x8c')]();_0x21a285[_0x915e('0x72')](_0x2e85e7['table']);for(var _0x51ff56=0x0;_0x51ff56<_0x4df524[_0x915e('0x3a')];_0x51ff56+=0x1){_0x482711=_0x4df524[_0x51ff56][_0x915e('0x73')]?_0x4c495f[_0x4df524[_0x51ff56][_0x915e('0x73')]]['metric']:_0x4df524[_0x51ff56][_0x915e('0x6a')];_0x482711=_0x4df524[_0x51ff56]['function']?_['replace'](_0x40c314[_0x4df524[_0x51ff56][_0x915e('0x74')]],'%s',_0x482711):_0x482711;_0x482711=_0x4df524[_0x51ff56][_0x915e('0x76')]?_[_0x915e('0x75')](_0x3883ad[_0x4df524[_0x51ff56][_0x915e('0x76')]],'%s',_0x482711):_0x482711;if(_0x4df524[_0x51ff56][_0x915e('0x77')]){_0x21a285[_0x915e('0x69')](_0x482711);}_0x4df524[_0x51ff56][_0x915e('0x78')]&&_0x21a285['order'](_0x482711,_0x4df524[_0x51ff56][_0x915e('0x78')]==='DESC'?![]:!![]);_0x21a285[_0x915e('0x6a')](_0x482711,_0x4df524[_0x51ff56][_0x915e('0x7b')]||_0x482711);}if(_0x2e85e7[_0x915e('0x7c')]){_0x2e85e7['joins']=JSON['parse'](_0x2e85e7[_0x915e('0x7c')]);for(var _0x48a5e3=0x0;_0x48a5e3<_0x2e85e7[_0x915e('0x7c')][_0x915e('0x3a')];_0x48a5e3+=0x1){if(_0x2e85e7['joins'][_0x48a5e3][_0x915e('0x32')]&&_['includes'](_0x96dc37,_0x2e85e7[_0x915e('0x7c')][_0x48a5e3][_0x915e('0x32')])&&_0x2e85e7[_0x915e('0x7c')][_0x48a5e3][_0x915e('0x7e')]&&_0x2e85e7[_0x915e('0x7c')][_0x48a5e3][_0x915e('0x7f')]&&_0x2e85e7[_0x915e('0x7c')][_0x48a5e3]['foreignKey']){_0x21a285[_0x2e85e7['joins'][_0x48a5e3][_0x915e('0x32')]](_0x2e85e7['joins'][_0x48a5e3]['foreignTable'],null,util[_0x915e('0x76')](_0x915e('0x81'),_0x2e85e7[_0x915e('0x8d')],_0x2e85e7[_0x915e('0x7c')][_0x48a5e3][_0x915e('0x7e')],_0x2e85e7[_0x915e('0x7c')][_0x48a5e3][_0x915e('0x7f')],_0x2e85e7[_0x915e('0x7c')][_0x48a5e3][_0x915e('0x80')]));}}}if(_0x2e85e7[_0x915e('0x82')]){_0x2e85e7[_0x915e('0x82')]=JSON[_0x915e('0x7d')](_0x2e85e7[_0x915e('0x82')]);_0x21a285[_0x915e('0x3f')](_0x15e3d8(_0x2e85e7[_0x915e('0x82')][_0x915e('0x69')]));}_0x5f4a5c=_0x21a285[_0x915e('0x83')]();_0x21a285['limit'](_0x47ebc5);_0x21a285[_0x915e('0x21')](0x0);return;}})[_0x915e('0x2a')](function(){if(_0x253659[_0x915e('0x8e')]==='web'){return null;}var _0x3ba66b=_['merge'](_0x253659,{'name':_0x253659[_0x915e('0x8f')]||_0x253659['name']||_0x2e85e7[_0x915e('0x2c')],'basename':_0x15db22,'savename':util[_0x915e('0x76')](_0x915e('0x90'),_0x253659['name']||_0x2e85e7[_0x915e('0x2c')],require(_0x915e('0x91'))[_0x915e('0x92')](0x4),_0x253659['output']||_0x915e('0x93')),'reportId':_0x2e85e7['id'],'reportType':_0x915e('0x94')});return db[_0x915e('0x95')][_0x915e('0x49')](_0x3ba66b,{'raw':!![]});})[_0x915e('0x2a')](function(_0x1333d0){if(_0x2e85e7[_0x915e('0x8d')]===_0x915e('0x96')){_0x5f4a5c['where'](_0x2e85e7[_0x915e('0x8d')]+_0x915e('0x97'),_0x253659['startDate'],_0x253659[_0x915e('0x98')]);}else{_0x5f4a5c['where'](_0x2e85e7['table']+_0x915e('0x99'),_0x253659[_0x915e('0x9a')],_0x253659[_0x915e('0x98')]);}if(_0x1333d0){logger['info'](_0x915e('0x9b'),_0x5f4a5c[_0x915e('0x85')]());require(_0x915e('0x9c'))[_0x915e('0x9d')](path[_0x915e('0x55')](__dirname,_0x915e('0x9e'),_0x1333d0['output']),[_0x1333d0['id'],_0x5f4a5c['toString'](),path['join'](__dirname,_0x915e('0x9f'),_0x1333d0[_0x915e('0xa0')]),_0x15db22]);return _0x1333d0;}else{var _0x4d8c5e=squel[_0x915e('0x8c')]();_0x4d8c5e[_0x915e('0x72')]('('+_0x5f4a5c[_0x915e('0x85')]()+')',_0x915e('0xa1'));_0x4d8c5e[_0x915e('0x6a')]('COUNT(*)',_0x915e('0x20'));_0x5f4a5c[_0x915e('0x1f')](_0x253659[_0x915e('0x1f')]||_0x47ebc5);_0x5f4a5c[_0x915e('0x21')](_0x253659[_0x915e('0x21')]||0x0);return dbH[_0x915e('0x86')][_0x915e('0x34')](_0x4d8c5e[_0x915e('0x85')](),{'type':dbH[_0x915e('0x86')]['QueryTypes'][_0x915e('0x88')]})[_0x915e('0x2a')](function(_0x947561){if(!_0x947561['length']){_0x57cdac=0x0;}else{_0x57cdac=_0x947561[0x0][_0x915e('0x20')]||0x0;}return dbH[_0x915e('0x86')]['query'](_0x5f4a5c[_0x915e('0x85')](),{'type':dbH[_0x915e('0x86')][_0x915e('0x87')][_0x915e('0x88')]});})[_0x915e('0x2a')](function(_0x5522dd){return{'rows':_0x5522dd||[],'count':_0x57cdac};});}});}exports['run']=function(_0x1023a3,_0x38f63d){return runReport(_0x1023a3[_0x915e('0x54')],_0x1023a3[_0x915e('0x34')],_0x1023a3[_0x915e('0x48')])[_0x915e('0x2a')](respondWithResult(_0x38f63d,null))[_0x915e('0x46')](handleError(_0x38f63d,null));};exports['runReport']=runReport;exports['query']=function(_0x134415,_0x493ec3){var _0x180117=0xa;var _0x4aa2a0=['join',_0x915e('0xa2'),_0x915e('0x56'),_0x915e('0x57')];var _0x3d54db={'SUM':'SUM(%s)','COUNT':_0x915e('0x59'),'COUNT DISTINCT':'COUNT(DISTINCT\x20%s)','MAX':_0x915e('0x5a'),'MIN':_0x915e('0x5b'),'AVG':_0x915e('0xa3'),'GROUP_CONCAT':_0x915e('0x5c'),'GROUP_CONCAT ASC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','GROUP_CONCAT DESC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)'};var _0xdb1a78={'SEC_TO_TIME':'SEC_TO_TIME(%s)','DATE':_0x915e('0x5e'),'HOUR':_0x915e('0x5f'),'ROUND':_0x915e('0x60'),'UNIX_TIMESTAMP':_0x915e('0x61')};var _0x4aacde=function(_0x480268){return!_[_0x915e('0x62')](['IS\x20NULL',_0x915e('0x64'),_0x915e('0x65'),_0x915e('0x66')],_0x480268);};var _0x2c9c18=function(_0x176c72){if(!_0x176c72||!_0x176c72[_0x915e('0x67')]['length']){return'';}for(var _0x24a75a='(',_0x159b2f=0x0;_0x159b2f<_0x176c72['rules'][_0x915e('0x3a')];_0x159b2f+=0x1){_0x159b2f>0x0&&(_0x24a75a+='\x20'+_0x176c72[_0x915e('0x68')]+'\x20');_0x24a75a+=_0x176c72[_0x915e('0x67')][_0x159b2f][_0x915e('0x69')]?_0x2c9c18(_0x176c72['rules'][_0x159b2f][_0x915e('0x69')]):_0x176c72[_0x915e('0x67')][_0x159b2f][_0x915e('0x6a')]+'\x20'+_0x176c72['rules'][_0x159b2f][_0x915e('0x6b')]+(_0x4aacde(_0x176c72['rules'][_0x159b2f]['condition'])?'\x20'+_0x176c72['rules'][_0x159b2f][_0x915e('0x6c')]:'');}return _0x24a75a+')';};var _0x4bffcf={'where':{'id':_0x134415[_0x915e('0x54')]['id']}},_0xdf86fc,_0x5250e5,_0x358012,_0x25aeab,_0x3a2711;_0x4bffcf=_[_0x915e('0x40')]({},_0x4bffcf,_0x134415[_0x915e('0x48')]);return db[_0x915e('0x30')][_0x915e('0x4f')](_0x4bffcf)[_0x915e('0x2a')](function(_0x1b378a){if(_0x1b378a){_0xdf86fc=_0x1b378a;return _0x1b378a[_0x915e('0x6d')]();}return null;})[_0x915e('0x2a')](function(_0x3091ed){if(_0x3091ed){if(!_0x3091ed[_0x915e('0x3a')]){throw new db['Sequelize']['ValidationErrorItem']('Please\x20insert\x20at\x20least\x20one\x20field',0x193);}_0x5250e5=_0x3091ed;return db['AnalyticMetric'][_0x915e('0x44')]({'raw':!![]});}return null;})[_0x915e('0x2a')](function(_0x4743a6){if(_0x4743a6){_0x358012=_[_0x915e('0x71')](_0x4743a6,'id');var _0x505036;var _0x28ad43=squel[_0x915e('0x8c')]();_0x28ad43[_0x915e('0x72')](_0xdf86fc[_0x915e('0x8d')]);for(var _0x5f51df=0x0;_0x5f51df<_0x5250e5[_0x915e('0x3a')];_0x5f51df+=0x1){_0x505036=_0x5250e5[_0x5f51df][_0x915e('0x73')]?_0x358012[_0x5250e5[_0x5f51df][_0x915e('0x73')]][_0x915e('0xa4')]:_0x5250e5[_0x5f51df][_0x915e('0x6a')];_0x505036=_0x5250e5[_0x5f51df][_0x915e('0x74')]?_['replace'](_0x3d54db[_0x5250e5[_0x5f51df]['function']],'%s',_0x505036):_0x505036;_0x505036=_0x5250e5[_0x5f51df][_0x915e('0x76')]?_[_0x915e('0x75')](_0xdb1a78[_0x5250e5[_0x5f51df]['format']],'%s',_0x505036):_0x505036;if(_0x5250e5[_0x5f51df][_0x915e('0x77')]){_0x28ad43[_0x915e('0x69')](_0x505036);}_0x5250e5[_0x5f51df][_0x915e('0x78')]&&_0x28ad43[_0x915e('0x79')](_0x505036,_0x5250e5[_0x5f51df][_0x915e('0x78')]===_0x915e('0x7a')?![]:!![]);_0x28ad43[_0x915e('0x6a')](_0x505036,_0x5250e5[_0x5f51df][_0x915e('0x7b')]||_0x505036);}if(_0xdf86fc[_0x915e('0x7c')]){_0xdf86fc[_0x915e('0x7c')]=JSON[_0x915e('0x7d')](_0xdf86fc['joins']);for(var _0x2534b5=0x0;_0x2534b5<_0xdf86fc[_0x915e('0x7c')]['length'];_0x2534b5+=0x1){if(_0xdf86fc[_0x915e('0x7c')][_0x2534b5][_0x915e('0x32')]&&_[_0x915e('0x62')](_0x4aa2a0,_0xdf86fc[_0x915e('0x7c')][_0x2534b5]['type'])&&_0xdf86fc['joins'][_0x2534b5][_0x915e('0x7e')]&&_0xdf86fc[_0x915e('0x7c')][_0x2534b5]['foreignTable']&&_0xdf86fc[_0x915e('0x7c')][_0x2534b5][_0x915e('0x80')]){_0x28ad43[_0xdf86fc['joins'][_0x2534b5]['type']](_0xdf86fc[_0x915e('0x7c')][_0x2534b5]['foreignTable'],null,util[_0x915e('0x76')](_0x915e('0x81'),_0xdf86fc['table'],_0xdf86fc['joins'][_0x2534b5][_0x915e('0x7e')],_0xdf86fc[_0x915e('0x7c')][_0x2534b5][_0x915e('0x7f')],_0xdf86fc[_0x915e('0x7c')][_0x2534b5][_0x915e('0x80')]));}}}if(_0xdf86fc[_0x915e('0x82')]){_0xdf86fc[_0x915e('0x82')]=JSON[_0x915e('0x7d')](_0xdf86fc[_0x915e('0x82')]);_0x28ad43['where'](_0x2c9c18(_0xdf86fc['conditions']['group']));}_0x3a2711=_0x28ad43[_0x915e('0x83')]();_0x28ad43[_0x915e('0x1f')](_0x180117);_0x28ad43[_0x915e('0x21')](0x0);logger[_0x915e('0x84')](_0x915e('0xa5'),_0x28ad43['toString']());return dbH[_0x915e('0x86')][_0x915e('0x34')](_0x28ad43[_0x915e('0x85')](),{'type':dbH[_0x915e('0x86')][_0x915e('0x87')][_0x915e('0x88')]});}})[_0x915e('0x2a')](function(){return{'sql':_0x3a2711[_0x915e('0x85')]()};})[_0x915e('0x2a')](respondWithResult(_0x493ec3,null))[_0x915e('0x46')](handleError(_0x493ec3,null));};