Built motion from commit (unavailable).|2.4.17
[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 _0x4956=['fields','options','catch','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','Reports','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','find','params','preview','join','left_join','cross_join','SUM(%s)','COUNT(%s)','COUNT(DISTINCT\x20%s)','MAX(%s)','MIN(%s)','AVG(%s)','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','SEC_TO_TIME(%s)','DATE(%s)','HOUR(%s)','UNIX_TIMESTAMP(%s)','includes','IS\x20NULL','IS\x20NOT\x20NULL','IS\x20EMPTY','IS\x20NOT\x20EMPTY','rules','length','group','condition','value','getFields','Sequelize','ValidationErrorItem','Please\x20insert\x20at\x20least\x20one\x20field','AnalyticMetric','keyBy','select','from','table','metric','function','format','replace','groupBy','orderBy','field','alias','joins','parse','type','foreignKey','foreignTable','%s.%s\x20=\x20%s.%s','parentKey','conditions','Limited\x20Query:','toString','sequelize','SELECT','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)','ROUND(%s)','MetricId','DESC','clone','debug','QueryTypes','No\x20available\x20data','output','fullPath','generate','csv','AnalyticExtractedReport','cdr','startDate','endDate','info','child_process','fork','../../components/export/','../../files/reports','savename','countTable','run','right_join','GROUP_CONCAT(%s)','operator','html-pdf','zip-dir','fast-json-patch','request-promise','mustache','util','path','to-csv','ejs','squel','crypto','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','end','status','count','offset','limit','set','Content-Range','json','apply','reject','save','destroy','then','get','DefaultReports','UserProfileResource','error','name','index','map','AnalyticDefaultReport','fieldName','model','keys','query','intersection','attributes','hasOwnProperty','order','sort','where','filters','pick','filter','merge','includeAll','include','findAll','rows','show','rawAttributes'];(function(_0x1f4c43,_0x39b66c){var _0x5f40ca=function(_0x11ff58){while(--_0x11ff58){_0x1f4c43['push'](_0x1f4c43['shift']());}};_0x5f40ca(++_0x39b66c);}(_0x4956,0xff));var _0x6495=function(_0x16e8ca,_0x43903e){_0x16e8ca=_0x16e8ca-0x0;var _0x14c423=_0x4956[_0x16e8ca];return _0x14c423;};'use strict';var pdf=require(_0x6495('0x0'));var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x6495('0x1'));var jsonpatch=require(_0x6495('0x2'));var rp=require(_0x6495('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x6495('0x4'));var util=require(_0x6495('0x5'));var path=require(_0x6495('0x6'));var sox=require('sox');var csv=require(_0x6495('0x7'));var ejs=require(_0x6495('0x8'));var fs=require('fs');var _=require('lodash');var squel=require(_0x6495('0x9'));var crypto=require(_0x6495('0xa'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x6495('0x7'));var querystring=require(_0x6495('0xb'));var Papa=require(_0x6495('0xc'));var Redis=require(_0x6495('0xd'));var authService=require(_0x6495('0xe'));var qs=require(_0x6495('0xf'));var as=require(_0x6495('0x10'));var hardwareService=require(_0x6495('0x11'));var logger=require(_0x6495('0x12'))('api');var utils=require(_0x6495('0x13'));var config=require(_0x6495('0x14'));var db=require(_0x6495('0x15'))['db'];function respondWithStatusCode(_0x297c41,_0x280440){_0x280440=_0x280440||0xcc;return function(_0x592239){if(_0x592239){return _0x297c41['sendStatus'](_0x280440);}return _0x297c41['status'](_0x280440)[_0x6495('0x16')]();};}function respondWithResult(_0x181013,_0x26171b){_0x26171b=_0x26171b||0xc8;return function(_0x3c8cdd){if(_0x3c8cdd){return _0x181013[_0x6495('0x17')](_0x26171b)['json'](_0x3c8cdd);}};}function respondWithFilteredResult(_0x164fa4,_0xba07a2){return function(_0x48e165){if(_0x48e165){var _0x25d331=_0x48e165[_0x6495('0x18')],_0x4d8a82=_0xba07a2[_0x6495('0x19')],_0x3146f4=_0xba07a2[_0x6495('0x19')]+_0xba07a2[_0x6495('0x1a')],_0xc1c67;if(_0x3146f4>=_0x25d331){_0x3146f4=_0x25d331;_0xc1c67=0xc8;}else{_0xc1c67=0xce;}_0x164fa4['status'](_0xc1c67);return _0x164fa4[_0x6495('0x1b')](_0x6495('0x1c'),_0x4d8a82+'-'+_0x3146f4+'/'+_0x25d331)[_0x6495('0x1d')](_0x48e165);}return null;};}function patchUpdates(_0x252031){return function(_0x55289d){try{jsonpatch[_0x6495('0x1e')](_0x55289d,_0x252031,!![]);}catch(_0x501313){return BPromise[_0x6495('0x1f')](_0x501313);}return _0x55289d[_0x6495('0x20')]();};}function saveUpdates(_0x70381f,_0x45fe3b){return function(_0x1cfaef){if(_0x1cfaef){return _0x1cfaef['update'](_0x70381f)['then'](function(_0x2582d5){return _0x2582d5;});}return null;};}function removeEntity(_0x541d7e,_0x95043f){return function(_0x390633){if(_0x390633){return _0x390633[_0x6495('0x21')]()[_0x6495('0x22')](function(){var _0x5781d0=_0x390633[_0x6495('0x23')]({'plain':!![]});var _0x241edd=_0x6495('0x24');return db[_0x6495('0x25')][_0x6495('0x21')]({'where':{'type':_0x241edd,'resourceId':_0x5781d0['id']}})[_0x6495('0x22')](function(){return _0x390633;});})[_0x6495('0x22')](function(){_0x541d7e[_0x6495('0x17')](0xcc)[_0x6495('0x16')]();});}};}function handleEntityNotFound(_0x688200,_0x664c5c){return function(_0x46a45){if(!_0x46a45){_0x688200['sendStatus'](0x194);}return _0x46a45;};}function handleError(_0x4bf093,_0x3134ab){_0x3134ab=_0x3134ab||0x1f4;return function(_0x5d7223){logger[_0x6495('0x26')](_0x5d7223['stack']);if(_0x5d7223[_0x6495('0x27')]){delete _0x5d7223['name'];}_0x4bf093[_0x6495('0x17')](_0x3134ab)['send'](_0x5d7223);};}exports[_0x6495('0x28')]=function(_0x16b95f,_0x43923b){var _0x168fcc={},_0x3b3a20={},_0x3e3761={'count':0x0,'rows':[]};var _0x7edd17=_[_0x6495('0x29')](db[_0x6495('0x2a')]['rawAttributes'],function(_0x50d2c7){return{'name':_0x50d2c7[_0x6495('0x2b')],'type':_0x50d2c7['type']['key']};});_0x3b3a20[_0x6495('0x2c')]=_['map'](_0x7edd17,'name');_0x3b3a20['query']=_[_0x6495('0x2d')](_0x16b95f[_0x6495('0x2e')]);_0x3b3a20['filters']=_[_0x6495('0x2f')](_0x3b3a20[_0x6495('0x2c')],_0x3b3a20['query']);_0x168fcc[_0x6495('0x30')]=_[_0x6495('0x2f')](_0x3b3a20[_0x6495('0x2c')],qs['fields'](_0x16b95f[_0x6495('0x2e')]['fields']));_0x168fcc[_0x6495('0x30')]=_0x168fcc[_0x6495('0x30')]['length']?_0x168fcc[_0x6495('0x30')]:_0x3b3a20['model'];if(!_0x16b95f[_0x6495('0x2e')][_0x6495('0x31')]('nolimit')){_0x168fcc[_0x6495('0x1a')]=qs[_0x6495('0x1a')](_0x16b95f[_0x6495('0x2e')][_0x6495('0x1a')]);_0x168fcc[_0x6495('0x19')]=qs['offset'](_0x16b95f[_0x6495('0x2e')][_0x6495('0x19')]);}_0x168fcc[_0x6495('0x32')]=qs[_0x6495('0x33')](_0x16b95f[_0x6495('0x2e')][_0x6495('0x33')]);_0x168fcc[_0x6495('0x34')]=qs[_0x6495('0x35')](_[_0x6495('0x36')](_0x16b95f['query'],_0x3b3a20[_0x6495('0x35')]));if(_0x16b95f[_0x6495('0x2e')][_0x6495('0x37')]){_0x168fcc[_0x6495('0x34')]=_[_0x6495('0x38')](_0x168fcc[_0x6495('0x34')],{'$or':_[_0x6495('0x29')](_0x7edd17,function(_0x260a0e){if(_0x260a0e['type']!=='VIRTUAL'){var _0x45d8cc={};_0x45d8cc[_0x260a0e[_0x6495('0x27')]]={'$like':'%'+_0x16b95f[_0x6495('0x2e')][_0x6495('0x37')]+'%'};return _0x45d8cc;}})});}_0x168fcc=_[_0x6495('0x38')]({},_0x168fcc,_0x16b95f['options']);var _0x5f21e4={'where':_0x168fcc[_0x6495('0x34')]};return db[_0x6495('0x2a')]['count'](_0x5f21e4)[_0x6495('0x22')](function(_0x489b35){_0x3e3761[_0x6495('0x18')]=_0x489b35;if(_0x16b95f[_0x6495('0x2e')][_0x6495('0x39')]){_0x168fcc[_0x6495('0x3a')]=[{'all':!![]}];}return db[_0x6495('0x2a')][_0x6495('0x3b')](_0x168fcc);})[_0x6495('0x22')](function(_0x493679){_0x3e3761[_0x6495('0x3c')]=_0x493679;return _0x3e3761;})[_0x6495('0x22')](respondWithFilteredResult(_0x43923b,_0x168fcc))['catch'](handleError(_0x43923b,null));};exports[_0x6495('0x3d')]=function(_0x2d675d,_0x44ab6f){var _0x2ef5a0={'raw':!![],'where':{'id':_0x2d675d['params']['id']}},_0x5a0551={};_0x5a0551[_0x6495('0x2c')]=_[_0x6495('0x2d')](db[_0x6495('0x2a')][_0x6495('0x3e')]);_0x5a0551[_0x6495('0x2e')]=_['keys'](_0x2d675d[_0x6495('0x2e')]);_0x5a0551[_0x6495('0x35')]=_[_0x6495('0x2f')](_0x5a0551[_0x6495('0x2c')],_0x5a0551[_0x6495('0x2e')]);_0x2ef5a0[_0x6495('0x30')]=_[_0x6495('0x2f')](_0x5a0551['model'],qs[_0x6495('0x3f')](_0x2d675d[_0x6495('0x2e')]['fields']));_0x2ef5a0[_0x6495('0x30')]=_0x2ef5a0[_0x6495('0x30')]['length']?_0x2ef5a0[_0x6495('0x30')]:_0x5a0551[_0x6495('0x2c')];if(_0x2d675d['query']['includeAll']){_0x2ef5a0[_0x6495('0x3a')]=[{'all':!![]}];}_0x2ef5a0=_[_0x6495('0x38')]({},_0x2ef5a0,_0x2d675d[_0x6495('0x40')]);return db['AnalyticDefaultReport']['find'](_0x2ef5a0)[_0x6495('0x22')](handleEntityNotFound(_0x44ab6f,null))[_0x6495('0x22')](respondWithResult(_0x44ab6f,null))[_0x6495('0x41')](handleError(_0x44ab6f,null));};exports[_0x6495('0x42')]=function(_0x4ddc2c,_0x2dd6ab){return db['AnalyticDefaultReport'][_0x6495('0x42')](_0x4ddc2c[_0x6495('0x43')],{})[_0x6495('0x22')](function(_0x2d4683){var _0x1d6856=_0x4ddc2c['user'][_0x6495('0x23')]({'plain':!![]});if(!_0x1d6856)throw new Error(_0x6495('0x44'));if(_0x1d6856[_0x6495('0x45')]==='user'){var _0x1dc034=_0x2d4683[_0x6495('0x23')]({'plain':!![]});var _0x3244fc=_0x6495('0x46');return db[_0x6495('0x47')]['find']({'where':{'name':_0x3244fc,'userProfileId':_0x1d6856[_0x6495('0x48')]},'raw':!![]})[_0x6495('0x22')](function(_0x5dc166){if(_0x5dc166&&_0x5dc166[_0x6495('0x49')]===0x0){return db[_0x6495('0x25')][_0x6495('0x42')]({'name':_0x1dc034[_0x6495('0x27')],'resourceId':_0x1dc034['id'],'type':_0x6495('0x24'),'sectionId':_0x5dc166['id']},{})[_0x6495('0x22')](function(){return _0x2d4683;});}else{return _0x2d4683;}})[_0x6495('0x41')](function(_0x5c1b84){logger[_0x6495('0x26')](_0x6495('0x4a'),_0x5c1b84);throw _0x5c1b84;});}return _0x2d4683;})[_0x6495('0x22')](respondWithResult(_0x2dd6ab,0xc9))[_0x6495('0x41')](handleError(_0x2dd6ab,null));};exports[_0x6495('0x4b')]=function(_0x1b0080,_0xee564b){if(_0x1b0080[_0x6495('0x43')]['id']){delete _0x1b0080[_0x6495('0x43')]['id'];}return db[_0x6495('0x2a')][_0x6495('0x4c')]({'where':{'id':_0x1b0080['params']['id']}})[_0x6495('0x22')](handleEntityNotFound(_0xee564b,null))[_0x6495('0x22')](saveUpdates(_0x1b0080['body'],null))[_0x6495('0x22')](respondWithResult(_0xee564b,null))['catch'](handleError(_0xee564b,null));};exports[_0x6495('0x21')]=function(_0x51b91f,_0x20e58c){return db[_0x6495('0x2a')]['find']({'where':{'id':_0x51b91f[_0x6495('0x4d')]['id']}})[_0x6495('0x22')](handleEntityNotFound(_0x20e58c,null))[_0x6495('0x22')](removeEntity(_0x20e58c,null))[_0x6495('0x41')](handleError(_0x20e58c,null));};exports[_0x6495('0x4e')]=function(_0x278227,_0x3ad0c7){var _0x4ec6f7=0xa;var _0x45c633=[_0x6495('0x4f'),_0x6495('0x50'),'right_join',_0x6495('0x51')];var _0x659b1c={'SUM':_0x6495('0x52'),'COUNT':_0x6495('0x53'),'COUNT DISTINCT':_0x6495('0x54'),'MAX':_0x6495('0x55'),'MIN':_0x6495('0x56'),'AVG':_0x6495('0x57'),'GROUP_CONCAT':'GROUP_CONCAT(%s)','GROUP_CONCAT ASC':_0x6495('0x58'),'GROUP_CONCAT DESC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)'};var _0x2cdf55={'SEC_TO_TIME':_0x6495('0x59'),'DATE':_0x6495('0x5a'),'HOUR':_0x6495('0x5b'),'ROUND':'ROUND(%s)','UNIX_TIMESTAMP':_0x6495('0x5c')};var _0x5a27df=function(_0x1d45ec){return!_[_0x6495('0x5d')]([_0x6495('0x5e'),_0x6495('0x5f'),_0x6495('0x60'),_0x6495('0x61')],_0x1d45ec);};var _0x431ebe=function(_0x1a4dea){if(!_0x1a4dea||!_0x1a4dea[_0x6495('0x62')][_0x6495('0x63')]){return'';}for(var _0x3e49b1='(',_0x2a5ec1=0x0;_0x2a5ec1<_0x1a4dea[_0x6495('0x62')][_0x6495('0x63')];_0x2a5ec1+=0x1){_0x2a5ec1>0x0&&(_0x3e49b1+='\x20'+_0x1a4dea['operator']+'\x20');_0x3e49b1+=_0x1a4dea[_0x6495('0x62')][_0x2a5ec1][_0x6495('0x64')]?_0x431ebe(_0x1a4dea['rules'][_0x2a5ec1][_0x6495('0x64')]):_0x1a4dea[_0x6495('0x62')][_0x2a5ec1]['field']+'\x20'+_0x1a4dea[_0x6495('0x62')][_0x2a5ec1]['condition']+(_0x5a27df(_0x1a4dea[_0x6495('0x62')][_0x2a5ec1][_0x6495('0x65')])?'\x20'+_0x1a4dea[_0x6495('0x62')][_0x2a5ec1][_0x6495('0x66')]:'');}return _0x3e49b1+')';};var _0x1025a7={'where':{'id':_0x278227[_0x6495('0x4d')]['id']}},_0x4b6b04,_0x112ffb,_0x45caa5,_0x4804a1,_0x4ee185;_0x1025a7=_[_0x6495('0x38')]({},_0x1025a7,_0x278227[_0x6495('0x40')]);return db['AnalyticDefaultReport'][_0x6495('0x4c')](_0x1025a7)[_0x6495('0x22')](function(_0x42c897){if(_0x42c897){_0x4b6b04=_0x42c897;return _0x42c897[_0x6495('0x67')]();}return null;})[_0x6495('0x22')](function(_0x114e61){if(_0x114e61){if(!_0x114e61[_0x6495('0x63')]){throw new db[(_0x6495('0x68'))][(_0x6495('0x69'))](_0x6495('0x6a'),0x193);}_0x112ffb=_0x114e61;return db[_0x6495('0x6b')]['findAll']({'raw':!![]});}return null;})['then'](function(_0x18a4a1){if(_0x18a4a1){_0x45caa5=_[_0x6495('0x6c')](_0x18a4a1,'id');var _0x18f476;var _0x4bcbd3=squel[_0x6495('0x6d')]();_0x4bcbd3[_0x6495('0x6e')](_0x4b6b04[_0x6495('0x6f')]);for(var _0x2d5445=0x0;_0x2d5445<_0x112ffb['length'];_0x2d5445+=0x1){_0x18f476=_0x112ffb[_0x2d5445]['MetricId']?_0x45caa5[_0x112ffb[_0x2d5445]['MetricId']][_0x6495('0x70')]:_0x112ffb[_0x2d5445]['field'];_0x18f476=_0x112ffb[_0x2d5445][_0x6495('0x71')]?_['replace'](_0x659b1c[_0x112ffb[_0x2d5445][_0x6495('0x71')]],'%s',_0x18f476):_0x18f476;_0x18f476=_0x112ffb[_0x2d5445][_0x6495('0x72')]?_[_0x6495('0x73')](_0x2cdf55[_0x112ffb[_0x2d5445][_0x6495('0x72')]],'%s',_0x18f476):_0x18f476;if(_0x112ffb[_0x2d5445][_0x6495('0x74')]){_0x4bcbd3[_0x6495('0x64')](_0x18f476);}_0x112ffb[_0x2d5445][_0x6495('0x75')]&&_0x4bcbd3[_0x6495('0x32')](_0x18f476,_0x112ffb[_0x2d5445][_0x6495('0x75')]==='DESC'?![]:!![]);_0x4bcbd3[_0x6495('0x76')](_0x18f476,_0x112ffb[_0x2d5445][_0x6495('0x77')]||_0x18f476);}if(_0x4b6b04[_0x6495('0x78')]){_0x4b6b04[_0x6495('0x78')]=JSON[_0x6495('0x79')](_0x4b6b04[_0x6495('0x78')]);for(var _0xbe8112=0x0;_0xbe8112<_0x4b6b04[_0x6495('0x78')][_0x6495('0x63')];_0xbe8112+=0x1){if(_0x4b6b04[_0x6495('0x78')][_0xbe8112]['type']&&_[_0x6495('0x5d')](_0x45c633,_0x4b6b04[_0x6495('0x78')][_0xbe8112][_0x6495('0x7a')])&&_0x4b6b04['joins'][_0xbe8112]['parentKey']&&_0x4b6b04[_0x6495('0x78')][_0xbe8112]['foreignTable']&&_0x4b6b04[_0x6495('0x78')][_0xbe8112][_0x6495('0x7b')]){_0x4bcbd3[_0x4b6b04[_0x6495('0x78')][_0xbe8112][_0x6495('0x7a')]](_0x4b6b04['joins'][_0xbe8112][_0x6495('0x7c')],null,util[_0x6495('0x72')](_0x6495('0x7d'),_0x4b6b04[_0x6495('0x6f')],_0x4b6b04[_0x6495('0x78')][_0xbe8112][_0x6495('0x7e')],_0x4b6b04[_0x6495('0x78')][_0xbe8112][_0x6495('0x7c')],_0x4b6b04[_0x6495('0x78')][_0xbe8112][_0x6495('0x7b')]));}}}if(_0x4b6b04[_0x6495('0x7f')]){_0x4b6b04[_0x6495('0x7f')]=JSON[_0x6495('0x79')](_0x4b6b04[_0x6495('0x7f')]);_0x4bcbd3[_0x6495('0x34')](_0x431ebe(_0x4b6b04[_0x6495('0x7f')][_0x6495('0x64')]));}_0x4ee185=_0x4bcbd3['clone']();_0x4bcbd3[_0x6495('0x1a')](_0x4ec6f7);_0x4bcbd3[_0x6495('0x19')](0x0);logger['debug'](_0x6495('0x80'),_0x4bcbd3[_0x6495('0x81')]());return db[_0x6495('0x82')][_0x6495('0x2e')](_0x4bcbd3[_0x6495('0x81')](),{'type':db[_0x6495('0x82')]['QueryTypes'][_0x6495('0x83')]});}})['then'](respondWithResult(_0x3ad0c7,null))[_0x6495('0x41')](handleError(_0x3ad0c7,null));};function runReport(_0x300ba5,_0x2bb0a4,_0x70a63a){var _0x2e4841=_0x2bb0a4['name'];var _0x5f0aac=0xa;var _0x19de42=[_0x6495('0x4f'),'left_join','right_join',_0x6495('0x51')];var _0x176fcc={'SUM':_0x6495('0x52'),'COUNT':_0x6495('0x53'),'COUNT DISTINCT':_0x6495('0x54'),'MAX':'MAX(%s)','MIN':_0x6495('0x56'),'AVG':_0x6495('0x57'),'GROUP_CONCAT':'GROUP_CONCAT(%s)','GROUP_CONCAT ASC':_0x6495('0x58'),'GROUP_CONCAT DESC':_0x6495('0x84')};var _0x4759b6={'SEC_TO_TIME':_0x6495('0x59'),'DATE':_0x6495('0x5a'),'HOUR':_0x6495('0x5b'),'ROUND':_0x6495('0x85'),'UNIX_TIMESTAMP':_0x6495('0x5c')};var _0x26d0df=function(_0x3c79c6){return!_[_0x6495('0x5d')]([_0x6495('0x5e'),'IS\x20NOT\x20NULL',_0x6495('0x60'),'IS\x20NOT\x20EMPTY'],_0x3c79c6);};var _0x317b0c=function(_0x1aae7b){if(!_0x1aae7b||!_0x1aae7b[_0x6495('0x62')][_0x6495('0x63')]){return'';}for(var _0x23842f='(',_0x28acaa=0x0;_0x28acaa<_0x1aae7b[_0x6495('0x62')][_0x6495('0x63')];_0x28acaa+=0x1){_0x28acaa>0x0&&(_0x23842f+='\x20'+_0x1aae7b['operator']+'\x20');_0x23842f+=_0x1aae7b['rules'][_0x28acaa][_0x6495('0x64')]?_0x317b0c(_0x1aae7b[_0x6495('0x62')][_0x28acaa][_0x6495('0x64')]):_0x1aae7b[_0x6495('0x62')][_0x28acaa][_0x6495('0x76')]+'\x20'+_0x1aae7b[_0x6495('0x62')][_0x28acaa][_0x6495('0x65')]+(_0x26d0df(_0x1aae7b[_0x6495('0x62')][_0x28acaa]['condition'])?'\x20'+_0x1aae7b[_0x6495('0x62')][_0x28acaa][_0x6495('0x66')]:'');}return _0x23842f+')';};var _0x3b4cc4={'where':{'id':_0x300ba5['id']}},_0x900467,_0x526e57,_0x5ad8c0,_0x1e335d,_0x1e13cd;_0x3b4cc4=_['merge']({},_0x3b4cc4,_0x70a63a);return db[_0x6495('0x2a')][_0x6495('0x4c')](_0x3b4cc4)[_0x6495('0x22')](function(_0x59bb3c){if(_0x59bb3c){_0x900467=_0x59bb3c;return _0x59bb3c[_0x6495('0x67')]();}return null;})[_0x6495('0x22')](function(_0x24a703){if(_0x24a703){if(!_0x24a703[_0x6495('0x63')]){throw new db[(_0x6495('0x68'))]['ValidationErrorItem'](_0x6495('0x6a'),0x193);}_0x526e57=_0x24a703;return db['AnalyticMetric'][_0x6495('0x3b')]({'raw':!![]});}return null;})[_0x6495('0x22')](function(_0x46bdb5){if(_0x46bdb5){_0x5ad8c0=_[_0x6495('0x6c')](_0x46bdb5,'id');var _0x4d5caf;var _0x2f6cd2=squel[_0x6495('0x6d')]();_0x2f6cd2[_0x6495('0x6e')](_0x900467[_0x6495('0x6f')]);for(var _0x59292a=0x0;_0x59292a<_0x526e57['length'];_0x59292a+=0x1){_0x4d5caf=_0x526e57[_0x59292a][_0x6495('0x86')]?_0x5ad8c0[_0x526e57[_0x59292a]['MetricId']][_0x6495('0x70')]:_0x526e57[_0x59292a][_0x6495('0x76')];_0x4d5caf=_0x526e57[_0x59292a][_0x6495('0x71')]?_[_0x6495('0x73')](_0x176fcc[_0x526e57[_0x59292a][_0x6495('0x71')]],'%s',_0x4d5caf):_0x4d5caf;_0x4d5caf=_0x526e57[_0x59292a][_0x6495('0x72')]?_[_0x6495('0x73')](_0x4759b6[_0x526e57[_0x59292a][_0x6495('0x72')]],'%s',_0x4d5caf):_0x4d5caf;if(_0x526e57[_0x59292a][_0x6495('0x74')]){_0x2f6cd2[_0x6495('0x64')](_0x4d5caf);}_0x526e57[_0x59292a]['orderBy']&&_0x2f6cd2[_0x6495('0x32')](_0x4d5caf,_0x526e57[_0x59292a][_0x6495('0x75')]===_0x6495('0x87')?![]:!![]);_0x2f6cd2[_0x6495('0x76')](_0x4d5caf,_0x526e57[_0x59292a][_0x6495('0x77')]||_0x4d5caf);}if(_0x900467['joins']){_0x900467[_0x6495('0x78')]=JSON[_0x6495('0x79')](_0x900467[_0x6495('0x78')]);for(var _0x4744bc=0x0;_0x4744bc<_0x900467['joins']['length'];_0x4744bc+=0x1){if(_0x900467[_0x6495('0x78')][_0x4744bc][_0x6495('0x7a')]&&_[_0x6495('0x5d')](_0x19de42,_0x900467[_0x6495('0x78')][_0x4744bc]['type'])&&_0x900467[_0x6495('0x78')][_0x4744bc]['parentKey']&&_0x900467[_0x6495('0x78')][_0x4744bc][_0x6495('0x7c')]&&_0x900467[_0x6495('0x78')][_0x4744bc][_0x6495('0x7b')]){_0x2f6cd2[_0x900467[_0x6495('0x78')][_0x4744bc]['type']](_0x900467[_0x6495('0x78')][_0x4744bc]['foreignTable'],null,util[_0x6495('0x72')](_0x6495('0x7d'),_0x900467[_0x6495('0x6f')],_0x900467[_0x6495('0x78')][_0x4744bc]['parentKey'],_0x900467[_0x6495('0x78')][_0x4744bc]['foreignTable'],_0x900467['joins'][_0x4744bc][_0x6495('0x7b')]));}}}if(_0x900467[_0x6495('0x7f')]){_0x900467[_0x6495('0x7f')]=JSON[_0x6495('0x79')](_0x900467[_0x6495('0x7f')]);_0x2f6cd2[_0x6495('0x34')](_0x317b0c(_0x900467[_0x6495('0x7f')][_0x6495('0x64')]));}_0x1e13cd=_0x2f6cd2[_0x6495('0x88')]();_0x2f6cd2[_0x6495('0x1a')](_0x5f0aac);_0x2f6cd2[_0x6495('0x19')](0x0);logger[_0x6495('0x89')](_0x6495('0x80'),_0x2f6cd2[_0x6495('0x81')]());return db[_0x6495('0x82')][_0x6495('0x2e')](_0x2f6cd2[_0x6495('0x81')](),{'type':db[_0x6495('0x82')][_0x6495('0x8a')][_0x6495('0x83')]});}})[_0x6495('0x22')](function(_0x42ebde){if(!_0x42ebde[_0x6495('0x63')]){throw new db[(_0x6495('0x68'))][(_0x6495('0x69'))](_0x6495('0x8b'),0xcc);}if(_0x2bb0a4[_0x6495('0x8c')]==='web'){return null;}var _0x2bcf35=_[_0x6495('0x38')](_0x2bb0a4,{'name':_0x2bb0a4[_0x6495('0x8d')]||_0x2bb0a4[_0x6495('0x27')]||_0x900467[_0x6495('0x27')],'basename':_0x2e4841,'savename':util['format']('%s-%s.%s',_0x2bb0a4['name']||_0x900467[_0x6495('0x27')],require('randomstring')[_0x6495('0x8e')](0x4),_0x2bb0a4[_0x6495('0x8c')]||_0x6495('0x8f')),'reportId':_0x900467['id'],'reportType':'default'});return db[_0x6495('0x90')][_0x6495('0x42')](_0x2bcf35,{'raw':!![]});})[_0x6495('0x22')](function(_0x1da287){if(_0x900467[_0x6495('0x6f')]===_0x6495('0x91')){_0x1e13cd['where'](_0x900467['table']+'.calldate\x20BETWEEN\x20?\x20AND\x20?',_0x2bb0a4[_0x6495('0x92')],_0x2bb0a4[_0x6495('0x93')]);}else{_0x1e13cd[_0x6495('0x34')](_0x900467[_0x6495('0x6f')]+'.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0x2bb0a4['startDate'],_0x2bb0a4['endDate']);}if(_0x1da287){logger[_0x6495('0x94')]('Run\x20Query:',_0x1e13cd['toString']());require(_0x6495('0x95'))[_0x6495('0x96')](path[_0x6495('0x4f')](__dirname,_0x6495('0x97'),_0x1da287['output']),[_0x1da287['id'],_0x1e13cd[_0x6495('0x81')](),path[_0x6495('0x4f')](__dirname,_0x6495('0x98'),_0x1da287[_0x6495('0x99')]),_0x2e4841]);return _0x1da287;}else{var _0x4f4e14=squel[_0x6495('0x6d')]();_0x4f4e14[_0x6495('0x6e')]('('+_0x1e13cd[_0x6495('0x81')]()+')',_0x6495('0x9a'));_0x4f4e14[_0x6495('0x76')]('COUNT(*)',_0x6495('0x18'));_0x1e13cd[_0x6495('0x1a')](_0x2bb0a4['limit']||_0x5f0aac);_0x1e13cd[_0x6495('0x19')](_0x2bb0a4['offset']||0x0);return db[_0x6495('0x82')][_0x6495('0x2e')](_0x4f4e14[_0x6495('0x81')](),{'type':db[_0x6495('0x82')][_0x6495('0x8a')][_0x6495('0x83')]})[_0x6495('0x22')](function(_0x2a7871){if(!_0x2a7871[_0x6495('0x63')]){_0x1e335d=0x0;}else{_0x1e335d=_0x2a7871[0x0][_0x6495('0x18')]||0x0;}return db[_0x6495('0x82')]['query'](_0x1e13cd[_0x6495('0x81')](),{'type':db['sequelize'][_0x6495('0x8a')]['SELECT']});})[_0x6495('0x22')](function(_0x10b6af){return{'rows':_0x10b6af||[],'count':_0x1e335d};});}});}exports[_0x6495('0x9b')]=function(_0x468d60,_0x4f021d){return runReport(_0x468d60['params'],_0x468d60[_0x6495('0x2e')],_0x468d60[_0x6495('0x40')])[_0x6495('0x22')](respondWithResult(_0x4f021d,null))[_0x6495('0x41')](handleError(_0x4f021d,null));};exports['runReport']=runReport;exports[_0x6495('0x2e')]=function(_0x1518d3,_0x4e67f7){var _0x25988a=0xa;var _0x455d2b=[_0x6495('0x4f'),_0x6495('0x50'),_0x6495('0x9c'),_0x6495('0x51')];var _0x199abd={'SUM':'SUM(%s)','COUNT':'COUNT(%s)','COUNT DISTINCT':_0x6495('0x54'),'MAX':_0x6495('0x55'),'MIN':_0x6495('0x56'),'AVG':_0x6495('0x57'),'GROUP_CONCAT':_0x6495('0x9d'),'GROUP_CONCAT ASC':_0x6495('0x58'),'GROUP_CONCAT DESC':_0x6495('0x84')};var _0x156e3a={'SEC_TO_TIME':'SEC_TO_TIME(%s)','DATE':_0x6495('0x5a'),'HOUR':_0x6495('0x5b'),'ROUND':_0x6495('0x85'),'UNIX_TIMESTAMP':'UNIX_TIMESTAMP(%s)'};var _0x4963d3=function(_0x1cbb96){return!_[_0x6495('0x5d')](['IS\x20NULL',_0x6495('0x5f'),_0x6495('0x60'),_0x6495('0x61')],_0x1cbb96);};var _0x198a5e=function(_0x386f16){if(!_0x386f16||!_0x386f16[_0x6495('0x62')][_0x6495('0x63')]){return'';}for(var _0x16caee='(',_0x68fd2f=0x0;_0x68fd2f<_0x386f16[_0x6495('0x62')][_0x6495('0x63')];_0x68fd2f+=0x1){_0x68fd2f>0x0&&(_0x16caee+='\x20'+_0x386f16[_0x6495('0x9e')]+'\x20');_0x16caee+=_0x386f16['rules'][_0x68fd2f][_0x6495('0x64')]?_0x198a5e(_0x386f16[_0x6495('0x62')][_0x68fd2f][_0x6495('0x64')]):_0x386f16[_0x6495('0x62')][_0x68fd2f]['field']+'\x20'+_0x386f16['rules'][_0x68fd2f][_0x6495('0x65')]+(_0x4963d3(_0x386f16[_0x6495('0x62')][_0x68fd2f][_0x6495('0x65')])?'\x20'+_0x386f16[_0x6495('0x62')][_0x68fd2f][_0x6495('0x66')]:'');}return _0x16caee+')';};var _0x22148c={'where':{'id':_0x1518d3[_0x6495('0x4d')]['id']}},_0x5e0444,_0xd663fe,_0x106344,_0x24ffa2,_0x362428;_0x22148c=_[_0x6495('0x38')]({},_0x22148c,_0x1518d3[_0x6495('0x40')]);return db[_0x6495('0x2a')][_0x6495('0x4c')](_0x22148c)['then'](function(_0xb7cac8){if(_0xb7cac8){_0x5e0444=_0xb7cac8;return _0xb7cac8[_0x6495('0x67')]();}return null;})[_0x6495('0x22')](function(_0x47064f){if(_0x47064f){if(!_0x47064f[_0x6495('0x63')]){throw new db[(_0x6495('0x68'))]['ValidationErrorItem'](_0x6495('0x6a'),0x193);}_0xd663fe=_0x47064f;return db[_0x6495('0x6b')]['findAll']({'raw':!![]});}return null;})[_0x6495('0x22')](function(_0x136673){if(_0x136673){_0x106344=_[_0x6495('0x6c')](_0x136673,'id');var _0x50e9d4;var _0x45d485=squel[_0x6495('0x6d')]();_0x45d485['from'](_0x5e0444['table']);for(var _0x1a7749=0x0;_0x1a7749<_0xd663fe[_0x6495('0x63')];_0x1a7749+=0x1){_0x50e9d4=_0xd663fe[_0x1a7749][_0x6495('0x86')]?_0x106344[_0xd663fe[_0x1a7749]['MetricId']][_0x6495('0x70')]:_0xd663fe[_0x1a7749][_0x6495('0x76')];_0x50e9d4=_0xd663fe[_0x1a7749][_0x6495('0x71')]?_[_0x6495('0x73')](_0x199abd[_0xd663fe[_0x1a7749][_0x6495('0x71')]],'%s',_0x50e9d4):_0x50e9d4;_0x50e9d4=_0xd663fe[_0x1a7749][_0x6495('0x72')]?_[_0x6495('0x73')](_0x156e3a[_0xd663fe[_0x1a7749][_0x6495('0x72')]],'%s',_0x50e9d4):_0x50e9d4;if(_0xd663fe[_0x1a7749][_0x6495('0x74')]){_0x45d485[_0x6495('0x64')](_0x50e9d4);}_0xd663fe[_0x1a7749]['orderBy']&&_0x45d485['order'](_0x50e9d4,_0xd663fe[_0x1a7749][_0x6495('0x75')]===_0x6495('0x87')?![]:!![]);_0x45d485[_0x6495('0x76')](_0x50e9d4,_0xd663fe[_0x1a7749][_0x6495('0x77')]||_0x50e9d4);}if(_0x5e0444['joins']){_0x5e0444[_0x6495('0x78')]=JSON[_0x6495('0x79')](_0x5e0444[_0x6495('0x78')]);for(var _0x3f4ee8=0x0;_0x3f4ee8<_0x5e0444[_0x6495('0x78')][_0x6495('0x63')];_0x3f4ee8+=0x1){if(_0x5e0444[_0x6495('0x78')][_0x3f4ee8]['type']&&_[_0x6495('0x5d')](_0x455d2b,_0x5e0444[_0x6495('0x78')][_0x3f4ee8]['type'])&&_0x5e0444[_0x6495('0x78')][_0x3f4ee8][_0x6495('0x7e')]&&_0x5e0444[_0x6495('0x78')][_0x3f4ee8][_0x6495('0x7c')]&&_0x5e0444[_0x6495('0x78')][_0x3f4ee8][_0x6495('0x7b')]){_0x45d485[_0x5e0444['joins'][_0x3f4ee8][_0x6495('0x7a')]](_0x5e0444[_0x6495('0x78')][_0x3f4ee8][_0x6495('0x7c')],null,util[_0x6495('0x72')](_0x6495('0x7d'),_0x5e0444[_0x6495('0x6f')],_0x5e0444[_0x6495('0x78')][_0x3f4ee8]['parentKey'],_0x5e0444[_0x6495('0x78')][_0x3f4ee8][_0x6495('0x7c')],_0x5e0444[_0x6495('0x78')][_0x3f4ee8][_0x6495('0x7b')]));}}}if(_0x5e0444[_0x6495('0x7f')]){_0x5e0444[_0x6495('0x7f')]=JSON[_0x6495('0x79')](_0x5e0444['conditions']);_0x45d485['where'](_0x198a5e(_0x5e0444[_0x6495('0x7f')]['group']));}_0x362428=_0x45d485[_0x6495('0x88')]();_0x45d485[_0x6495('0x1a')](_0x25988a);_0x45d485['offset'](0x0);logger[_0x6495('0x89')](_0x6495('0x80'),_0x45d485['toString']());return db[_0x6495('0x82')]['query'](_0x45d485[_0x6495('0x81')](),{'type':db['sequelize'][_0x6495('0x8a')][_0x6495('0x83')]});}})['then'](function(){return{'sql':_0x362428[_0x6495('0x81')]()};})[_0x6495('0x22')](respondWithResult(_0x4e67f7,null))[_0x6495('0x41')](handleError(_0x4e67f7,null));};