e15d961b3ee8acaa217d8df7cb50b210242bad31
[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 _0x2fe2=['startDate','endDate','info','Run\x20Query:','child_process','fork','../../components/export/','savename','countTable','COUNT(*)','run','runReport','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','eml-format','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','sox','ejs','fs-extra','crypto','jsforce','desk.js','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','dbH','sendStatus','status','json','offset','undefined','limit','count','set','Content-Range','reject','update','then','destroy','get','CustomReports','error','stack','name','send','map','AnalyticCustomReport','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','VIRTUAL','options','includeAll','include','catch','keys','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','Reports','find','create','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','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\x20DESC)','SEC_TO_TIME(%s)','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','Please\x20insert\x20at\x20least\x20one\x20field','AnalyticMetric','findAll','keyBy','select','from','table','MetricId','metric','function','replace','format','groupBy','orderBy','DESC','joins','parse','foreignTable','foreignKey','%s.%s\x20=\x20%s.%s','parentKey','conditions','clone','debug','Limited\x20Query:','toString','sequelize','QueryTypes','SELECT','join','getFields','Sequelize','ValidationErrorItem','alias','fullPath','%s-%s.%s','randomstring','generate','output','csv','custom','cdr','.createdAt\x20BETWEEN\x20?\x20AND\x20?'];(function(_0x44e697,_0x42ec0c){var _0x524e77=function(_0x2aa9ff){while(--_0x2aa9ff){_0x44e697['push'](_0x44e697['shift']());}};_0x524e77(++_0x42ec0c);}(_0x2fe2,0xae));var _0x22fe=function(_0x4c89c7,_0x380cdd){_0x4c89c7=_0x4c89c7-0x0;var _0x38fd81=_0x2fe2[_0x4c89c7];return _0x38fd81;};'use strict';var emlformat=require(_0x22fe('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x22fe('0x1'));var jsonpatch=require(_0x22fe('0x2'));var rp=require(_0x22fe('0x3'));var moment=require('moment');var BPromise=require(_0x22fe('0x4'));var Mustache=require(_0x22fe('0x5'));var util=require(_0x22fe('0x6'));var path=require('path');var sox=require(_0x22fe('0x7'));var csv=require('to-csv');var ejs=require(_0x22fe('0x8'));var fs=require('fs');var fs_extra=require(_0x22fe('0x9'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x22fe('0xa'));var jsforce=require(_0x22fe('0xb'));var deskjs=require(_0x22fe('0xc'));var toCsv=require('to-csv');var querystring=require(_0x22fe('0xd'));var Papa=require('papaparse');var Redis=require(_0x22fe('0xe'));var authService=require('../../components/auth/service');var qs=require(_0x22fe('0xf'));var as=require(_0x22fe('0x10'));var hardwareService=require(_0x22fe('0x11'));var logger=require('../../config/logger')(_0x22fe('0x12'));var utils=require(_0x22fe('0x13'));var config=require(_0x22fe('0x14'));var licenseUtil=require(_0x22fe('0x15'));var db=require(_0x22fe('0x16'))['db'];var dbH=require(_0x22fe('0x16'))[_0x22fe('0x17')];function respondWithStatusCode(_0x2d387e,_0x4710f0){_0x4710f0=_0x4710f0||0xcc;return function(_0x2338fa){if(_0x2338fa){return _0x2d387e[_0x22fe('0x18')](_0x4710f0);}return _0x2d387e[_0x22fe('0x19')](_0x4710f0)['end']();};}function respondWithResult(_0x43046b,_0x406da4){_0x406da4=_0x406da4||0xc8;return function(_0x457bc3){if(_0x457bc3){return _0x43046b['status'](_0x406da4)[_0x22fe('0x1a')](_0x457bc3);}};}function respondWithFilteredResult(_0xf40b85,_0x529b64){return function(_0x22dea4){if(_0x22dea4){var _0x5d6a66=typeof _0x529b64[_0x22fe('0x1b')]===_0x22fe('0x1c')&&typeof _0x529b64[_0x22fe('0x1d')]===_0x22fe('0x1c');var _0x86445a=_0x22dea4[_0x22fe('0x1e')];var _0x22d18e=_0x5d6a66?0x0:_0x529b64[_0x22fe('0x1b')];var _0x4e708c=_0x5d6a66?_0x22dea4[_0x22fe('0x1e')]:_0x529b64[_0x22fe('0x1b')]+_0x529b64['limit'];var _0x516bf2;if(_0x4e708c>=_0x86445a){_0x4e708c=_0x86445a;_0x516bf2=0xc8;}else{_0x516bf2=0xce;}_0xf40b85[_0x22fe('0x19')](_0x516bf2);return _0xf40b85[_0x22fe('0x1f')](_0x22fe('0x20'),_0x22d18e+'-'+_0x4e708c+'/'+_0x86445a)[_0x22fe('0x1a')](_0x22dea4);}return null;};}function patchUpdates(_0x22cf74){return function(_0x37cde4){try{jsonpatch['apply'](_0x37cde4,_0x22cf74,!![]);}catch(_0x3dd364){return BPromise[_0x22fe('0x21')](_0x3dd364);}return _0x37cde4['save']();};}function saveUpdates(_0x9e348e,_0x1b6661){return function(_0x3817d7){if(_0x3817d7){return _0x3817d7[_0x22fe('0x22')](_0x9e348e)[_0x22fe('0x23')](function(_0x57c726){return _0x57c726;});}return null;};}function removeEntity(_0x2516fb,_0x258f0c){return function(_0x324f60){if(_0x324f60){return _0x324f60[_0x22fe('0x24')]()[_0x22fe('0x23')](function(){var _0x254e42=_0x324f60[_0x22fe('0x25')]({'plain':!![]});var _0x414c80=_0x22fe('0x26');return db['UserProfileResource'][_0x22fe('0x24')]({'where':{'type':_0x414c80,'resourceId':_0x254e42['id']}})[_0x22fe('0x23')](function(){return _0x324f60;});})['then'](function(){_0x2516fb[_0x22fe('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x43aabc,_0x1009f4){return function(_0x574626){if(!_0x574626){_0x43aabc[_0x22fe('0x18')](0x194);}return _0x574626;};}function handleError(_0x2b8200,_0x5eb381){_0x5eb381=_0x5eb381||0x1f4;return function(_0xd0c050){logger[_0x22fe('0x27')](_0xd0c050[_0x22fe('0x28')]);if(_0xd0c050[_0x22fe('0x29')]){delete _0xd0c050[_0x22fe('0x29')];}_0x2b8200['status'](_0x5eb381)[_0x22fe('0x2a')](_0xd0c050);};}exports['index']=function(_0x316e2a,_0x1bba90){var _0x699645={},_0x75a3a8={},_0x3e5ff2={'count':0x0,'rows':[]};var _0x84d2a9=_[_0x22fe('0x2b')](db[_0x22fe('0x2c')][_0x22fe('0x2d')],function(_0xd3ccbf){return{'name':_0xd3ccbf[_0x22fe('0x2e')],'type':_0xd3ccbf[_0x22fe('0x2f')][_0x22fe('0x30')]};});_0x75a3a8[_0x22fe('0x31')]=_['map'](_0x84d2a9,_0x22fe('0x29'));_0x75a3a8[_0x22fe('0x32')]=_['keys'](_0x316e2a['query']);_0x75a3a8[_0x22fe('0x33')]=_[_0x22fe('0x34')](_0x75a3a8['model'],_0x75a3a8['query']);_0x699645[_0x22fe('0x35')]=_[_0x22fe('0x34')](_0x75a3a8[_0x22fe('0x31')],qs[_0x22fe('0x36')](_0x316e2a[_0x22fe('0x32')][_0x22fe('0x36')]));_0x699645['attributes']=_0x699645['attributes'][_0x22fe('0x37')]?_0x699645[_0x22fe('0x35')]:_0x75a3a8[_0x22fe('0x31')];if(!_0x316e2a[_0x22fe('0x32')][_0x22fe('0x38')](_0x22fe('0x39'))){_0x699645['limit']=qs[_0x22fe('0x1d')](_0x316e2a[_0x22fe('0x32')][_0x22fe('0x1d')]);_0x699645[_0x22fe('0x1b')]=qs[_0x22fe('0x1b')](_0x316e2a[_0x22fe('0x32')][_0x22fe('0x1b')]);}_0x699645[_0x22fe('0x3a')]=qs[_0x22fe('0x3b')](_0x316e2a[_0x22fe('0x32')][_0x22fe('0x3b')]);_0x699645[_0x22fe('0x3c')]=qs[_0x22fe('0x33')](_['pick'](_0x316e2a[_0x22fe('0x32')],_0x75a3a8[_0x22fe('0x33')]),_0x84d2a9);if(_0x316e2a[_0x22fe('0x32')][_0x22fe('0x3d')]){_0x699645[_0x22fe('0x3c')]=_[_0x22fe('0x3e')](_0x699645[_0x22fe('0x3c')],{'$or':_['map'](_0x84d2a9,function(_0x50c0d4){if(_0x50c0d4[_0x22fe('0x2f')]!==_0x22fe('0x3f')){var _0x5b3f25={};_0x5b3f25[_0x50c0d4['name']]={'$like':'%'+_0x316e2a[_0x22fe('0x32')][_0x22fe('0x3d')]+'%'};return _0x5b3f25;}})});}_0x699645=_[_0x22fe('0x3e')]({},_0x699645,_0x316e2a[_0x22fe('0x40')]);var _0x52c9de={'where':_0x699645[_0x22fe('0x3c')]};return db[_0x22fe('0x2c')]['count'](_0x52c9de)['then'](function(_0x4a44d0){_0x3e5ff2['count']=_0x4a44d0;if(_0x316e2a['query'][_0x22fe('0x41')]){_0x699645[_0x22fe('0x42')]=[{'all':!![]}];}return db['AnalyticCustomReport']['findAll'](_0x699645);})[_0x22fe('0x23')](function(_0xcc3437){_0x3e5ff2['rows']=_0xcc3437;return _0x3e5ff2;})[_0x22fe('0x23')](respondWithFilteredResult(_0x1bba90,_0x699645))[_0x22fe('0x43')](handleError(_0x1bba90,null));};exports['show']=function(_0x500e37,_0x2859ec){var _0x1d5e41={'raw':![],'where':{'id':_0x500e37['params']['id']}},_0x14ecbd={};_0x14ecbd[_0x22fe('0x31')]=_[_0x22fe('0x44')](db[_0x22fe('0x2c')][_0x22fe('0x2d')]);_0x14ecbd['query']=_[_0x22fe('0x44')](_0x500e37[_0x22fe('0x32')]);_0x14ecbd[_0x22fe('0x33')]=_['intersection'](_0x14ecbd[_0x22fe('0x31')],_0x14ecbd[_0x22fe('0x32')]);_0x1d5e41[_0x22fe('0x35')]=_[_0x22fe('0x34')](_0x14ecbd[_0x22fe('0x31')],qs[_0x22fe('0x36')](_0x500e37[_0x22fe('0x32')][_0x22fe('0x36')]));_0x1d5e41[_0x22fe('0x35')]=_0x1d5e41[_0x22fe('0x35')]['length']?_0x1d5e41[_0x22fe('0x35')]:_0x14ecbd['model'];if(_0x500e37[_0x22fe('0x32')][_0x22fe('0x41')]){_0x1d5e41['include']=[{'all':!![]}];}_0x1d5e41=_['merge']({},_0x1d5e41,_0x500e37['options']);return db[_0x22fe('0x2c')]['find'](_0x1d5e41)[_0x22fe('0x23')](handleEntityNotFound(_0x2859ec,null))[_0x22fe('0x23')](respondWithResult(_0x2859ec,null))[_0x22fe('0x43')](handleError(_0x2859ec,null));};exports['create']=function(_0x3ed86b,_0x3d1480){return db[_0x22fe('0x2c')]['create'](_0x3ed86b[_0x22fe('0x45')],{})[_0x22fe('0x23')](function(_0x1cfd7b){var _0x1192d5=_0x3ed86b[_0x22fe('0x46')][_0x22fe('0x25')]({'plain':!![]});if(!_0x1192d5)throw new Error(_0x22fe('0x47'));if(_0x1192d5[_0x22fe('0x48')]===_0x22fe('0x46')){var _0x4a489b=_0x1cfd7b['get']({'plain':!![]});var _0x5b6fd8=_0x22fe('0x49');return db['UserProfileSection'][_0x22fe('0x4a')]({'where':{'name':_0x5b6fd8,'userProfileId':_0x1192d5['userProfileId']},'raw':!![]})['then'](function(_0x179d8e){if(_0x179d8e&&_0x179d8e['autoAssociation']===0x0){return db['UserProfileResource'][_0x22fe('0x4b')]({'name':_0x4a489b[_0x22fe('0x29')],'resourceId':_0x4a489b['id'],'type':_0x22fe('0x26'),'sectionId':_0x179d8e['id']},{})[_0x22fe('0x23')](function(){return _0x1cfd7b;});}else{return _0x1cfd7b;}})[_0x22fe('0x43')](function(_0x2cc73e){logger['error'](_0x22fe('0x4c'),_0x2cc73e);throw _0x2cc73e;});}return _0x1cfd7b;})[_0x22fe('0x23')](respondWithResult(_0x3d1480,0xc9))[_0x22fe('0x43')](handleError(_0x3d1480,null));};exports['update']=function(_0x2e51aa,_0x373bdc){if(_0x2e51aa[_0x22fe('0x45')]['id']){delete _0x2e51aa['body']['id'];}return db[_0x22fe('0x2c')][_0x22fe('0x4a')]({'where':{'id':_0x2e51aa[_0x22fe('0x4d')]['id']}})['then'](handleEntityNotFound(_0x373bdc,null))[_0x22fe('0x23')](saveUpdates(_0x2e51aa[_0x22fe('0x45')],null))[_0x22fe('0x23')](respondWithResult(_0x373bdc,null))[_0x22fe('0x43')](handleError(_0x373bdc,null));};exports['destroy']=function(_0x529fef,_0x2f6e37){return db[_0x22fe('0x2c')][_0x22fe('0x4a')]({'where':{'id':_0x529fef[_0x22fe('0x4d')]['id']}})[_0x22fe('0x23')](handleEntityNotFound(_0x2f6e37,null))[_0x22fe('0x23')](removeEntity(_0x2f6e37,null))['catch'](handleError(_0x2f6e37,null));};exports[_0x22fe('0x4e')]=function(_0x29b466,_0x477ddb){var _0x4b3639=0xa;var _0x4171de=['join',_0x22fe('0x4f'),_0x22fe('0x50'),_0x22fe('0x51')];var _0x209373={'SUM':_0x22fe('0x52'),'COUNT':_0x22fe('0x53'),'COUNT DISTINCT':_0x22fe('0x54'),'MAX':_0x22fe('0x55'),'MIN':_0x22fe('0x56'),'AVG':_0x22fe('0x57'),'GROUP_CONCAT':_0x22fe('0x58'),'GROUP_CONCAT ASC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','GROUP_CONCAT DESC':_0x22fe('0x59')};var _0xea83ca={'SEC_TO_TIME':_0x22fe('0x5a'),'DATE':_0x22fe('0x5b'),'HOUR':_0x22fe('0x5c'),'ROUND':_0x22fe('0x5d'),'UNIX_TIMESTAMP':_0x22fe('0x5e')};var _0x428626=function(_0x235f27){return!_[_0x22fe('0x5f')]([_0x22fe('0x60'),_0x22fe('0x61'),_0x22fe('0x62'),_0x22fe('0x63')],_0x235f27);};var _0x5c0f6c=function(_0x42aff6){if(!_0x42aff6||!_0x42aff6[_0x22fe('0x64')][_0x22fe('0x37')]){return'';}for(var _0x26d9cb='(',_0x2ee90d=0x0;_0x2ee90d<_0x42aff6[_0x22fe('0x64')][_0x22fe('0x37')];_0x2ee90d+=0x1){_0x2ee90d>0x0&&(_0x26d9cb+='\x20'+_0x42aff6[_0x22fe('0x65')]+'\x20');_0x26d9cb+=_0x42aff6['rules'][_0x2ee90d][_0x22fe('0x66')]?_0x5c0f6c(_0x42aff6[_0x22fe('0x64')][_0x2ee90d][_0x22fe('0x66')]):_0x42aff6[_0x22fe('0x64')][_0x2ee90d][_0x22fe('0x67')]+'\x20'+_0x42aff6[_0x22fe('0x64')][_0x2ee90d][_0x22fe('0x68')]+(_0x428626(_0x42aff6[_0x22fe('0x64')][_0x2ee90d]['condition'])?'\x20'+_0x42aff6[_0x22fe('0x64')][_0x2ee90d]['value']:'');}return _0x26d9cb+')';};var _0x5483ab={'where':{'id':_0x29b466[_0x22fe('0x4d')]['id']}},_0x3c56a9,_0x2304c7,_0x545dd4,_0x46a9b6,_0x32831a;_0x5483ab=_[_0x22fe('0x3e')]({},_0x5483ab,_0x29b466['options']);return db[_0x22fe('0x2c')][_0x22fe('0x4a')](_0x5483ab)[_0x22fe('0x23')](function(_0x40fe4){if(_0x40fe4){_0x3c56a9=_0x40fe4;return _0x40fe4['getFields']();}return null;})[_0x22fe('0x23')](function(_0x3038a5){if(_0x3038a5){if(!_0x3038a5[_0x22fe('0x37')]){throw new db['Sequelize']['ValidationErrorItem'](_0x22fe('0x69'),0x193);}_0x2304c7=_0x3038a5;return db[_0x22fe('0x6a')][_0x22fe('0x6b')]({'raw':!![]});}return null;})[_0x22fe('0x23')](function(_0xa398d6){if(_0xa398d6){_0x545dd4=_[_0x22fe('0x6c')](_0xa398d6,'id');var _0x126883;var _0xb37d79=squel[_0x22fe('0x6d')]();_0xb37d79[_0x22fe('0x6e')](_0x3c56a9[_0x22fe('0x6f')]);for(var _0x4b1759=0x0;_0x4b1759<_0x2304c7[_0x22fe('0x37')];_0x4b1759+=0x1){_0x126883=_0x2304c7[_0x4b1759][_0x22fe('0x70')]?_0x545dd4[_0x2304c7[_0x4b1759][_0x22fe('0x70')]][_0x22fe('0x71')]:_0x2304c7[_0x4b1759][_0x22fe('0x67')];_0x126883=_0x2304c7[_0x4b1759][_0x22fe('0x72')]?_[_0x22fe('0x73')](_0x209373[_0x2304c7[_0x4b1759][_0x22fe('0x72')]],'%s',_0x126883):_0x126883;_0x126883=_0x2304c7[_0x4b1759][_0x22fe('0x74')]?_[_0x22fe('0x73')](_0xea83ca[_0x2304c7[_0x4b1759][_0x22fe('0x74')]],'%s',_0x126883):_0x126883;if(_0x2304c7[_0x4b1759][_0x22fe('0x75')]){_0xb37d79[_0x22fe('0x66')](_0x126883);}_0x2304c7[_0x4b1759][_0x22fe('0x76')]&&_0xb37d79[_0x22fe('0x3a')](_0x126883,_0x2304c7[_0x4b1759]['orderBy']===_0x22fe('0x77')?![]:!![]);_0xb37d79[_0x22fe('0x67')](_0x126883,_0x2304c7[_0x4b1759]['alias']||_0x126883);}if(_0x3c56a9[_0x22fe('0x78')]){_0x3c56a9[_0x22fe('0x78')]=JSON[_0x22fe('0x79')](_0x3c56a9['joins']);for(var _0x28b274=0x0;_0x28b274<_0x3c56a9[_0x22fe('0x78')][_0x22fe('0x37')];_0x28b274+=0x1){if(_0x3c56a9[_0x22fe('0x78')][_0x28b274]['type']&&_[_0x22fe('0x5f')](_0x4171de,_0x3c56a9[_0x22fe('0x78')][_0x28b274]['type'])&&_0x3c56a9[_0x22fe('0x78')][_0x28b274]['parentKey']&&_0x3c56a9[_0x22fe('0x78')][_0x28b274][_0x22fe('0x7a')]&&_0x3c56a9[_0x22fe('0x78')][_0x28b274][_0x22fe('0x7b')]){_0xb37d79[_0x3c56a9[_0x22fe('0x78')][_0x28b274][_0x22fe('0x2f')]](_0x3c56a9[_0x22fe('0x78')][_0x28b274][_0x22fe('0x7a')],null,util[_0x22fe('0x74')](_0x22fe('0x7c'),_0x3c56a9[_0x22fe('0x6f')],_0x3c56a9['joins'][_0x28b274][_0x22fe('0x7d')],_0x3c56a9['joins'][_0x28b274][_0x22fe('0x7a')],_0x3c56a9[_0x22fe('0x78')][_0x28b274]['foreignKey']));}}}if(_0x3c56a9[_0x22fe('0x7e')]){_0x3c56a9[_0x22fe('0x7e')]=JSON[_0x22fe('0x79')](_0x3c56a9[_0x22fe('0x7e')]);_0xb37d79['where'](_0x5c0f6c(_0x3c56a9[_0x22fe('0x7e')][_0x22fe('0x66')]));}_0x32831a=_0xb37d79[_0x22fe('0x7f')]();_0xb37d79[_0x22fe('0x1d')](_0x4b3639);_0xb37d79[_0x22fe('0x1b')](0x0);logger[_0x22fe('0x80')](_0x22fe('0x81'),_0xb37d79[_0x22fe('0x82')]());return dbH[_0x22fe('0x83')][_0x22fe('0x32')](_0xb37d79[_0x22fe('0x82')](),{'type':dbH['sequelize'][_0x22fe('0x84')][_0x22fe('0x85')]});}})[_0x22fe('0x23')](respondWithResult(_0x477ddb,null))['catch'](handleError(_0x477ddb,null));};function runReport(_0x38f72d,_0xaff805,_0x14f68e){var _0xd9bca=_0xaff805[_0x22fe('0x29')];var _0x2fbb72=0xa;var _0x1da6a3=[_0x22fe('0x86'),_0x22fe('0x4f'),_0x22fe('0x50'),_0x22fe('0x51')];var _0x1f7a3d={'SUM':'SUM(%s)','COUNT':_0x22fe('0x53'),'COUNT DISTINCT':_0x22fe('0x54'),'MAX':_0x22fe('0x55'),'MIN':'MIN(%s)','AVG':_0x22fe('0x57'),'GROUP_CONCAT':_0x22fe('0x58'),'GROUP_CONCAT ASC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','GROUP_CONCAT DESC':_0x22fe('0x59')};var _0x432cd7={'SEC_TO_TIME':'SEC_TO_TIME(%s)','DATE':_0x22fe('0x5b'),'HOUR':'HOUR(%s)','ROUND':_0x22fe('0x5d'),'UNIX_TIMESTAMP':_0x22fe('0x5e')};var _0x38ff96=function(_0x4a9c98){return!_['includes']([_0x22fe('0x60'),_0x22fe('0x61'),'IS\x20EMPTY',_0x22fe('0x63')],_0x4a9c98);};var _0x10ca33=function(_0x758692){if(!_0x758692||!_0x758692[_0x22fe('0x64')]['length']){return'';}for(var _0x2d205b='(',_0x3d0bf9=0x0;_0x3d0bf9<_0x758692[_0x22fe('0x64')]['length'];_0x3d0bf9+=0x1){_0x3d0bf9>0x0&&(_0x2d205b+='\x20'+_0x758692['operator']+'\x20');_0x2d205b+=_0x758692['rules'][_0x3d0bf9][_0x22fe('0x66')]?_0x10ca33(_0x758692[_0x22fe('0x64')][_0x3d0bf9]['group']):_0x758692[_0x22fe('0x64')][_0x3d0bf9][_0x22fe('0x67')]+'\x20'+_0x758692[_0x22fe('0x64')][_0x3d0bf9][_0x22fe('0x68')]+(_0x38ff96(_0x758692[_0x22fe('0x64')][_0x3d0bf9][_0x22fe('0x68')])?'\x20'+_0x758692['rules'][_0x3d0bf9]['value']:'');}return _0x2d205b+')';};var _0x4027c5={'where':{'id':_0x38f72d['id']}},_0x323172,_0x589786,_0x9bf74e,_0x34f9ea,_0x26ad96;_0x4027c5=_[_0x22fe('0x3e')]({},_0x4027c5,_0x14f68e);return db[_0x22fe('0x2c')][_0x22fe('0x4a')](_0x4027c5)[_0x22fe('0x23')](function(_0x3ea04d){if(_0x3ea04d){_0x323172=_0x3ea04d;return _0x3ea04d[_0x22fe('0x87')]();}return null;})[_0x22fe('0x23')](function(_0x3922cf){if(_0x3922cf){if(!_0x3922cf[_0x22fe('0x37')]){throw new db[(_0x22fe('0x88'))][(_0x22fe('0x89'))](_0x22fe('0x69'),0x193);}_0x589786=_0x3922cf;return db[_0x22fe('0x6a')][_0x22fe('0x6b')]({'raw':!![]});}return null;})['then'](function(_0x129ac9){if(_0x129ac9){_0x9bf74e=_[_0x22fe('0x6c')](_0x129ac9,'id');var _0x536afb;var _0x13d131=squel['select']();_0x13d131['from'](_0x323172[_0x22fe('0x6f')]);for(var _0x2ff55a=0x0;_0x2ff55a<_0x589786[_0x22fe('0x37')];_0x2ff55a+=0x1){_0x536afb=_0x589786[_0x2ff55a][_0x22fe('0x70')]?_0x9bf74e[_0x589786[_0x2ff55a][_0x22fe('0x70')]][_0x22fe('0x71')]:_0x589786[_0x2ff55a][_0x22fe('0x67')];_0x536afb=_0x589786[_0x2ff55a][_0x22fe('0x72')]?_[_0x22fe('0x73')](_0x1f7a3d[_0x589786[_0x2ff55a][_0x22fe('0x72')]],'%s',_0x536afb):_0x536afb;_0x536afb=_0x589786[_0x2ff55a][_0x22fe('0x74')]?_['replace'](_0x432cd7[_0x589786[_0x2ff55a][_0x22fe('0x74')]],'%s',_0x536afb):_0x536afb;if(_0x589786[_0x2ff55a][_0x22fe('0x75')]){_0x13d131[_0x22fe('0x66')](_0x536afb);}_0x589786[_0x2ff55a][_0x22fe('0x76')]&&_0x13d131[_0x22fe('0x3a')](_0x536afb,_0x589786[_0x2ff55a][_0x22fe('0x76')]===_0x22fe('0x77')?![]:!![]);_0x13d131['field'](_0x536afb,_0x589786[_0x2ff55a][_0x22fe('0x8a')]||_0x536afb);}if(_0x323172[_0x22fe('0x78')]){_0x323172[_0x22fe('0x78')]=JSON[_0x22fe('0x79')](_0x323172[_0x22fe('0x78')]);for(var _0x520bcf=0x0;_0x520bcf<_0x323172['joins']['length'];_0x520bcf+=0x1){if(_0x323172[_0x22fe('0x78')][_0x520bcf][_0x22fe('0x2f')]&&_['includes'](_0x1da6a3,_0x323172[_0x22fe('0x78')][_0x520bcf][_0x22fe('0x2f')])&&_0x323172[_0x22fe('0x78')][_0x520bcf][_0x22fe('0x7d')]&&_0x323172[_0x22fe('0x78')][_0x520bcf][_0x22fe('0x7a')]&&_0x323172[_0x22fe('0x78')][_0x520bcf]['foreignKey']){_0x13d131[_0x323172['joins'][_0x520bcf][_0x22fe('0x2f')]](_0x323172[_0x22fe('0x78')][_0x520bcf][_0x22fe('0x7a')],null,util[_0x22fe('0x74')]('%s.%s\x20=\x20%s.%s',_0x323172[_0x22fe('0x6f')],_0x323172['joins'][_0x520bcf][_0x22fe('0x7d')],_0x323172['joins'][_0x520bcf]['foreignTable'],_0x323172['joins'][_0x520bcf][_0x22fe('0x7b')]));}}}if(_0x323172[_0x22fe('0x7e')]){_0x323172[_0x22fe('0x7e')]=JSON[_0x22fe('0x79')](_0x323172[_0x22fe('0x7e')]);_0x13d131[_0x22fe('0x3c')](_0x10ca33(_0x323172[_0x22fe('0x7e')][_0x22fe('0x66')]));}_0x26ad96=_0x13d131[_0x22fe('0x7f')]();_0x13d131['limit'](_0x2fbb72);_0x13d131[_0x22fe('0x1b')](0x0);return;}})[_0x22fe('0x23')](function(){if(_0xaff805['output']==='web'){return null;}var _0x5706d5=_[_0x22fe('0x3e')](_0xaff805,{'name':_0xaff805[_0x22fe('0x8b')]||_0xaff805[_0x22fe('0x29')]||_0x323172[_0x22fe('0x29')],'basename':_0xd9bca,'savename':util[_0x22fe('0x74')](_0x22fe('0x8c'),_0xaff805['name']||_0x323172[_0x22fe('0x29')],require(_0x22fe('0x8d'))[_0x22fe('0x8e')](0x4),_0xaff805[_0x22fe('0x8f')]||_0x22fe('0x90')),'reportId':_0x323172['id'],'reportType':_0x22fe('0x91')});return db['AnalyticExtractedReport'][_0x22fe('0x4b')](_0x5706d5,{'raw':!![]});})[_0x22fe('0x23')](function(_0x548eea){if(_0x323172['table']===_0x22fe('0x92')){_0x26ad96['where'](_0x323172[_0x22fe('0x6f')]+'.calldate\x20BETWEEN\x20?\x20AND\x20?',_0xaff805['startDate'],_0xaff805['endDate']);}else{_0x26ad96['where'](_0x323172[_0x22fe('0x6f')]+_0x22fe('0x93'),_0xaff805[_0x22fe('0x94')],_0xaff805[_0x22fe('0x95')]);}if(_0x548eea){logger[_0x22fe('0x96')](_0x22fe('0x97'),_0x26ad96['toString']());require(_0x22fe('0x98'))[_0x22fe('0x99')](path['join'](__dirname,_0x22fe('0x9a'),_0x548eea['output']),[_0x548eea['id'],_0x26ad96[_0x22fe('0x82')](),path['join'](__dirname,'../../files/reports',_0x548eea[_0x22fe('0x9b')]),_0xd9bca]);return _0x548eea;}else{var _0x5166cd=squel['select']();_0x5166cd[_0x22fe('0x6e')]('('+_0x26ad96[_0x22fe('0x82')]()+')',_0x22fe('0x9c'));_0x5166cd[_0x22fe('0x67')](_0x22fe('0x9d'),_0x22fe('0x1e'));_0x26ad96[_0x22fe('0x1d')](_0xaff805[_0x22fe('0x1d')]||_0x2fbb72);_0x26ad96[_0x22fe('0x1b')](_0xaff805[_0x22fe('0x1b')]||0x0);return dbH[_0x22fe('0x83')][_0x22fe('0x32')](_0x5166cd[_0x22fe('0x82')](),{'type':dbH[_0x22fe('0x83')][_0x22fe('0x84')][_0x22fe('0x85')]})[_0x22fe('0x23')](function(_0x684b1e){if(!_0x684b1e[_0x22fe('0x37')]){_0x34f9ea=0x0;}else{_0x34f9ea=_0x684b1e[0x0]['count']||0x0;}return dbH['sequelize'][_0x22fe('0x32')](_0x26ad96[_0x22fe('0x82')](),{'type':dbH[_0x22fe('0x83')][_0x22fe('0x84')]['SELECT']});})[_0x22fe('0x23')](function(_0x1fe8b6){return{'rows':_0x1fe8b6||[],'count':_0x34f9ea};});}});}exports[_0x22fe('0x9e')]=function(_0x4c75fe,_0x3f4e57){return runReport(_0x4c75fe[_0x22fe('0x4d')],_0x4c75fe['query'],_0x4c75fe[_0x22fe('0x40')])[_0x22fe('0x23')](respondWithResult(_0x3f4e57,null))[_0x22fe('0x43')](handleError(_0x3f4e57,null));};exports[_0x22fe('0x9f')]=runReport;exports[_0x22fe('0x32')]=function(_0x1b7b87,_0x11d91e){var _0x2cb27a=0xa;var _0x180d29=[_0x22fe('0x86'),_0x22fe('0x4f'),_0x22fe('0x50'),_0x22fe('0x51')];var _0x391802={'SUM':_0x22fe('0x52'),'COUNT':'COUNT(%s)','COUNT DISTINCT':_0x22fe('0x54'),'MAX':_0x22fe('0x55'),'MIN':_0x22fe('0x56'),'AVG':_0x22fe('0x57'),'GROUP_CONCAT':_0x22fe('0x58'),'GROUP_CONCAT ASC':_0x22fe('0xa0'),'GROUP_CONCAT DESC':_0x22fe('0x59')};var _0x7de659={'SEC_TO_TIME':_0x22fe('0x5a'),'DATE':_0x22fe('0x5b'),'HOUR':_0x22fe('0x5c'),'ROUND':_0x22fe('0x5d'),'UNIX_TIMESTAMP':'UNIX_TIMESTAMP(%s)'};var _0x1c8842=function(_0x24d1cc){return!_[_0x22fe('0x5f')]([_0x22fe('0x60'),'IS\x20NOT\x20NULL',_0x22fe('0x62'),_0x22fe('0x63')],_0x24d1cc);};var _0x4ebca2=function(_0x168c2f){if(!_0x168c2f||!_0x168c2f['rules'][_0x22fe('0x37')]){return'';}for(var _0x3f2cf9='(',_0x91e443=0x0;_0x91e443<_0x168c2f[_0x22fe('0x64')][_0x22fe('0x37')];_0x91e443+=0x1){_0x91e443>0x0&&(_0x3f2cf9+='\x20'+_0x168c2f[_0x22fe('0x65')]+'\x20');_0x3f2cf9+=_0x168c2f['rules'][_0x91e443]['group']?_0x4ebca2(_0x168c2f[_0x22fe('0x64')][_0x91e443]['group']):_0x168c2f['rules'][_0x91e443][_0x22fe('0x67')]+'\x20'+_0x168c2f['rules'][_0x91e443][_0x22fe('0x68')]+(_0x1c8842(_0x168c2f[_0x22fe('0x64')][_0x91e443][_0x22fe('0x68')])?'\x20'+_0x168c2f[_0x22fe('0x64')][_0x91e443]['value']:'');}return _0x3f2cf9+')';};var _0x104fb4={'where':{'id':_0x1b7b87[_0x22fe('0x4d')]['id']}},_0x524ce1,_0x2ba773,_0x413187,_0x305202,_0x3b9fb7;_0x104fb4=_[_0x22fe('0x3e')]({},_0x104fb4,_0x1b7b87[_0x22fe('0x40')]);return db[_0x22fe('0x2c')][_0x22fe('0x4a')](_0x104fb4)[_0x22fe('0x23')](function(_0x4fcced){if(_0x4fcced){_0x524ce1=_0x4fcced;return _0x4fcced[_0x22fe('0x87')]();}return null;})[_0x22fe('0x23')](function(_0x5be570){if(_0x5be570){if(!_0x5be570['length']){throw new db[(_0x22fe('0x88'))][(_0x22fe('0x89'))](_0x22fe('0x69'),0x193);}_0x2ba773=_0x5be570;return db[_0x22fe('0x6a')]['findAll']({'raw':!![]});}return null;})['then'](function(_0x2dbdf6){if(_0x2dbdf6){_0x413187=_['keyBy'](_0x2dbdf6,'id');var _0x206086;var _0x2fb403=squel[_0x22fe('0x6d')]();_0x2fb403[_0x22fe('0x6e')](_0x524ce1['table']);for(var _0x326bb5=0x0;_0x326bb5<_0x2ba773[_0x22fe('0x37')];_0x326bb5+=0x1){_0x206086=_0x2ba773[_0x326bb5]['MetricId']?_0x413187[_0x2ba773[_0x326bb5][_0x22fe('0x70')]][_0x22fe('0x71')]:_0x2ba773[_0x326bb5][_0x22fe('0x67')];_0x206086=_0x2ba773[_0x326bb5][_0x22fe('0x72')]?_[_0x22fe('0x73')](_0x391802[_0x2ba773[_0x326bb5]['function']],'%s',_0x206086):_0x206086;_0x206086=_0x2ba773[_0x326bb5]['format']?_[_0x22fe('0x73')](_0x7de659[_0x2ba773[_0x326bb5][_0x22fe('0x74')]],'%s',_0x206086):_0x206086;if(_0x2ba773[_0x326bb5][_0x22fe('0x75')]){_0x2fb403['group'](_0x206086);}_0x2ba773[_0x326bb5][_0x22fe('0x76')]&&_0x2fb403['order'](_0x206086,_0x2ba773[_0x326bb5]['orderBy']===_0x22fe('0x77')?![]:!![]);_0x2fb403['field'](_0x206086,_0x2ba773[_0x326bb5][_0x22fe('0x8a')]||_0x206086);}if(_0x524ce1[_0x22fe('0x78')]){_0x524ce1[_0x22fe('0x78')]=JSON[_0x22fe('0x79')](_0x524ce1[_0x22fe('0x78')]);for(var _0x561d71=0x0;_0x561d71<_0x524ce1[_0x22fe('0x78')][_0x22fe('0x37')];_0x561d71+=0x1){if(_0x524ce1[_0x22fe('0x78')][_0x561d71]['type']&&_['includes'](_0x180d29,_0x524ce1[_0x22fe('0x78')][_0x561d71][_0x22fe('0x2f')])&&_0x524ce1['joins'][_0x561d71][_0x22fe('0x7d')]&&_0x524ce1['joins'][_0x561d71][_0x22fe('0x7a')]&&_0x524ce1[_0x22fe('0x78')][_0x561d71][_0x22fe('0x7b')]){_0x2fb403[_0x524ce1['joins'][_0x561d71][_0x22fe('0x2f')]](_0x524ce1['joins'][_0x561d71][_0x22fe('0x7a')],null,util[_0x22fe('0x74')](_0x22fe('0x7c'),_0x524ce1[_0x22fe('0x6f')],_0x524ce1[_0x22fe('0x78')][_0x561d71]['parentKey'],_0x524ce1[_0x22fe('0x78')][_0x561d71]['foreignTable'],_0x524ce1[_0x22fe('0x78')][_0x561d71]['foreignKey']));}}}if(_0x524ce1[_0x22fe('0x7e')]){_0x524ce1[_0x22fe('0x7e')]=JSON[_0x22fe('0x79')](_0x524ce1['conditions']);_0x2fb403[_0x22fe('0x3c')](_0x4ebca2(_0x524ce1[_0x22fe('0x7e')][_0x22fe('0x66')]));}_0x3b9fb7=_0x2fb403['clone']();_0x2fb403[_0x22fe('0x1d')](_0x2cb27a);_0x2fb403[_0x22fe('0x1b')](0x0);logger[_0x22fe('0x80')]('Limited\x20Query:',_0x2fb403['toString']());return dbH[_0x22fe('0x83')][_0x22fe('0x32')](_0x2fb403['toString'](),{'type':dbH[_0x22fe('0x83')][_0x22fe('0x84')][_0x22fe('0x85')]});}})[_0x22fe('0x23')](function(){return{'sql':_0x3b9fb7[_0x22fe('0x82')]()};})[_0x22fe('0x23')](respondWithResult(_0x11d91e,null))[_0x22fe('0x43')](handleError(_0x11d91e,null));};