Built motion from commit (unavailable).|2.5.4
[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 _0xbf8f=['../../config/utils','../../config/environment','../../mysqldb','dbH','status','json','count','offset','limit','set','apply','update','then','DefaultReports','UserProfileResource','destroy','end','sendStatus','error','name','send','index','map','AnalyticDefaultReport','rawAttributes','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','pick','filter','where','type','merge','options','includeAll','include','findAll','rows','catch','show','params','create','role','user','get','Reports','UserProfileSection','find','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','preview','join','right_join','SUM(%s)','COUNT(DISTINCT\x20%s)','MAX(%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)','IS\x20NULL','IS\x20NOT\x20NULL','IS\x20EMPTY','IS\x20NOT\x20EMPTY','rules','operator','group','condition','value','Sequelize','ValidationErrorItem','Please\x20insert\x20at\x20least\x20one\x20field','keyBy','select','from','table','MetricId','metric','replace','function','format','groupBy','orderBy','order','DESC','joins','includes','parentKey','foreignTable','%s.%s\x20=\x20%s.%s','foreignKey','conditions','parse','clone','debug','Limited\x20Query:','sequelize','toString','QueryTypes','SELECT','left_join','cross_join','COUNT(%s)','MIN(%s)','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','field','getFields','AnalyticMetric','No\x20available\x20data','web','fullPath','%s-%s.%s','randomstring','output','AnalyticExtractedReport','.calldate\x20BETWEEN\x20?\x20AND\x20?','startDate','endDate','info','fork','../../components/export/','../../files/reports','savename','countTable','COUNT(*)','run','alias','html-pdf','eml-format','zip-dir','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api'];(function(_0x236607,_0x37f8e9){var _0x1a4b1e=function(_0x3b24ce){while(--_0x3b24ce){_0x236607['push'](_0x236607['shift']());}};_0x1a4b1e(++_0x37f8e9);}(_0xbf8f,0x1d5));var _0xfbf8=function(_0x897491,_0x45bccd){_0x897491=_0x897491-0x0;var _0x11e409=_0xbf8f[_0x897491];return _0x11e409;};'use strict';var pdf=require(_0xfbf8('0x0'));var emlformat=require(_0xfbf8('0x1'));var rimraf=require('rimraf');var zipdir=require(_0xfbf8('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xfbf8('0x3'));var moment=require(_0xfbf8('0x4'));var BPromise=require(_0xfbf8('0x5'));var Mustache=require(_0xfbf8('0x6'));var util=require(_0xfbf8('0x7'));var path=require(_0xfbf8('0x8'));var sox=require('sox');var csv=require(_0xfbf8('0x9'));var ejs=require(_0xfbf8('0xa'));var fs=require('fs');var _=require(_0xfbf8('0xb'));var squel=require(_0xfbf8('0xc'));var crypto=require('crypto');var jsforce=require(_0xfbf8('0xd'));var deskjs=require(_0xfbf8('0xe'));var toCsv=require(_0xfbf8('0x9'));var querystring=require(_0xfbf8('0xf'));var Papa=require(_0xfbf8('0x10'));var Redis=require(_0xfbf8('0x11'));var authService=require(_0xfbf8('0x12'));var qs=require(_0xfbf8('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xfbf8('0x14'));var logger=require(_0xfbf8('0x15'))(_0xfbf8('0x16'));var utils=require(_0xfbf8('0x17'));var config=require(_0xfbf8('0x18'));var db=require(_0xfbf8('0x19'))['db'];var dbH=require(_0xfbf8('0x19'))[_0xfbf8('0x1a')];function respondWithStatusCode(_0x85595,_0x42fe75){_0x42fe75=_0x42fe75||0xcc;return function(_0x5bdc53){if(_0x5bdc53){return _0x85595['sendStatus'](_0x42fe75);}return _0x85595[_0xfbf8('0x1b')](_0x42fe75)['end']();};}function respondWithResult(_0x64e40e,_0x218f57){_0x218f57=_0x218f57||0xc8;return function(_0x222724){if(_0x222724){return _0x64e40e[_0xfbf8('0x1b')](_0x218f57)[_0xfbf8('0x1c')](_0x222724);}};}function respondWithFilteredResult(_0x45cd6d,_0x17be8a){return function(_0x1ed407){if(_0x1ed407){var _0x21c8a2=_0x1ed407[_0xfbf8('0x1d')],_0x57fae7=_0x17be8a[_0xfbf8('0x1e')],_0x151dc0=_0x17be8a[_0xfbf8('0x1e')]+_0x17be8a[_0xfbf8('0x1f')],_0x511d4f;if(_0x151dc0>=_0x21c8a2){_0x151dc0=_0x21c8a2;_0x511d4f=0xc8;}else{_0x511d4f=0xce;}_0x45cd6d[_0xfbf8('0x1b')](_0x511d4f);return _0x45cd6d[_0xfbf8('0x20')]('Content-Range',_0x57fae7+'-'+_0x151dc0+'/'+_0x21c8a2)[_0xfbf8('0x1c')](_0x1ed407);}return null;};}function patchUpdates(_0x3c043f){return function(_0x204c75){try{jsonpatch[_0xfbf8('0x21')](_0x204c75,_0x3c043f,!![]);}catch(_0x10ac77){return BPromise['reject'](_0x10ac77);}return _0x204c75['save']();};}function saveUpdates(_0x4a16b2,_0x3c70c8){return function(_0x1ded2e){if(_0x1ded2e){return _0x1ded2e[_0xfbf8('0x22')](_0x4a16b2)['then'](function(_0x1af464){return _0x1af464;});}return null;};}function removeEntity(_0x2ef67c,_0x240beb){return function(_0x499a97){if(_0x499a97){return _0x499a97['destroy']()[_0xfbf8('0x23')](function(){var _0x787f48=_0x499a97['get']({'plain':!![]});var _0x5c7e54=_0xfbf8('0x24');return db[_0xfbf8('0x25')][_0xfbf8('0x26')]({'where':{'type':_0x5c7e54,'resourceId':_0x787f48['id']}})[_0xfbf8('0x23')](function(){return _0x499a97;});})[_0xfbf8('0x23')](function(){_0x2ef67c[_0xfbf8('0x1b')](0xcc)[_0xfbf8('0x27')]();});}};}function handleEntityNotFound(_0x53b44c,_0x3f1cb2){return function(_0x214053){if(!_0x214053){_0x53b44c[_0xfbf8('0x28')](0x194);}return _0x214053;};}function handleError(_0x314e93,_0x59045a){_0x59045a=_0x59045a||0x1f4;return function(_0xe747ca){logger[_0xfbf8('0x29')](_0xe747ca['stack']);if(_0xe747ca[_0xfbf8('0x2a')]){delete _0xe747ca[_0xfbf8('0x2a')];}_0x314e93[_0xfbf8('0x1b')](_0x59045a)[_0xfbf8('0x2b')](_0xe747ca);};}exports[_0xfbf8('0x2c')]=function(_0x5aa9ad,_0x44ef33){var _0x532f2b={},_0x3544d9={},_0x574717={'count':0x0,'rows':[]};var _0x1653d1=_[_0xfbf8('0x2d')](db[_0xfbf8('0x2e')][_0xfbf8('0x2f')],function(_0x56ac28){return{'name':_0x56ac28['fieldName'],'type':_0x56ac28['type']['key']};});_0x3544d9[_0xfbf8('0x30')]=_[_0xfbf8('0x2d')](_0x1653d1,_0xfbf8('0x2a'));_0x3544d9[_0xfbf8('0x31')]=_[_0xfbf8('0x32')](_0x5aa9ad[_0xfbf8('0x31')]);_0x3544d9[_0xfbf8('0x33')]=_[_0xfbf8('0x34')](_0x3544d9['model'],_0x3544d9['query']);_0x532f2b[_0xfbf8('0x35')]=_[_0xfbf8('0x34')](_0x3544d9[_0xfbf8('0x30')],qs[_0xfbf8('0x36')](_0x5aa9ad['query'][_0xfbf8('0x36')]));_0x532f2b[_0xfbf8('0x35')]=_0x532f2b[_0xfbf8('0x35')][_0xfbf8('0x37')]?_0x532f2b['attributes']:_0x3544d9['model'];if(!_0x5aa9ad[_0xfbf8('0x31')][_0xfbf8('0x38')](_0xfbf8('0x39'))){_0x532f2b['limit']=qs[_0xfbf8('0x1f')](_0x5aa9ad[_0xfbf8('0x31')][_0xfbf8('0x1f')]);_0x532f2b[_0xfbf8('0x1e')]=qs[_0xfbf8('0x1e')](_0x5aa9ad[_0xfbf8('0x31')][_0xfbf8('0x1e')]);}_0x532f2b['order']=qs[_0xfbf8('0x3a')](_0x5aa9ad[_0xfbf8('0x31')]['sort']);_0x532f2b['where']=qs['filters'](_[_0xfbf8('0x3b')](_0x5aa9ad[_0xfbf8('0x31')],_0x3544d9[_0xfbf8('0x33')]),_0x1653d1);if(_0x5aa9ad[_0xfbf8('0x31')][_0xfbf8('0x3c')]){_0x532f2b[_0xfbf8('0x3d')]=_['merge'](_0x532f2b[_0xfbf8('0x3d')],{'$or':_['map'](_0x1653d1,function(_0x1f4f0c){if(_0x1f4f0c[_0xfbf8('0x3e')]!=='VIRTUAL'){var _0x4d86cf={};_0x4d86cf[_0x1f4f0c[_0xfbf8('0x2a')]]={'$like':'%'+_0x5aa9ad[_0xfbf8('0x31')][_0xfbf8('0x3c')]+'%'};return _0x4d86cf;}})});}_0x532f2b=_[_0xfbf8('0x3f')]({},_0x532f2b,_0x5aa9ad[_0xfbf8('0x40')]);var _0x200dc5={'where':_0x532f2b['where']};return db['AnalyticDefaultReport'][_0xfbf8('0x1d')](_0x200dc5)['then'](function(_0xb2091a){_0x574717[_0xfbf8('0x1d')]=_0xb2091a;if(_0x5aa9ad['query'][_0xfbf8('0x41')]){_0x532f2b[_0xfbf8('0x42')]=[{'all':!![]}];}return db[_0xfbf8('0x2e')][_0xfbf8('0x43')](_0x532f2b);})[_0xfbf8('0x23')](function(_0xaea4eb){_0x574717[_0xfbf8('0x44')]=_0xaea4eb;return _0x574717;})[_0xfbf8('0x23')](respondWithFilteredResult(_0x44ef33,_0x532f2b))[_0xfbf8('0x45')](handleError(_0x44ef33,null));};exports[_0xfbf8('0x46')]=function(_0x579490,_0x368d5b){var _0x432da6={'raw':!![],'where':{'id':_0x579490[_0xfbf8('0x47')]['id']}},_0x152852={};_0x152852[_0xfbf8('0x30')]=_[_0xfbf8('0x32')](db[_0xfbf8('0x2e')][_0xfbf8('0x2f')]);_0x152852[_0xfbf8('0x31')]=_['keys'](_0x579490[_0xfbf8('0x31')]);_0x152852['filters']=_['intersection'](_0x152852[_0xfbf8('0x30')],_0x152852[_0xfbf8('0x31')]);_0x432da6[_0xfbf8('0x35')]=_['intersection'](_0x152852[_0xfbf8('0x30')],qs['fields'](_0x579490[_0xfbf8('0x31')][_0xfbf8('0x36')]));_0x432da6[_0xfbf8('0x35')]=_0x432da6[_0xfbf8('0x35')][_0xfbf8('0x37')]?_0x432da6['attributes']:_0x152852[_0xfbf8('0x30')];if(_0x579490[_0xfbf8('0x31')]['includeAll']){_0x432da6[_0xfbf8('0x42')]=[{'all':!![]}];}_0x432da6=_[_0xfbf8('0x3f')]({},_0x432da6,_0x579490[_0xfbf8('0x40')]);return db[_0xfbf8('0x2e')]['find'](_0x432da6)[_0xfbf8('0x23')](handleEntityNotFound(_0x368d5b,null))[_0xfbf8('0x23')](respondWithResult(_0x368d5b,null))['catch'](handleError(_0x368d5b,null));};exports[_0xfbf8('0x48')]=function(_0x3bf793,_0x57a930){return db[_0xfbf8('0x2e')][_0xfbf8('0x48')](_0x3bf793['body'],{})[_0xfbf8('0x23')](function(_0x3b0b97){var _0x21239b=_0x3bf793['user']['get']({'plain':!![]});if(!_0x21239b)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x21239b[_0xfbf8('0x49')]===_0xfbf8('0x4a')){var _0x4a4ee6=_0x3b0b97[_0xfbf8('0x4b')]({'plain':!![]});var _0x45abf3=_0xfbf8('0x4c');return db[_0xfbf8('0x4d')][_0xfbf8('0x4e')]({'where':{'name':_0x45abf3,'userProfileId':_0x21239b[_0xfbf8('0x4f')]},'raw':!![]})['then'](function(_0xfcbfe3){if(_0xfcbfe3&&_0xfcbfe3[_0xfbf8('0x50')]===0x0){return db['UserProfileResource'][_0xfbf8('0x48')]({'name':_0x4a4ee6['name'],'resourceId':_0x4a4ee6['id'],'type':_0xfbf8('0x24'),'sectionId':_0xfcbfe3['id']},{})[_0xfbf8('0x23')](function(){return _0x3b0b97;});}else{return _0x3b0b97;}})[_0xfbf8('0x45')](function(_0x57cee1){logger[_0xfbf8('0x29')](_0xfbf8('0x51'),_0x57cee1);throw _0x57cee1;});}return _0x3b0b97;})[_0xfbf8('0x23')](respondWithResult(_0x57a930,0xc9))[_0xfbf8('0x45')](handleError(_0x57a930,null));};exports[_0xfbf8('0x22')]=function(_0x56e079,_0x1e1e3e){if(_0x56e079[_0xfbf8('0x52')]['id']){delete _0x56e079['body']['id'];}return db[_0xfbf8('0x2e')]['find']({'where':{'id':_0x56e079[_0xfbf8('0x47')]['id']}})[_0xfbf8('0x23')](handleEntityNotFound(_0x1e1e3e,null))[_0xfbf8('0x23')](saveUpdates(_0x56e079['body'],null))[_0xfbf8('0x23')](respondWithResult(_0x1e1e3e,null))['catch'](handleError(_0x1e1e3e,null));};exports[_0xfbf8('0x26')]=function(_0x5bb6fb,_0x30de3a){return db[_0xfbf8('0x2e')][_0xfbf8('0x4e')]({'where':{'id':_0x5bb6fb[_0xfbf8('0x47')]['id']}})[_0xfbf8('0x23')](handleEntityNotFound(_0x30de3a,null))[_0xfbf8('0x23')](removeEntity(_0x30de3a,null))[_0xfbf8('0x45')](handleError(_0x30de3a,null));};exports[_0xfbf8('0x53')]=function(_0x5bd0c8,_0x58f2b0){var _0x1753d8=0xa;var _0x115507=[_0xfbf8('0x54'),'left_join',_0xfbf8('0x55'),'cross_join'];var _0x3ff7f5={'SUM':_0xfbf8('0x56'),'COUNT':'COUNT(%s)','COUNT DISTINCT':_0xfbf8('0x57'),'MAX':_0xfbf8('0x58'),'MIN':'MIN(%s)','AVG':_0xfbf8('0x59'),'GROUP_CONCAT':_0xfbf8('0x5a'),'GROUP_CONCAT ASC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','GROUP_CONCAT DESC':_0xfbf8('0x5b')};var _0x2aa333={'SEC_TO_TIME':_0xfbf8('0x5c'),'DATE':_0xfbf8('0x5d'),'HOUR':_0xfbf8('0x5e'),'ROUND':_0xfbf8('0x5f'),'UNIX_TIMESTAMP':_0xfbf8('0x60')};var _0x1236c3=function(_0x1cf83c){return!_['includes']([_0xfbf8('0x61'),_0xfbf8('0x62'),_0xfbf8('0x63'),_0xfbf8('0x64')],_0x1cf83c);};var _0x3ec0db=function(_0x4f9f55){if(!_0x4f9f55||!_0x4f9f55[_0xfbf8('0x65')][_0xfbf8('0x37')]){return'';}for(var _0x317bee='(',_0x46585b=0x0;_0x46585b<_0x4f9f55['rules'][_0xfbf8('0x37')];_0x46585b+=0x1){_0x46585b>0x0&&(_0x317bee+='\x20'+_0x4f9f55[_0xfbf8('0x66')]+'\x20');_0x317bee+=_0x4f9f55[_0xfbf8('0x65')][_0x46585b][_0xfbf8('0x67')]?_0x3ec0db(_0x4f9f55[_0xfbf8('0x65')][_0x46585b]['group']):_0x4f9f55['rules'][_0x46585b]['field']+'\x20'+_0x4f9f55[_0xfbf8('0x65')][_0x46585b][_0xfbf8('0x68')]+(_0x1236c3(_0x4f9f55[_0xfbf8('0x65')][_0x46585b][_0xfbf8('0x68')])?'\x20'+_0x4f9f55[_0xfbf8('0x65')][_0x46585b][_0xfbf8('0x69')]:'');}return _0x317bee+')';};var _0x5470ea={'where':{'id':_0x5bd0c8[_0xfbf8('0x47')]['id']}},_0x685c5b,_0x48d0fa,_0x1d57d5,_0x46fdce,_0x5aed57;_0x5470ea=_[_0xfbf8('0x3f')]({},_0x5470ea,_0x5bd0c8[_0xfbf8('0x40')]);return db[_0xfbf8('0x2e')][_0xfbf8('0x4e')](_0x5470ea)[_0xfbf8('0x23')](function(_0x215ae3){if(_0x215ae3){_0x685c5b=_0x215ae3;return _0x215ae3['getFields']();}return null;})['then'](function(_0x1334f5){if(_0x1334f5){if(!_0x1334f5[_0xfbf8('0x37')]){throw new db[(_0xfbf8('0x6a'))][(_0xfbf8('0x6b'))](_0xfbf8('0x6c'),0x193);}_0x48d0fa=_0x1334f5;return db['AnalyticMetric']['findAll']({'raw':!![]});}return null;})[_0xfbf8('0x23')](function(_0x1d2d87){if(_0x1d2d87){_0x1d57d5=_[_0xfbf8('0x6d')](_0x1d2d87,'id');var _0x535b81;var _0x14fc63=squel[_0xfbf8('0x6e')]();_0x14fc63[_0xfbf8('0x6f')](_0x685c5b[_0xfbf8('0x70')]);for(var _0x1233e8=0x0;_0x1233e8<_0x48d0fa[_0xfbf8('0x37')];_0x1233e8+=0x1){_0x535b81=_0x48d0fa[_0x1233e8][_0xfbf8('0x71')]?_0x1d57d5[_0x48d0fa[_0x1233e8][_0xfbf8('0x71')]][_0xfbf8('0x72')]:_0x48d0fa[_0x1233e8]['field'];_0x535b81=_0x48d0fa[_0x1233e8]['function']?_[_0xfbf8('0x73')](_0x3ff7f5[_0x48d0fa[_0x1233e8][_0xfbf8('0x74')]],'%s',_0x535b81):_0x535b81;_0x535b81=_0x48d0fa[_0x1233e8][_0xfbf8('0x75')]?_[_0xfbf8('0x73')](_0x2aa333[_0x48d0fa[_0x1233e8][_0xfbf8('0x75')]],'%s',_0x535b81):_0x535b81;if(_0x48d0fa[_0x1233e8][_0xfbf8('0x76')]){_0x14fc63[_0xfbf8('0x67')](_0x535b81);}_0x48d0fa[_0x1233e8][_0xfbf8('0x77')]&&_0x14fc63[_0xfbf8('0x78')](_0x535b81,_0x48d0fa[_0x1233e8]['orderBy']===_0xfbf8('0x79')?![]:!![]);_0x14fc63['field'](_0x535b81,_0x48d0fa[_0x1233e8]['alias']||_0x535b81);}if(_0x685c5b[_0xfbf8('0x7a')]){_0x685c5b[_0xfbf8('0x7a')]=JSON['parse'](_0x685c5b['joins']);for(var _0x4b0bf5=0x0;_0x4b0bf5<_0x685c5b[_0xfbf8('0x7a')][_0xfbf8('0x37')];_0x4b0bf5+=0x1){if(_0x685c5b[_0xfbf8('0x7a')][_0x4b0bf5][_0xfbf8('0x3e')]&&_[_0xfbf8('0x7b')](_0x115507,_0x685c5b[_0xfbf8('0x7a')][_0x4b0bf5][_0xfbf8('0x3e')])&&_0x685c5b['joins'][_0x4b0bf5][_0xfbf8('0x7c')]&&_0x685c5b[_0xfbf8('0x7a')][_0x4b0bf5][_0xfbf8('0x7d')]&&_0x685c5b['joins'][_0x4b0bf5]['foreignKey']){_0x14fc63[_0x685c5b['joins'][_0x4b0bf5]['type']](_0x685c5b[_0xfbf8('0x7a')][_0x4b0bf5][_0xfbf8('0x7d')],null,util[_0xfbf8('0x75')](_0xfbf8('0x7e'),_0x685c5b['table'],_0x685c5b[_0xfbf8('0x7a')][_0x4b0bf5][_0xfbf8('0x7c')],_0x685c5b['joins'][_0x4b0bf5][_0xfbf8('0x7d')],_0x685c5b[_0xfbf8('0x7a')][_0x4b0bf5][_0xfbf8('0x7f')]));}}}if(_0x685c5b['conditions']){_0x685c5b[_0xfbf8('0x80')]=JSON[_0xfbf8('0x81')](_0x685c5b[_0xfbf8('0x80')]);_0x14fc63[_0xfbf8('0x3d')](_0x3ec0db(_0x685c5b[_0xfbf8('0x80')][_0xfbf8('0x67')]));}_0x5aed57=_0x14fc63[_0xfbf8('0x82')]();_0x14fc63[_0xfbf8('0x1f')](_0x1753d8);_0x14fc63['offset'](0x0);logger[_0xfbf8('0x83')](_0xfbf8('0x84'),_0x14fc63['toString']());return db[_0xfbf8('0x85')][_0xfbf8('0x31')](_0x14fc63[_0xfbf8('0x86')](),{'type':db[_0xfbf8('0x85')][_0xfbf8('0x87')][_0xfbf8('0x88')]});}})[_0xfbf8('0x23')](respondWithResult(_0x58f2b0,null))[_0xfbf8('0x45')](handleError(_0x58f2b0,null));};function runReport(_0x5dad78,_0x284579,_0x173118){var _0x25b3d8=_0x284579[_0xfbf8('0x2a')];var _0xf3aa95=0xa;var _0x26d0d0=[_0xfbf8('0x54'),_0xfbf8('0x89'),_0xfbf8('0x55'),_0xfbf8('0x8a')];var _0x5bb72f={'SUM':'SUM(%s)','COUNT':_0xfbf8('0x8b'),'COUNT DISTINCT':_0xfbf8('0x57'),'MAX':_0xfbf8('0x58'),'MIN':_0xfbf8('0x8c'),'AVG':_0xfbf8('0x59'),'GROUP_CONCAT':'GROUP_CONCAT(%s)','GROUP_CONCAT ASC':_0xfbf8('0x8d'),'GROUP_CONCAT DESC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)'};var _0xc7b9b8={'SEC_TO_TIME':_0xfbf8('0x5c'),'DATE':'DATE(%s)','HOUR':_0xfbf8('0x5e'),'ROUND':'ROUND(%s)','UNIX_TIMESTAMP':_0xfbf8('0x60')};var _0x767563=function(_0x1a2ee2){return!_[_0xfbf8('0x7b')]([_0xfbf8('0x61'),'IS\x20NOT\x20NULL',_0xfbf8('0x63'),_0xfbf8('0x64')],_0x1a2ee2);};var _0x4c01d7=function(_0x1bc5c4){if(!_0x1bc5c4||!_0x1bc5c4[_0xfbf8('0x65')][_0xfbf8('0x37')]){return'';}for(var _0x446146='(',_0x40e7f4=0x0;_0x40e7f4<_0x1bc5c4[_0xfbf8('0x65')][_0xfbf8('0x37')];_0x40e7f4+=0x1){_0x40e7f4>0x0&&(_0x446146+='\x20'+_0x1bc5c4[_0xfbf8('0x66')]+'\x20');_0x446146+=_0x1bc5c4['rules'][_0x40e7f4][_0xfbf8('0x67')]?_0x4c01d7(_0x1bc5c4['rules'][_0x40e7f4][_0xfbf8('0x67')]):_0x1bc5c4[_0xfbf8('0x65')][_0x40e7f4][_0xfbf8('0x8e')]+'\x20'+_0x1bc5c4['rules'][_0x40e7f4]['condition']+(_0x767563(_0x1bc5c4[_0xfbf8('0x65')][_0x40e7f4][_0xfbf8('0x68')])?'\x20'+_0x1bc5c4[_0xfbf8('0x65')][_0x40e7f4][_0xfbf8('0x69')]:'');}return _0x446146+')';};var _0xca66fd={'where':{'id':_0x5dad78['id']}},_0x3486b2,_0x63a69,_0x500cc6,_0x3ee4bd,_0xad4c12;_0xca66fd=_['merge']({},_0xca66fd,_0x173118);return db[_0xfbf8('0x2e')][_0xfbf8('0x4e')](_0xca66fd)[_0xfbf8('0x23')](function(_0x3cf7a1){if(_0x3cf7a1){_0x3486b2=_0x3cf7a1;return _0x3cf7a1[_0xfbf8('0x8f')]();}return null;})[_0xfbf8('0x23')](function(_0x29fb49){if(_0x29fb49){if(!_0x29fb49['length']){throw new db[(_0xfbf8('0x6a'))][(_0xfbf8('0x6b'))](_0xfbf8('0x6c'),0x193);}_0x63a69=_0x29fb49;return db[_0xfbf8('0x90')][_0xfbf8('0x43')]({'raw':!![]});}return null;})[_0xfbf8('0x23')](function(_0x27ce98){if(_0x27ce98){_0x500cc6=_[_0xfbf8('0x6d')](_0x27ce98,'id');var _0x39b94c;var _0x3caf14=squel[_0xfbf8('0x6e')]();_0x3caf14['from'](_0x3486b2[_0xfbf8('0x70')]);for(var _0x4e363e=0x0;_0x4e363e<_0x63a69['length'];_0x4e363e+=0x1){_0x39b94c=_0x63a69[_0x4e363e]['MetricId']?_0x500cc6[_0x63a69[_0x4e363e][_0xfbf8('0x71')]]['metric']:_0x63a69[_0x4e363e][_0xfbf8('0x8e')];_0x39b94c=_0x63a69[_0x4e363e][_0xfbf8('0x74')]?_[_0xfbf8('0x73')](_0x5bb72f[_0x63a69[_0x4e363e][_0xfbf8('0x74')]],'%s',_0x39b94c):_0x39b94c;_0x39b94c=_0x63a69[_0x4e363e]['format']?_[_0xfbf8('0x73')](_0xc7b9b8[_0x63a69[_0x4e363e][_0xfbf8('0x75')]],'%s',_0x39b94c):_0x39b94c;if(_0x63a69[_0x4e363e][_0xfbf8('0x76')]){_0x3caf14['group'](_0x39b94c);}_0x63a69[_0x4e363e]['orderBy']&&_0x3caf14[_0xfbf8('0x78')](_0x39b94c,_0x63a69[_0x4e363e][_0xfbf8('0x77')]===_0xfbf8('0x79')?![]:!![]);_0x3caf14[_0xfbf8('0x8e')](_0x39b94c,_0x63a69[_0x4e363e]['alias']||_0x39b94c);}if(_0x3486b2[_0xfbf8('0x7a')]){_0x3486b2[_0xfbf8('0x7a')]=JSON[_0xfbf8('0x81')](_0x3486b2[_0xfbf8('0x7a')]);for(var _0x350e67=0x0;_0x350e67<_0x3486b2[_0xfbf8('0x7a')][_0xfbf8('0x37')];_0x350e67+=0x1){if(_0x3486b2[_0xfbf8('0x7a')][_0x350e67][_0xfbf8('0x3e')]&&_[_0xfbf8('0x7b')](_0x26d0d0,_0x3486b2[_0xfbf8('0x7a')][_0x350e67][_0xfbf8('0x3e')])&&_0x3486b2[_0xfbf8('0x7a')][_0x350e67][_0xfbf8('0x7c')]&&_0x3486b2[_0xfbf8('0x7a')][_0x350e67]['foreignTable']&&_0x3486b2[_0xfbf8('0x7a')][_0x350e67]['foreignKey']){_0x3caf14[_0x3486b2['joins'][_0x350e67][_0xfbf8('0x3e')]](_0x3486b2[_0xfbf8('0x7a')][_0x350e67]['foreignTable'],null,util[_0xfbf8('0x75')]('%s.%s\x20=\x20%s.%s',_0x3486b2[_0xfbf8('0x70')],_0x3486b2['joins'][_0x350e67][_0xfbf8('0x7c')],_0x3486b2[_0xfbf8('0x7a')][_0x350e67]['foreignTable'],_0x3486b2[_0xfbf8('0x7a')][_0x350e67][_0xfbf8('0x7f')]));}}}if(_0x3486b2[_0xfbf8('0x80')]){_0x3486b2['conditions']=JSON['parse'](_0x3486b2[_0xfbf8('0x80')]);_0x3caf14[_0xfbf8('0x3d')](_0x4c01d7(_0x3486b2[_0xfbf8('0x80')]['group']));}_0xad4c12=_0x3caf14[_0xfbf8('0x82')]();_0x3caf14[_0xfbf8('0x1f')](_0xf3aa95);_0x3caf14[_0xfbf8('0x1e')](0x0);logger[_0xfbf8('0x83')]('Limited\x20Query:',_0x3caf14[_0xfbf8('0x86')]());return db[_0xfbf8('0x85')]['query'](_0x3caf14[_0xfbf8('0x86')](),{'type':db[_0xfbf8('0x85')][_0xfbf8('0x87')]['SELECT']});}})[_0xfbf8('0x23')](function(_0x182b72){if(!_0x182b72['length']){throw new db['Sequelize'][(_0xfbf8('0x6b'))](_0xfbf8('0x91'),0xcc);}if(_0x284579['output']===_0xfbf8('0x92')){return null;}var _0xdcf7cc=_[_0xfbf8('0x3f')](_0x284579,{'name':_0x284579[_0xfbf8('0x93')]||_0x284579[_0xfbf8('0x2a')]||_0x3486b2[_0xfbf8('0x2a')],'basename':_0x25b3d8,'savename':util['format'](_0xfbf8('0x94'),_0x284579[_0xfbf8('0x2a')]||_0x3486b2['name'],require(_0xfbf8('0x95'))['generate'](0x4),_0x284579[_0xfbf8('0x96')]||'csv'),'reportId':_0x3486b2['id'],'reportType':'default'});return db[_0xfbf8('0x97')]['create'](_0xdcf7cc,{'raw':!![]});})[_0xfbf8('0x23')](function(_0x58de95){if(_0x3486b2[_0xfbf8('0x70')]==='cdr'){_0xad4c12[_0xfbf8('0x3d')](_0x3486b2['table']+_0xfbf8('0x98'),_0x284579[_0xfbf8('0x99')],_0x284579[_0xfbf8('0x9a')]);}else{_0xad4c12[_0xfbf8('0x3d')](_0x3486b2['table']+'.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0x284579[_0xfbf8('0x99')],_0x284579[_0xfbf8('0x9a')]);}if(_0x58de95){logger[_0xfbf8('0x9b')]('Run\x20Query:',_0xad4c12[_0xfbf8('0x86')]());require('child_process')[_0xfbf8('0x9c')](path[_0xfbf8('0x54')](__dirname,_0xfbf8('0x9d'),_0x58de95[_0xfbf8('0x96')]),[_0x58de95['id'],_0xad4c12[_0xfbf8('0x86')](),path[_0xfbf8('0x54')](__dirname,_0xfbf8('0x9e'),_0x58de95[_0xfbf8('0x9f')]),_0x25b3d8]);return _0x58de95;}else{var _0x19c8ef=squel[_0xfbf8('0x6e')]();_0x19c8ef[_0xfbf8('0x6f')]('('+_0xad4c12[_0xfbf8('0x86')]()+')',_0xfbf8('0xa0'));_0x19c8ef[_0xfbf8('0x8e')](_0xfbf8('0xa1'),_0xfbf8('0x1d'));_0xad4c12['limit'](_0x284579['limit']||_0xf3aa95);_0xad4c12[_0xfbf8('0x1e')](_0x284579[_0xfbf8('0x1e')]||0x0);return dbH[_0xfbf8('0x85')][_0xfbf8('0x31')](_0x19c8ef[_0xfbf8('0x86')](),{'type':dbH[_0xfbf8('0x85')][_0xfbf8('0x87')]['SELECT']})['then'](function(_0x2431a7){if(!_0x2431a7[_0xfbf8('0x37')]){_0x3ee4bd=0x0;}else{_0x3ee4bd=_0x2431a7[0x0][_0xfbf8('0x1d')]||0x0;}return dbH[_0xfbf8('0x85')][_0xfbf8('0x31')](_0xad4c12['toString'](),{'type':dbH['sequelize']['QueryTypes'][_0xfbf8('0x88')]});})['then'](function(_0x16f760){return{'rows':_0x16f760||[],'count':_0x3ee4bd};});}});}exports[_0xfbf8('0xa2')]=function(_0x6ec75,_0x48551d){return runReport(_0x6ec75['params'],_0x6ec75[_0xfbf8('0x31')],_0x6ec75['options'])[_0xfbf8('0x23')](respondWithResult(_0x48551d,null))[_0xfbf8('0x45')](handleError(_0x48551d,null));};exports['runReport']=runReport;exports['query']=function(_0x49a498,_0x3f8878){var _0x469dce=0xa;var _0x44e0f1=['join','left_join',_0xfbf8('0x55'),_0xfbf8('0x8a')];var _0x1b4cf3={'SUM':_0xfbf8('0x56'),'COUNT':_0xfbf8('0x8b'),'COUNT DISTINCT':_0xfbf8('0x57'),'MAX':_0xfbf8('0x58'),'MIN':_0xfbf8('0x8c'),'AVG':_0xfbf8('0x59'),'GROUP_CONCAT':_0xfbf8('0x5a'),'GROUP_CONCAT ASC':_0xfbf8('0x8d'),'GROUP_CONCAT DESC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)'};var _0x2f8f4f={'SEC_TO_TIME':_0xfbf8('0x5c'),'DATE':_0xfbf8('0x5d'),'HOUR':_0xfbf8('0x5e'),'ROUND':'ROUND(%s)','UNIX_TIMESTAMP':_0xfbf8('0x60')};var _0x3066ab=function(_0x5c4a69){return!_[_0xfbf8('0x7b')]([_0xfbf8('0x61'),_0xfbf8('0x62'),_0xfbf8('0x63'),_0xfbf8('0x64')],_0x5c4a69);};var _0x3c63b4=function(_0x50d731){if(!_0x50d731||!_0x50d731[_0xfbf8('0x65')][_0xfbf8('0x37')]){return'';}for(var _0x3d19f8='(',_0x4373a7=0x0;_0x4373a7<_0x50d731[_0xfbf8('0x65')][_0xfbf8('0x37')];_0x4373a7+=0x1){_0x4373a7>0x0&&(_0x3d19f8+='\x20'+_0x50d731[_0xfbf8('0x66')]+'\x20');_0x3d19f8+=_0x50d731[_0xfbf8('0x65')][_0x4373a7][_0xfbf8('0x67')]?_0x3c63b4(_0x50d731[_0xfbf8('0x65')][_0x4373a7][_0xfbf8('0x67')]):_0x50d731['rules'][_0x4373a7][_0xfbf8('0x8e')]+'\x20'+_0x50d731[_0xfbf8('0x65')][_0x4373a7][_0xfbf8('0x68')]+(_0x3066ab(_0x50d731[_0xfbf8('0x65')][_0x4373a7]['condition'])?'\x20'+_0x50d731['rules'][_0x4373a7][_0xfbf8('0x69')]:'');}return _0x3d19f8+')';};var _0x7f472c={'where':{'id':_0x49a498[_0xfbf8('0x47')]['id']}},_0x4f5d00,_0x2b6a9b,_0x2f3eca,_0x4cc335,_0x463e0c;_0x7f472c=_[_0xfbf8('0x3f')]({},_0x7f472c,_0x49a498[_0xfbf8('0x40')]);return db[_0xfbf8('0x2e')][_0xfbf8('0x4e')](_0x7f472c)[_0xfbf8('0x23')](function(_0x55ce77){if(_0x55ce77){_0x4f5d00=_0x55ce77;return _0x55ce77[_0xfbf8('0x8f')]();}return null;})[_0xfbf8('0x23')](function(_0x1d79ba){if(_0x1d79ba){if(!_0x1d79ba['length']){throw new db['Sequelize'][(_0xfbf8('0x6b'))](_0xfbf8('0x6c'),0x193);}_0x2b6a9b=_0x1d79ba;return db['AnalyticMetric'][_0xfbf8('0x43')]({'raw':!![]});}return null;})[_0xfbf8('0x23')](function(_0x50bde8){if(_0x50bde8){_0x2f3eca=_[_0xfbf8('0x6d')](_0x50bde8,'id');var _0x250495;var _0x54c8ba=squel[_0xfbf8('0x6e')]();_0x54c8ba[_0xfbf8('0x6f')](_0x4f5d00['table']);for(var _0x1971d6=0x0;_0x1971d6<_0x2b6a9b[_0xfbf8('0x37')];_0x1971d6+=0x1){_0x250495=_0x2b6a9b[_0x1971d6]['MetricId']?_0x2f3eca[_0x2b6a9b[_0x1971d6]['MetricId']]['metric']:_0x2b6a9b[_0x1971d6][_0xfbf8('0x8e')];_0x250495=_0x2b6a9b[_0x1971d6][_0xfbf8('0x74')]?_[_0xfbf8('0x73')](_0x1b4cf3[_0x2b6a9b[_0x1971d6][_0xfbf8('0x74')]],'%s',_0x250495):_0x250495;_0x250495=_0x2b6a9b[_0x1971d6][_0xfbf8('0x75')]?_['replace'](_0x2f8f4f[_0x2b6a9b[_0x1971d6]['format']],'%s',_0x250495):_0x250495;if(_0x2b6a9b[_0x1971d6]['groupBy']){_0x54c8ba[_0xfbf8('0x67')](_0x250495);}_0x2b6a9b[_0x1971d6]['orderBy']&&_0x54c8ba[_0xfbf8('0x78')](_0x250495,_0x2b6a9b[_0x1971d6][_0xfbf8('0x77')]==='DESC'?![]:!![]);_0x54c8ba[_0xfbf8('0x8e')](_0x250495,_0x2b6a9b[_0x1971d6][_0xfbf8('0xa3')]||_0x250495);}if(_0x4f5d00['joins']){_0x4f5d00[_0xfbf8('0x7a')]=JSON[_0xfbf8('0x81')](_0x4f5d00['joins']);for(var _0x5807de=0x0;_0x5807de<_0x4f5d00[_0xfbf8('0x7a')][_0xfbf8('0x37')];_0x5807de+=0x1){if(_0x4f5d00['joins'][_0x5807de][_0xfbf8('0x3e')]&&_[_0xfbf8('0x7b')](_0x44e0f1,_0x4f5d00[_0xfbf8('0x7a')][_0x5807de][_0xfbf8('0x3e')])&&_0x4f5d00[_0xfbf8('0x7a')][_0x5807de][_0xfbf8('0x7c')]&&_0x4f5d00[_0xfbf8('0x7a')][_0x5807de][_0xfbf8('0x7d')]&&_0x4f5d00['joins'][_0x5807de][_0xfbf8('0x7f')]){_0x54c8ba[_0x4f5d00['joins'][_0x5807de][_0xfbf8('0x3e')]](_0x4f5d00[_0xfbf8('0x7a')][_0x5807de][_0xfbf8('0x7d')],null,util[_0xfbf8('0x75')](_0xfbf8('0x7e'),_0x4f5d00['table'],_0x4f5d00[_0xfbf8('0x7a')][_0x5807de][_0xfbf8('0x7c')],_0x4f5d00['joins'][_0x5807de][_0xfbf8('0x7d')],_0x4f5d00[_0xfbf8('0x7a')][_0x5807de][_0xfbf8('0x7f')]));}}}if(_0x4f5d00[_0xfbf8('0x80')]){_0x4f5d00[_0xfbf8('0x80')]=JSON['parse'](_0x4f5d00[_0xfbf8('0x80')]);_0x54c8ba[_0xfbf8('0x3d')](_0x3c63b4(_0x4f5d00[_0xfbf8('0x80')]['group']));}_0x463e0c=_0x54c8ba['clone']();_0x54c8ba[_0xfbf8('0x1f')](_0x469dce);_0x54c8ba['offset'](0x0);logger[_0xfbf8('0x83')](_0xfbf8('0x84'),_0x54c8ba[_0xfbf8('0x86')]());return db[_0xfbf8('0x85')][_0xfbf8('0x31')](_0x54c8ba[_0xfbf8('0x86')](),{'type':db[_0xfbf8('0x85')][_0xfbf8('0x87')][_0xfbf8('0x88')]});}})[_0xfbf8('0x23')](function(){return{'sql':_0x463e0c[_0xfbf8('0x86')]()};})[_0xfbf8('0x23')](respondWithResult(_0x3f8878,null))[_0xfbf8('0x45')](handleError(_0x3f8878,null));};