8180106124d0b46cbec902e476353d2d960b7045
[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 _0x71e1=['csv','default','cdr','endDate','.createdAt\x20BETWEEN\x20?\x20AND\x20?','info','Run\x20Query:','child_process','../../components/export/','../../files/reports','savename','countTable','run','runReport','right_join','MAX(%s)','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','Limited\x20Query:','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','lodash','squel','crypto','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../mysqldb','dbH','sendStatus','end','status','json','count','offset','limit','set','Content-Range','apply','reject','update','then','destroy','get','DefaultReports','UserProfileResource','error','stack','map','rawAttributes','fieldName','type','key','name','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','order','sort','where','pick','filter','merge','AnalyticDefaultReport','includeAll','include','rows','params','options','find','catch','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','Reports','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','preview','cross_join','SUM(%s)','COUNT(%s)','COUNT(DISTINCT\x20%s)','MIN(%s)','AVG(%s)','GROUP_CONCAT(%s)','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)','SEC_TO_TIME(%s)','DATE(%s)','HOUR(%s)','ROUND(%s)','includes','IS\x20NULL','IS\x20EMPTY','IS\x20NOT\x20EMPTY','rules','group','field','condition','getFields','Sequelize','ValidationErrorItem','Please\x20insert\x20at\x20least\x20one\x20field','AnalyticMetric','findAll','keyBy','select','from','table','MetricId','metric','replace','function','format','orderBy','DESC','joins','parse','parentKey','foreignTable','foreignKey','%s.%s\x20=\x20%s.%s','conditions','debug','toString','sequelize','SELECT','join','left_join','UNIX_TIMESTAMP(%s)','IS\x20NOT\x20NULL','operator','value','groupBy','alias','clone','QueryTypes','No\x20available\x20data','output','web','fullPath','%s-%s.%s','randomstring'];(function(_0x97b189,_0x4f7df0){var _0x149cef=function(_0x3ac279){while(--_0x3ac279){_0x97b189['push'](_0x97b189['shift']());}};_0x149cef(++_0x4f7df0);}(_0x71e1,0x15e));var _0x171e=function(_0x119036,_0x2c7169){_0x119036=_0x119036-0x0;var _0x545ec1=_0x71e1[_0x119036];return _0x545ec1;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0x171e('0x0'));var zipdir=require(_0x171e('0x1'));var jsonpatch=require(_0x171e('0x2'));var rp=require(_0x171e('0x3'));var moment=require(_0x171e('0x4'));var BPromise=require(_0x171e('0x5'));var Mustache=require(_0x171e('0x6'));var util=require(_0x171e('0x7'));var path=require(_0x171e('0x8'));var sox=require('sox');var csv=require(_0x171e('0x9'));var ejs=require(_0x171e('0xa'));var fs=require('fs');var _=require(_0x171e('0xb'));var squel=require(_0x171e('0xc'));var crypto=require(_0x171e('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x171e('0xe'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x171e('0xf'));var Redis=require(_0x171e('0x10'));var authService=require(_0x171e('0x11'));var qs=require(_0x171e('0x12'));var as=require(_0x171e('0x13'));var hardwareService=require(_0x171e('0x14'));var logger=require(_0x171e('0x15'))('api');var utils=require('../../config/utils');var config=require(_0x171e('0x16'));var db=require(_0x171e('0x17'))['db'];var dbH=require(_0x171e('0x17'))[_0x171e('0x18')];function respondWithStatusCode(_0xa2bf,_0x1cfc8a){_0x1cfc8a=_0x1cfc8a||0xcc;return function(_0x2bfdca){if(_0x2bfdca){return _0xa2bf[_0x171e('0x19')](_0x1cfc8a);}return _0xa2bf['status'](_0x1cfc8a)[_0x171e('0x1a')]();};}function respondWithResult(_0x57f8d3,_0x53e306){_0x53e306=_0x53e306||0xc8;return function(_0x5a077b){if(_0x5a077b){return _0x57f8d3[_0x171e('0x1b')](_0x53e306)[_0x171e('0x1c')](_0x5a077b);}};}function respondWithFilteredResult(_0xa9ab0b,_0x541c49){return function(_0x5a06ef){if(_0x5a06ef){var _0x444646=_0x5a06ef[_0x171e('0x1d')],_0x4326e4=_0x541c49['offset'],_0x30d213=_0x541c49[_0x171e('0x1e')]+_0x541c49[_0x171e('0x1f')],_0x439646;if(_0x30d213>=_0x444646){_0x30d213=_0x444646;_0x439646=0xc8;}else{_0x439646=0xce;}_0xa9ab0b[_0x171e('0x1b')](_0x439646);return _0xa9ab0b[_0x171e('0x20')](_0x171e('0x21'),_0x4326e4+'-'+_0x30d213+'/'+_0x444646)[_0x171e('0x1c')](_0x5a06ef);}return null;};}function patchUpdates(_0xad2244){return function(_0x24ac27){try{jsonpatch[_0x171e('0x22')](_0x24ac27,_0xad2244,!![]);}catch(_0xaa0264){return BPromise[_0x171e('0x23')](_0xaa0264);}return _0x24ac27['save']();};}function saveUpdates(_0x3eb6e4,_0x402a6f){return function(_0x2c52d9){if(_0x2c52d9){return _0x2c52d9[_0x171e('0x24')](_0x3eb6e4)[_0x171e('0x25')](function(_0x429167){return _0x429167;});}return null;};}function removeEntity(_0x12f0fc,_0x1a97f3){return function(_0x1988fe){if(_0x1988fe){return _0x1988fe[_0x171e('0x26')]()[_0x171e('0x25')](function(){var _0x23ac62=_0x1988fe[_0x171e('0x27')]({'plain':!![]});var _0x464ae9=_0x171e('0x28');return db[_0x171e('0x29')][_0x171e('0x26')]({'where':{'type':_0x464ae9,'resourceId':_0x23ac62['id']}})[_0x171e('0x25')](function(){return _0x1988fe;});})[_0x171e('0x25')](function(){_0x12f0fc[_0x171e('0x1b')](0xcc)[_0x171e('0x1a')]();});}};}function handleEntityNotFound(_0x4a7a46,_0x490a48){return function(_0x1f1d04){if(!_0x1f1d04){_0x4a7a46['sendStatus'](0x194);}return _0x1f1d04;};}function handleError(_0x1b7aa3,_0x1e31cf){_0x1e31cf=_0x1e31cf||0x1f4;return function(_0x5c42ca){logger[_0x171e('0x2a')](_0x5c42ca[_0x171e('0x2b')]);if(_0x5c42ca['name']){delete _0x5c42ca['name'];}_0x1b7aa3[_0x171e('0x1b')](_0x1e31cf)['send'](_0x5c42ca);};}exports['index']=function(_0x173afb,_0x34f32f){var _0x2601a8={},_0x548cd6={},_0x2b9894={'count':0x0,'rows':[]};var _0xb81fc1=_[_0x171e('0x2c')](db['AnalyticDefaultReport'][_0x171e('0x2d')],function(_0x2cc8cc){return{'name':_0x2cc8cc[_0x171e('0x2e')],'type':_0x2cc8cc[_0x171e('0x2f')][_0x171e('0x30')]};});_0x548cd6['model']=_[_0x171e('0x2c')](_0xb81fc1,_0x171e('0x31'));_0x548cd6[_0x171e('0x32')]=_[_0x171e('0x33')](_0x173afb[_0x171e('0x32')]);_0x548cd6[_0x171e('0x34')]=_[_0x171e('0x35')](_0x548cd6[_0x171e('0x36')],_0x548cd6[_0x171e('0x32')]);_0x2601a8[_0x171e('0x37')]=_[_0x171e('0x35')](_0x548cd6[_0x171e('0x36')],qs[_0x171e('0x38')](_0x173afb[_0x171e('0x32')][_0x171e('0x38')]));_0x2601a8['attributes']=_0x2601a8['attributes'][_0x171e('0x39')]?_0x2601a8[_0x171e('0x37')]:_0x548cd6['model'];if(!_0x173afb[_0x171e('0x32')][_0x171e('0x3a')]('nolimit')){_0x2601a8[_0x171e('0x1f')]=qs['limit'](_0x173afb[_0x171e('0x32')]['limit']);_0x2601a8[_0x171e('0x1e')]=qs[_0x171e('0x1e')](_0x173afb['query'][_0x171e('0x1e')]);}_0x2601a8[_0x171e('0x3b')]=qs[_0x171e('0x3c')](_0x173afb[_0x171e('0x32')][_0x171e('0x3c')]);_0x2601a8[_0x171e('0x3d')]=qs[_0x171e('0x34')](_[_0x171e('0x3e')](_0x173afb[_0x171e('0x32')],_0x548cd6[_0x171e('0x34')]),_0xb81fc1);if(_0x173afb[_0x171e('0x32')][_0x171e('0x3f')]){_0x2601a8[_0x171e('0x3d')]=_[_0x171e('0x40')](_0x2601a8[_0x171e('0x3d')],{'$or':_[_0x171e('0x2c')](_0xb81fc1,function(_0x3dde5b){if(_0x3dde5b[_0x171e('0x2f')]!=='VIRTUAL'){var _0x4f8720={};_0x4f8720[_0x3dde5b[_0x171e('0x31')]]={'$like':'%'+_0x173afb[_0x171e('0x32')][_0x171e('0x3f')]+'%'};return _0x4f8720;}})});}_0x2601a8=_[_0x171e('0x40')]({},_0x2601a8,_0x173afb['options']);var _0x549c51={'where':_0x2601a8[_0x171e('0x3d')]};return db[_0x171e('0x41')][_0x171e('0x1d')](_0x549c51)['then'](function(_0x2b4ed4){_0x2b9894[_0x171e('0x1d')]=_0x2b4ed4;if(_0x173afb[_0x171e('0x32')][_0x171e('0x42')]){_0x2601a8[_0x171e('0x43')]=[{'all':!![]}];}return db['AnalyticDefaultReport']['findAll'](_0x2601a8);})[_0x171e('0x25')](function(_0x5f33cb){_0x2b9894[_0x171e('0x44')]=_0x5f33cb;return _0x2b9894;})[_0x171e('0x25')](respondWithFilteredResult(_0x34f32f,_0x2601a8))['catch'](handleError(_0x34f32f,null));};exports['show']=function(_0x5a684d,_0x1d42d9){var _0x5f21a3={'raw':!![],'where':{'id':_0x5a684d[_0x171e('0x45')]['id']}},_0x5c27c9={};_0x5c27c9[_0x171e('0x36')]=_['keys'](db[_0x171e('0x41')][_0x171e('0x2d')]);_0x5c27c9['query']=_[_0x171e('0x33')](_0x5a684d[_0x171e('0x32')]);_0x5c27c9[_0x171e('0x34')]=_['intersection'](_0x5c27c9['model'],_0x5c27c9[_0x171e('0x32')]);_0x5f21a3[_0x171e('0x37')]=_[_0x171e('0x35')](_0x5c27c9[_0x171e('0x36')],qs[_0x171e('0x38')](_0x5a684d[_0x171e('0x32')][_0x171e('0x38')]));_0x5f21a3[_0x171e('0x37')]=_0x5f21a3['attributes'][_0x171e('0x39')]?_0x5f21a3['attributes']:_0x5c27c9[_0x171e('0x36')];if(_0x5a684d[_0x171e('0x32')][_0x171e('0x42')]){_0x5f21a3[_0x171e('0x43')]=[{'all':!![]}];}_0x5f21a3=_[_0x171e('0x40')]({},_0x5f21a3,_0x5a684d[_0x171e('0x46')]);return db[_0x171e('0x41')][_0x171e('0x47')](_0x5f21a3)[_0x171e('0x25')](handleEntityNotFound(_0x1d42d9,null))[_0x171e('0x25')](respondWithResult(_0x1d42d9,null))[_0x171e('0x48')](handleError(_0x1d42d9,null));};exports[_0x171e('0x49')]=function(_0x4003e6,_0xf066fe){return db[_0x171e('0x41')][_0x171e('0x49')](_0x4003e6[_0x171e('0x4a')],{})[_0x171e('0x25')](function(_0x59cefd){var _0x5565ad=_0x4003e6[_0x171e('0x4b')]['get']({'plain':!![]});if(!_0x5565ad)throw new Error(_0x171e('0x4c'));if(_0x5565ad[_0x171e('0x4d')]==='user'){var _0x325ea0=_0x59cefd[_0x171e('0x27')]({'plain':!![]});var _0x1fc134=_0x171e('0x4e');return db[_0x171e('0x4f')][_0x171e('0x47')]({'where':{'name':_0x1fc134,'userProfileId':_0x5565ad[_0x171e('0x50')]},'raw':!![]})[_0x171e('0x25')](function(_0x3af123){if(_0x3af123&&_0x3af123[_0x171e('0x51')]===0x0){return db['UserProfileResource'][_0x171e('0x49')]({'name':_0x325ea0[_0x171e('0x31')],'resourceId':_0x325ea0['id'],'type':'DefaultReports','sectionId':_0x3af123['id']},{})['then'](function(){return _0x59cefd;});}else{return _0x59cefd;}})['catch'](function(_0x108b50){logger['error'](_0x171e('0x52'),_0x108b50);throw _0x108b50;});}return _0x59cefd;})[_0x171e('0x25')](respondWithResult(_0xf066fe,0xc9))[_0x171e('0x48')](handleError(_0xf066fe,null));};exports['update']=function(_0x4019cb,_0x132436){if(_0x4019cb['body']['id']){delete _0x4019cb[_0x171e('0x4a')]['id'];}return db[_0x171e('0x41')][_0x171e('0x47')]({'where':{'id':_0x4019cb['params']['id']}})[_0x171e('0x25')](handleEntityNotFound(_0x132436,null))['then'](saveUpdates(_0x4019cb[_0x171e('0x4a')],null))[_0x171e('0x25')](respondWithResult(_0x132436,null))[_0x171e('0x48')](handleError(_0x132436,null));};exports[_0x171e('0x26')]=function(_0xd8e764,_0x4a7cc7){return db[_0x171e('0x41')]['find']({'where':{'id':_0xd8e764[_0x171e('0x45')]['id']}})[_0x171e('0x25')](handleEntityNotFound(_0x4a7cc7,null))[_0x171e('0x25')](removeEntity(_0x4a7cc7,null))[_0x171e('0x48')](handleError(_0x4a7cc7,null));};exports[_0x171e('0x53')]=function(_0x1e34fa,_0x9e141f){var _0x2730c4=0xa;var _0x103328=['join','left_join','right_join',_0x171e('0x54')];var _0x4d94ec={'SUM':_0x171e('0x55'),'COUNT':_0x171e('0x56'),'COUNT DISTINCT':_0x171e('0x57'),'MAX':'MAX(%s)','MIN':_0x171e('0x58'),'AVG':_0x171e('0x59'),'GROUP_CONCAT':_0x171e('0x5a'),'GROUP_CONCAT ASC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','GROUP_CONCAT DESC':_0x171e('0x5b')};var _0x181e33={'SEC_TO_TIME':_0x171e('0x5c'),'DATE':_0x171e('0x5d'),'HOUR':_0x171e('0x5e'),'ROUND':_0x171e('0x5f'),'UNIX_TIMESTAMP':'UNIX_TIMESTAMP(%s)'};var _0x5d0692=function(_0x2c2d11){return!_[_0x171e('0x60')]([_0x171e('0x61'),'IS\x20NOT\x20NULL',_0x171e('0x62'),_0x171e('0x63')],_0x2c2d11);};var _0x35ef83=function(_0x53948d){if(!_0x53948d||!_0x53948d[_0x171e('0x64')][_0x171e('0x39')]){return'';}for(var _0x592271='(',_0x2d43b7=0x0;_0x2d43b7<_0x53948d[_0x171e('0x64')]['length'];_0x2d43b7+=0x1){_0x2d43b7>0x0&&(_0x592271+='\x20'+_0x53948d['operator']+'\x20');_0x592271+=_0x53948d[_0x171e('0x64')][_0x2d43b7][_0x171e('0x65')]?_0x35ef83(_0x53948d[_0x171e('0x64')][_0x2d43b7][_0x171e('0x65')]):_0x53948d[_0x171e('0x64')][_0x2d43b7][_0x171e('0x66')]+'\x20'+_0x53948d[_0x171e('0x64')][_0x2d43b7]['condition']+(_0x5d0692(_0x53948d['rules'][_0x2d43b7][_0x171e('0x67')])?'\x20'+_0x53948d[_0x171e('0x64')][_0x2d43b7]['value']:'');}return _0x592271+')';};var _0x2e2741={'where':{'id':_0x1e34fa[_0x171e('0x45')]['id']}},_0x5b5141,_0x1f5cbc,_0x13f5e8,_0xf0f7f5,_0xaf45f3;_0x2e2741=_[_0x171e('0x40')]({},_0x2e2741,_0x1e34fa[_0x171e('0x46')]);return db[_0x171e('0x41')][_0x171e('0x47')](_0x2e2741)[_0x171e('0x25')](function(_0x490e53){if(_0x490e53){_0x5b5141=_0x490e53;return _0x490e53[_0x171e('0x68')]();}return null;})['then'](function(_0x4fdb40){if(_0x4fdb40){if(!_0x4fdb40[_0x171e('0x39')]){throw new db[(_0x171e('0x69'))][(_0x171e('0x6a'))](_0x171e('0x6b'),0x193);}_0x1f5cbc=_0x4fdb40;return db[_0x171e('0x6c')][_0x171e('0x6d')]({'raw':!![]});}return null;})[_0x171e('0x25')](function(_0x30154a){if(_0x30154a){_0x13f5e8=_[_0x171e('0x6e')](_0x30154a,'id');var _0x3cacac;var _0x5bdce5=squel[_0x171e('0x6f')]();_0x5bdce5[_0x171e('0x70')](_0x5b5141[_0x171e('0x71')]);for(var _0x30f3f8=0x0;_0x30f3f8<_0x1f5cbc['length'];_0x30f3f8+=0x1){_0x3cacac=_0x1f5cbc[_0x30f3f8]['MetricId']?_0x13f5e8[_0x1f5cbc[_0x30f3f8][_0x171e('0x72')]][_0x171e('0x73')]:_0x1f5cbc[_0x30f3f8]['field'];_0x3cacac=_0x1f5cbc[_0x30f3f8]['function']?_[_0x171e('0x74')](_0x4d94ec[_0x1f5cbc[_0x30f3f8][_0x171e('0x75')]],'%s',_0x3cacac):_0x3cacac;_0x3cacac=_0x1f5cbc[_0x30f3f8]['format']?_['replace'](_0x181e33[_0x1f5cbc[_0x30f3f8][_0x171e('0x76')]],'%s',_0x3cacac):_0x3cacac;if(_0x1f5cbc[_0x30f3f8]['groupBy']){_0x5bdce5[_0x171e('0x65')](_0x3cacac);}_0x1f5cbc[_0x30f3f8][_0x171e('0x77')]&&_0x5bdce5['order'](_0x3cacac,_0x1f5cbc[_0x30f3f8]['orderBy']===_0x171e('0x78')?![]:!![]);_0x5bdce5[_0x171e('0x66')](_0x3cacac,_0x1f5cbc[_0x30f3f8]['alias']||_0x3cacac);}if(_0x5b5141[_0x171e('0x79')]){_0x5b5141[_0x171e('0x79')]=JSON[_0x171e('0x7a')](_0x5b5141[_0x171e('0x79')]);for(var _0x452144=0x0;_0x452144<_0x5b5141[_0x171e('0x79')][_0x171e('0x39')];_0x452144+=0x1){if(_0x5b5141[_0x171e('0x79')][_0x452144][_0x171e('0x2f')]&&_[_0x171e('0x60')](_0x103328,_0x5b5141[_0x171e('0x79')][_0x452144][_0x171e('0x2f')])&&_0x5b5141[_0x171e('0x79')][_0x452144][_0x171e('0x7b')]&&_0x5b5141[_0x171e('0x79')][_0x452144][_0x171e('0x7c')]&&_0x5b5141[_0x171e('0x79')][_0x452144][_0x171e('0x7d')]){_0x5bdce5[_0x5b5141['joins'][_0x452144]['type']](_0x5b5141[_0x171e('0x79')][_0x452144][_0x171e('0x7c')],null,util['format'](_0x171e('0x7e'),_0x5b5141[_0x171e('0x71')],_0x5b5141[_0x171e('0x79')][_0x452144][_0x171e('0x7b')],_0x5b5141[_0x171e('0x79')][_0x452144][_0x171e('0x7c')],_0x5b5141['joins'][_0x452144]['foreignKey']));}}}if(_0x5b5141[_0x171e('0x7f')]){_0x5b5141[_0x171e('0x7f')]=JSON['parse'](_0x5b5141[_0x171e('0x7f')]);_0x5bdce5['where'](_0x35ef83(_0x5b5141[_0x171e('0x7f')][_0x171e('0x65')]));}_0xaf45f3=_0x5bdce5['clone']();_0x5bdce5[_0x171e('0x1f')](_0x2730c4);_0x5bdce5['offset'](0x0);logger[_0x171e('0x80')]('Limited\x20Query:',_0x5bdce5[_0x171e('0x81')]());return db['sequelize'][_0x171e('0x32')](_0x5bdce5[_0x171e('0x81')](),{'type':db[_0x171e('0x82')]['QueryTypes'][_0x171e('0x83')]});}})[_0x171e('0x25')](respondWithResult(_0x9e141f,null))[_0x171e('0x48')](handleError(_0x9e141f,null));};function runReport(_0x177946,_0x98f8cf,_0x2e9efe){var _0x6ce16b=_0x98f8cf[_0x171e('0x31')];var _0x230c0f=0xa;var _0x4ee58c=[_0x171e('0x84'),_0x171e('0x85'),'right_join','cross_join'];var _0x40a9c3={'SUM':_0x171e('0x55'),'COUNT':_0x171e('0x56'),'COUNT DISTINCT':'COUNT(DISTINCT\x20%s)','MAX':'MAX(%s)','MIN':_0x171e('0x58'),'AVG':'AVG(%s)','GROUP_CONCAT':_0x171e('0x5a'),'GROUP_CONCAT ASC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','GROUP_CONCAT DESC':_0x171e('0x5b')};var _0x4d663e={'SEC_TO_TIME':_0x171e('0x5c'),'DATE':_0x171e('0x5d'),'HOUR':'HOUR(%s)','ROUND':'ROUND(%s)','UNIX_TIMESTAMP':_0x171e('0x86')};var _0x18c7a7=function(_0x3cdcf6){return!_[_0x171e('0x60')]([_0x171e('0x61'),_0x171e('0x87'),_0x171e('0x62'),_0x171e('0x63')],_0x3cdcf6);};var _0x590fa0=function(_0x2d8a1e){if(!_0x2d8a1e||!_0x2d8a1e[_0x171e('0x64')]['length']){return'';}for(var _0x2a0b99='(',_0x3b7234=0x0;_0x3b7234<_0x2d8a1e[_0x171e('0x64')][_0x171e('0x39')];_0x3b7234+=0x1){_0x3b7234>0x0&&(_0x2a0b99+='\x20'+_0x2d8a1e[_0x171e('0x88')]+'\x20');_0x2a0b99+=_0x2d8a1e[_0x171e('0x64')][_0x3b7234][_0x171e('0x65')]?_0x590fa0(_0x2d8a1e[_0x171e('0x64')][_0x3b7234][_0x171e('0x65')]):_0x2d8a1e['rules'][_0x3b7234]['field']+'\x20'+_0x2d8a1e['rules'][_0x3b7234][_0x171e('0x67')]+(_0x18c7a7(_0x2d8a1e[_0x171e('0x64')][_0x3b7234][_0x171e('0x67')])?'\x20'+_0x2d8a1e[_0x171e('0x64')][_0x3b7234][_0x171e('0x89')]:'');}return _0x2a0b99+')';};var _0x16a03c={'where':{'id':_0x177946['id']}},_0x5033a5,_0x2bed7b,_0x8b853b,_0x4c44df,_0x575e9e;_0x16a03c=_[_0x171e('0x40')]({},_0x16a03c,_0x2e9efe);return db['AnalyticDefaultReport']['find'](_0x16a03c)[_0x171e('0x25')](function(_0x5705a6){if(_0x5705a6){_0x5033a5=_0x5705a6;return _0x5705a6[_0x171e('0x68')]();}return null;})['then'](function(_0x396c50){if(_0x396c50){if(!_0x396c50[_0x171e('0x39')]){throw new db[(_0x171e('0x69'))][(_0x171e('0x6a'))]('Please\x20insert\x20at\x20least\x20one\x20field',0x193);}_0x2bed7b=_0x396c50;return db[_0x171e('0x6c')][_0x171e('0x6d')]({'raw':!![]});}return null;})[_0x171e('0x25')](function(_0x59897e){if(_0x59897e){_0x8b853b=_[_0x171e('0x6e')](_0x59897e,'id');var _0x556224;var _0x196a06=squel[_0x171e('0x6f')]();_0x196a06[_0x171e('0x70')](_0x5033a5['table']);for(var _0x4cd5b0=0x0;_0x4cd5b0<_0x2bed7b['length'];_0x4cd5b0+=0x1){_0x556224=_0x2bed7b[_0x4cd5b0][_0x171e('0x72')]?_0x8b853b[_0x2bed7b[_0x4cd5b0][_0x171e('0x72')]][_0x171e('0x73')]:_0x2bed7b[_0x4cd5b0][_0x171e('0x66')];_0x556224=_0x2bed7b[_0x4cd5b0][_0x171e('0x75')]?_[_0x171e('0x74')](_0x40a9c3[_0x2bed7b[_0x4cd5b0][_0x171e('0x75')]],'%s',_0x556224):_0x556224;_0x556224=_0x2bed7b[_0x4cd5b0][_0x171e('0x76')]?_[_0x171e('0x74')](_0x4d663e[_0x2bed7b[_0x4cd5b0][_0x171e('0x76')]],'%s',_0x556224):_0x556224;if(_0x2bed7b[_0x4cd5b0][_0x171e('0x8a')]){_0x196a06[_0x171e('0x65')](_0x556224);}_0x2bed7b[_0x4cd5b0][_0x171e('0x77')]&&_0x196a06[_0x171e('0x3b')](_0x556224,_0x2bed7b[_0x4cd5b0][_0x171e('0x77')]===_0x171e('0x78')?![]:!![]);_0x196a06[_0x171e('0x66')](_0x556224,_0x2bed7b[_0x4cd5b0][_0x171e('0x8b')]||_0x556224);}if(_0x5033a5['joins']){_0x5033a5[_0x171e('0x79')]=JSON[_0x171e('0x7a')](_0x5033a5[_0x171e('0x79')]);for(var _0x3029bb=0x0;_0x3029bb<_0x5033a5[_0x171e('0x79')]['length'];_0x3029bb+=0x1){if(_0x5033a5[_0x171e('0x79')][_0x3029bb][_0x171e('0x2f')]&&_[_0x171e('0x60')](_0x4ee58c,_0x5033a5[_0x171e('0x79')][_0x3029bb]['type'])&&_0x5033a5[_0x171e('0x79')][_0x3029bb][_0x171e('0x7b')]&&_0x5033a5[_0x171e('0x79')][_0x3029bb][_0x171e('0x7c')]&&_0x5033a5[_0x171e('0x79')][_0x3029bb][_0x171e('0x7d')]){_0x196a06[_0x5033a5[_0x171e('0x79')][_0x3029bb]['type']](_0x5033a5[_0x171e('0x79')][_0x3029bb][_0x171e('0x7c')],null,util[_0x171e('0x76')](_0x171e('0x7e'),_0x5033a5[_0x171e('0x71')],_0x5033a5[_0x171e('0x79')][_0x3029bb]['parentKey'],_0x5033a5[_0x171e('0x79')][_0x3029bb][_0x171e('0x7c')],_0x5033a5[_0x171e('0x79')][_0x3029bb]['foreignKey']));}}}if(_0x5033a5['conditions']){_0x5033a5[_0x171e('0x7f')]=JSON['parse'](_0x5033a5[_0x171e('0x7f')]);_0x196a06['where'](_0x590fa0(_0x5033a5['conditions']['group']));}_0x575e9e=_0x196a06[_0x171e('0x8c')]();_0x196a06[_0x171e('0x1f')](_0x230c0f);_0x196a06[_0x171e('0x1e')](0x0);logger[_0x171e('0x80')]('Limited\x20Query:',_0x196a06[_0x171e('0x81')]());return db['sequelize'][_0x171e('0x32')](_0x196a06[_0x171e('0x81')](),{'type':db[_0x171e('0x82')][_0x171e('0x8d')][_0x171e('0x83')]});}})['then'](function(_0x3d4783){if(!_0x3d4783[_0x171e('0x39')]){throw new db[(_0x171e('0x69'))][(_0x171e('0x6a'))](_0x171e('0x8e'),0xcc);}if(_0x98f8cf[_0x171e('0x8f')]===_0x171e('0x90')){return null;}var _0x4f40ef=_[_0x171e('0x40')](_0x98f8cf,{'name':_0x98f8cf[_0x171e('0x91')]||_0x98f8cf['name']||_0x5033a5[_0x171e('0x31')],'basename':_0x6ce16b,'savename':util[_0x171e('0x76')](_0x171e('0x92'),_0x98f8cf[_0x171e('0x31')]||_0x5033a5[_0x171e('0x31')],require(_0x171e('0x93'))['generate'](0x4),_0x98f8cf[_0x171e('0x8f')]||_0x171e('0x94')),'reportId':_0x5033a5['id'],'reportType':_0x171e('0x95')});return db['AnalyticExtractedReport'][_0x171e('0x49')](_0x4f40ef,{'raw':!![]});})[_0x171e('0x25')](function(_0x48f106){if(_0x5033a5[_0x171e('0x71')]===_0x171e('0x96')){_0x575e9e[_0x171e('0x3d')](_0x5033a5[_0x171e('0x71')]+'.calldate\x20BETWEEN\x20?\x20AND\x20?',_0x98f8cf['startDate'],_0x98f8cf[_0x171e('0x97')]);}else{_0x575e9e[_0x171e('0x3d')](_0x5033a5[_0x171e('0x71')]+_0x171e('0x98'),_0x98f8cf['startDate'],_0x98f8cf[_0x171e('0x97')]);}if(_0x48f106){logger[_0x171e('0x99')](_0x171e('0x9a'),_0x575e9e[_0x171e('0x81')]());require(_0x171e('0x9b'))['fork'](path[_0x171e('0x84')](__dirname,_0x171e('0x9c'),_0x48f106['output']),[_0x48f106['id'],_0x575e9e[_0x171e('0x81')](),path[_0x171e('0x84')](__dirname,_0x171e('0x9d'),_0x48f106[_0x171e('0x9e')]),_0x6ce16b]);return _0x48f106;}else{var _0x268001=squel['select']();_0x268001['from']('('+_0x575e9e[_0x171e('0x81')]()+')',_0x171e('0x9f'));_0x268001['field']('COUNT(*)',_0x171e('0x1d'));_0x575e9e['limit'](_0x98f8cf[_0x171e('0x1f')]||_0x230c0f);_0x575e9e[_0x171e('0x1e')](_0x98f8cf[_0x171e('0x1e')]||0x0);return dbH[_0x171e('0x82')][_0x171e('0x32')](_0x268001[_0x171e('0x81')](),{'type':dbH[_0x171e('0x82')][_0x171e('0x8d')][_0x171e('0x83')]})[_0x171e('0x25')](function(_0x53fedc){if(!_0x53fedc[_0x171e('0x39')]){_0x4c44df=0x0;}else{_0x4c44df=_0x53fedc[0x0]['count']||0x0;}return dbH[_0x171e('0x82')][_0x171e('0x32')](_0x575e9e[_0x171e('0x81')](),{'type':dbH[_0x171e('0x82')][_0x171e('0x8d')][_0x171e('0x83')]});})[_0x171e('0x25')](function(_0x383cce){return{'rows':_0x383cce||[],'count':_0x4c44df};});}});}exports[_0x171e('0xa0')]=function(_0x141fd4,_0x352a26){return runReport(_0x141fd4['params'],_0x141fd4['query'],_0x141fd4[_0x171e('0x46')])[_0x171e('0x25')](respondWithResult(_0x352a26,null))['catch'](handleError(_0x352a26,null));};exports[_0x171e('0xa1')]=runReport;exports[_0x171e('0x32')]=function(_0x5ba8ca,_0x3778c5){var _0x3d7c31=0xa;var _0x4ac2c4=[_0x171e('0x84'),'left_join',_0x171e('0xa2'),_0x171e('0x54')];var _0x1c19f9={'SUM':_0x171e('0x55'),'COUNT':_0x171e('0x56'),'COUNT DISTINCT':_0x171e('0x57'),'MAX':_0x171e('0xa3'),'MIN':_0x171e('0x58'),'AVG':_0x171e('0x59'),'GROUP_CONCAT':_0x171e('0x5a'),'GROUP_CONCAT ASC':_0x171e('0xa4'),'GROUP_CONCAT DESC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)'};var _0x366f8b={'SEC_TO_TIME':_0x171e('0x5c'),'DATE':'DATE(%s)','HOUR':_0x171e('0x5e'),'ROUND':_0x171e('0x5f'),'UNIX_TIMESTAMP':_0x171e('0x86')};var _0x22ee1a=function(_0x36c7ad){return!_['includes']([_0x171e('0x61'),_0x171e('0x87'),_0x171e('0x62'),_0x171e('0x63')],_0x36c7ad);};var _0x593b35=function(_0x451010){if(!_0x451010||!_0x451010[_0x171e('0x64')][_0x171e('0x39')]){return'';}for(var _0x22b520='(',_0x56246b=0x0;_0x56246b<_0x451010[_0x171e('0x64')][_0x171e('0x39')];_0x56246b+=0x1){_0x56246b>0x0&&(_0x22b520+='\x20'+_0x451010[_0x171e('0x88')]+'\x20');_0x22b520+=_0x451010[_0x171e('0x64')][_0x56246b][_0x171e('0x65')]?_0x593b35(_0x451010[_0x171e('0x64')][_0x56246b][_0x171e('0x65')]):_0x451010[_0x171e('0x64')][_0x56246b]['field']+'\x20'+_0x451010[_0x171e('0x64')][_0x56246b]['condition']+(_0x22ee1a(_0x451010[_0x171e('0x64')][_0x56246b][_0x171e('0x67')])?'\x20'+_0x451010['rules'][_0x56246b]['value']:'');}return _0x22b520+')';};var _0x13dce9={'where':{'id':_0x5ba8ca['params']['id']}},_0x2043ed,_0xec35eb,_0x45f352,_0x3e78b5,_0x2d6521;_0x13dce9=_[_0x171e('0x40')]({},_0x13dce9,_0x5ba8ca[_0x171e('0x46')]);return db['AnalyticDefaultReport']['find'](_0x13dce9)[_0x171e('0x25')](function(_0x4a724a){if(_0x4a724a){_0x2043ed=_0x4a724a;return _0x4a724a['getFields']();}return null;})[_0x171e('0x25')](function(_0x16ac02){if(_0x16ac02){if(!_0x16ac02[_0x171e('0x39')]){throw new db[(_0x171e('0x69'))][(_0x171e('0x6a'))](_0x171e('0x6b'),0x193);}_0xec35eb=_0x16ac02;return db[_0x171e('0x6c')][_0x171e('0x6d')]({'raw':!![]});}return null;})[_0x171e('0x25')](function(_0x1aa9d9){if(_0x1aa9d9){_0x45f352=_[_0x171e('0x6e')](_0x1aa9d9,'id');var _0x10ad29;var _0x5c9c64=squel[_0x171e('0x6f')]();_0x5c9c64['from'](_0x2043ed[_0x171e('0x71')]);for(var _0x40e9aa=0x0;_0x40e9aa<_0xec35eb[_0x171e('0x39')];_0x40e9aa+=0x1){_0x10ad29=_0xec35eb[_0x40e9aa]['MetricId']?_0x45f352[_0xec35eb[_0x40e9aa][_0x171e('0x72')]][_0x171e('0x73')]:_0xec35eb[_0x40e9aa][_0x171e('0x66')];_0x10ad29=_0xec35eb[_0x40e9aa]['function']?_[_0x171e('0x74')](_0x1c19f9[_0xec35eb[_0x40e9aa][_0x171e('0x75')]],'%s',_0x10ad29):_0x10ad29;_0x10ad29=_0xec35eb[_0x40e9aa]['format']?_[_0x171e('0x74')](_0x366f8b[_0xec35eb[_0x40e9aa]['format']],'%s',_0x10ad29):_0x10ad29;if(_0xec35eb[_0x40e9aa]['groupBy']){_0x5c9c64[_0x171e('0x65')](_0x10ad29);}_0xec35eb[_0x40e9aa][_0x171e('0x77')]&&_0x5c9c64['order'](_0x10ad29,_0xec35eb[_0x40e9aa][_0x171e('0x77')]==='DESC'?![]:!![]);_0x5c9c64[_0x171e('0x66')](_0x10ad29,_0xec35eb[_0x40e9aa][_0x171e('0x8b')]||_0x10ad29);}if(_0x2043ed['joins']){_0x2043ed['joins']=JSON[_0x171e('0x7a')](_0x2043ed[_0x171e('0x79')]);for(var _0x290e6e=0x0;_0x290e6e<_0x2043ed[_0x171e('0x79')][_0x171e('0x39')];_0x290e6e+=0x1){if(_0x2043ed[_0x171e('0x79')][_0x290e6e][_0x171e('0x2f')]&&_[_0x171e('0x60')](_0x4ac2c4,_0x2043ed[_0x171e('0x79')][_0x290e6e][_0x171e('0x2f')])&&_0x2043ed[_0x171e('0x79')][_0x290e6e][_0x171e('0x7b')]&&_0x2043ed['joins'][_0x290e6e]['foreignTable']&&_0x2043ed['joins'][_0x290e6e]['foreignKey']){_0x5c9c64[_0x2043ed[_0x171e('0x79')][_0x290e6e][_0x171e('0x2f')]](_0x2043ed[_0x171e('0x79')][_0x290e6e][_0x171e('0x7c')],null,util[_0x171e('0x76')](_0x171e('0x7e'),_0x2043ed[_0x171e('0x71')],_0x2043ed[_0x171e('0x79')][_0x290e6e][_0x171e('0x7b')],_0x2043ed['joins'][_0x290e6e]['foreignTable'],_0x2043ed[_0x171e('0x79')][_0x290e6e][_0x171e('0x7d')]));}}}if(_0x2043ed[_0x171e('0x7f')]){_0x2043ed[_0x171e('0x7f')]=JSON['parse'](_0x2043ed[_0x171e('0x7f')]);_0x5c9c64[_0x171e('0x3d')](_0x593b35(_0x2043ed[_0x171e('0x7f')][_0x171e('0x65')]));}_0x2d6521=_0x5c9c64[_0x171e('0x8c')]();_0x5c9c64['limit'](_0x3d7c31);_0x5c9c64[_0x171e('0x1e')](0x0);logger[_0x171e('0x80')](_0x171e('0xa5'),_0x5c9c64[_0x171e('0x81')]());return db[_0x171e('0x82')][_0x171e('0x32')](_0x5c9c64[_0x171e('0x81')](),{'type':db['sequelize'][_0x171e('0x8d')][_0x171e('0x83')]});}})[_0x171e('0x25')](function(){return{'sql':_0x2d6521[_0x171e('0x81')]()};})[_0x171e('0x25')](respondWithResult(_0x3778c5,null))[_0x171e('0x48')](handleError(_0x3778c5,null));};