f142489473556dd9f433739f16c6c939db535969
[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 _0xfc9d=['DESC','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','ejs','lodash','squel','crypto','jsforce','to-csv','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','dbH','status','json','count','offset','limit','set','Content-Range','apply','reject','update','then','get','UserProfileResource','end','sendStatus','error','stack','name','send','index','map','AnalyticDefaultReport','rawAttributes','fieldName','key','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','type','includeAll','include','findAll','rows','catch','show','params','options','create','body','user','Reports','find','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','destroy','preview','join','left_join','right_join','cross_join','COUNT(%s)','COUNT(DISTINCT\x20%s)','MAX(%s)','MIN(%s)','AVG(%s)','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)','SEC_TO_TIME(%s)','HOUR(%s)','ROUND(%s)','UNIX_TIMESTAMP(%s)','IS\x20NULL','IS\x20NOT\x20NULL','IS\x20EMPTY','IS\x20NOT\x20EMPTY','rules','operator','group','condition','merge','getFields','Sequelize','ValidationErrorItem','Please\x20insert\x20at\x20least\x20one\x20field','keyBy','select','table','MetricId','field','function','format','replace','groupBy','orderBy','alias','joins','parentKey','foreignTable','foreignKey','conditions','parse','clone','debug','toString','sequelize','QueryTypes','SELECT','SUM(%s)','GROUP_CONCAT(%s)','DATE(%s)','includes','value','AnalyticMetric','from','metric','%s.%s\x20=\x20%s.%s','Limited\x20Query:','No\x20available\x20data','web','fullPath','%s-%s.%s','randomstring','generate','output','csv','AnalyticExtractedReport','cdr','startDate','endDate','.createdAt\x20BETWEEN\x20?\x20AND\x20?','Run\x20Query:','child_process','fork','../../components/export/','savename','countTable','COUNT(*)','run'];(function(_0x4fc9e6,_0xc51915){var _0x551d28=function(_0x1a603b){while(--_0x1a603b){_0x4fc9e6['push'](_0x4fc9e6['shift']());}};_0x551d28(++_0xc51915);}(_0xfc9d,0x155));var _0xdfc9=function(_0x4dda69,_0x2a0fe4){_0x4dda69=_0x4dda69-0x0;var _0x9014a9=_0xfc9d[_0x4dda69];return _0x9014a9;};'use strict';var pdf=require(_0xdfc9('0x0'));var emlformat=require(_0xdfc9('0x1'));var rimraf=require(_0xdfc9('0x2'));var zipdir=require(_0xdfc9('0x3'));var jsonpatch=require(_0xdfc9('0x4'));var rp=require(_0xdfc9('0x5'));var moment=require(_0xdfc9('0x6'));var BPromise=require(_0xdfc9('0x7'));var Mustache=require(_0xdfc9('0x8'));var util=require(_0xdfc9('0x9'));var path=require(_0xdfc9('0xa'));var sox=require(_0xdfc9('0xb'));var csv=require('to-csv');var ejs=require(_0xdfc9('0xc'));var fs=require('fs');var _=require(_0xdfc9('0xd'));var squel=require(_0xdfc9('0xe'));var crypto=require(_0xdfc9('0xf'));var jsforce=require(_0xdfc9('0x10'));var deskjs=require('desk.js');var toCsv=require(_0xdfc9('0x11'));var querystring=require('querystring');var Papa=require(_0xdfc9('0x12'));var Redis=require(_0xdfc9('0x13'));var authService=require(_0xdfc9('0x14'));var qs=require(_0xdfc9('0x15'));var as=require(_0xdfc9('0x16'));var hardwareService=require(_0xdfc9('0x17'));var logger=require(_0xdfc9('0x18'))(_0xdfc9('0x19'));var utils=require(_0xdfc9('0x1a'));var config=require('../../config/environment');var db=require(_0xdfc9('0x1b'))['db'];var dbH=require(_0xdfc9('0x1b'))[_0xdfc9('0x1c')];function respondWithStatusCode(_0x2f14d7,_0x253338){_0x253338=_0x253338||0xcc;return function(_0x37c3ab){if(_0x37c3ab){return _0x2f14d7['sendStatus'](_0x253338);}return _0x2f14d7['status'](_0x253338)['end']();};}function respondWithResult(_0x2e685e,_0x1913c7){_0x1913c7=_0x1913c7||0xc8;return function(_0x3107ef){if(_0x3107ef){return _0x2e685e[_0xdfc9('0x1d')](_0x1913c7)[_0xdfc9('0x1e')](_0x3107ef);}};}function respondWithFilteredResult(_0x4ccdea,_0x492519){return function(_0x3dd0e6){if(_0x3dd0e6){var _0x3d5dc1=_0x3dd0e6[_0xdfc9('0x1f')],_0x53447a=_0x492519['offset'],_0x2fef5f=_0x492519[_0xdfc9('0x20')]+_0x492519[_0xdfc9('0x21')],_0x2e553c;if(_0x2fef5f>=_0x3d5dc1){_0x2fef5f=_0x3d5dc1;_0x2e553c=0xc8;}else{_0x2e553c=0xce;}_0x4ccdea[_0xdfc9('0x1d')](_0x2e553c);return _0x4ccdea[_0xdfc9('0x22')](_0xdfc9('0x23'),_0x53447a+'-'+_0x2fef5f+'/'+_0x3d5dc1)[_0xdfc9('0x1e')](_0x3dd0e6);}return null;};}function patchUpdates(_0x14eec4){return function(_0x19ed2f){try{jsonpatch[_0xdfc9('0x24')](_0x19ed2f,_0x14eec4,!![]);}catch(_0x292d3c){return BPromise[_0xdfc9('0x25')](_0x292d3c);}return _0x19ed2f['save']();};}function saveUpdates(_0x55ff95,_0x182f10){return function(_0x4a78e3){if(_0x4a78e3){return _0x4a78e3[_0xdfc9('0x26')](_0x55ff95)[_0xdfc9('0x27')](function(_0x17b9f1){return _0x17b9f1;});}return null;};}function removeEntity(_0x132965,_0x160f96){return function(_0x200896){if(_0x200896){return _0x200896['destroy']()['then'](function(){var _0x8e34e9=_0x200896[_0xdfc9('0x28')]({'plain':!![]});var _0x5f41cd='DefaultReports';return db[_0xdfc9('0x29')]['destroy']({'where':{'type':_0x5f41cd,'resourceId':_0x8e34e9['id']}})[_0xdfc9('0x27')](function(){return _0x200896;});})[_0xdfc9('0x27')](function(){_0x132965[_0xdfc9('0x1d')](0xcc)[_0xdfc9('0x2a')]();});}};}function handleEntityNotFound(_0x4bf8cb,_0xac5f3c){return function(_0x5de168){if(!_0x5de168){_0x4bf8cb[_0xdfc9('0x2b')](0x194);}return _0x5de168;};}function handleError(_0x17440b,_0xc2d4e5){_0xc2d4e5=_0xc2d4e5||0x1f4;return function(_0x350260){logger[_0xdfc9('0x2c')](_0x350260[_0xdfc9('0x2d')]);if(_0x350260['name']){delete _0x350260[_0xdfc9('0x2e')];}_0x17440b[_0xdfc9('0x1d')](_0xc2d4e5)[_0xdfc9('0x2f')](_0x350260);};}exports[_0xdfc9('0x30')]=function(_0x125012,_0x80542e){var _0x16b33d={},_0x375c0b={},_0xdfcfd3={'count':0x0,'rows':[]};var _0x371cd6=_[_0xdfc9('0x31')](db[_0xdfc9('0x32')][_0xdfc9('0x33')],function(_0x56604c){return{'name':_0x56604c[_0xdfc9('0x34')],'type':_0x56604c['type'][_0xdfc9('0x35')]};});_0x375c0b[_0xdfc9('0x36')]=_[_0xdfc9('0x31')](_0x371cd6,_0xdfc9('0x2e'));_0x375c0b[_0xdfc9('0x37')]=_[_0xdfc9('0x38')](_0x125012[_0xdfc9('0x37')]);_0x375c0b[_0xdfc9('0x39')]=_[_0xdfc9('0x3a')](_0x375c0b[_0xdfc9('0x36')],_0x375c0b['query']);_0x16b33d['attributes']=_[_0xdfc9('0x3a')](_0x375c0b['model'],qs['fields'](_0x125012[_0xdfc9('0x37')][_0xdfc9('0x3b')]));_0x16b33d[_0xdfc9('0x3c')]=_0x16b33d['attributes'][_0xdfc9('0x3d')]?_0x16b33d[_0xdfc9('0x3c')]:_0x375c0b[_0xdfc9('0x36')];if(!_0x125012['query'][_0xdfc9('0x3e')](_0xdfc9('0x3f'))){_0x16b33d[_0xdfc9('0x21')]=qs[_0xdfc9('0x21')](_0x125012[_0xdfc9('0x37')][_0xdfc9('0x21')]);_0x16b33d['offset']=qs[_0xdfc9('0x20')](_0x125012[_0xdfc9('0x37')][_0xdfc9('0x20')]);}_0x16b33d[_0xdfc9('0x40')]=qs[_0xdfc9('0x41')](_0x125012[_0xdfc9('0x37')]['sort']);_0x16b33d[_0xdfc9('0x42')]=qs[_0xdfc9('0x39')](_[_0xdfc9('0x43')](_0x125012[_0xdfc9('0x37')],_0x375c0b['filters']),_0x371cd6);if(_0x125012[_0xdfc9('0x37')][_0xdfc9('0x44')]){_0x16b33d[_0xdfc9('0x42')]=_['merge'](_0x16b33d[_0xdfc9('0x42')],{'$or':_[_0xdfc9('0x31')](_0x371cd6,function(_0x4e123b){if(_0x4e123b[_0xdfc9('0x45')]!=='VIRTUAL'){var _0x454a95={};_0x454a95[_0x4e123b['name']]={'$like':'%'+_0x125012['query'][_0xdfc9('0x44')]+'%'};return _0x454a95;}})});}_0x16b33d=_['merge']({},_0x16b33d,_0x125012['options']);var _0x35837f={'where':_0x16b33d['where']};return db[_0xdfc9('0x32')]['count'](_0x35837f)[_0xdfc9('0x27')](function(_0x22b77e){_0xdfcfd3[_0xdfc9('0x1f')]=_0x22b77e;if(_0x125012[_0xdfc9('0x37')][_0xdfc9('0x46')]){_0x16b33d[_0xdfc9('0x47')]=[{'all':!![]}];}return db[_0xdfc9('0x32')][_0xdfc9('0x48')](_0x16b33d);})['then'](function(_0x10ea48){_0xdfcfd3[_0xdfc9('0x49')]=_0x10ea48;return _0xdfcfd3;})[_0xdfc9('0x27')](respondWithFilteredResult(_0x80542e,_0x16b33d))[_0xdfc9('0x4a')](handleError(_0x80542e,null));};exports[_0xdfc9('0x4b')]=function(_0x1894d6,_0x420aea){var _0x4d6571={'raw':!![],'where':{'id':_0x1894d6[_0xdfc9('0x4c')]['id']}},_0x5a382c={};_0x5a382c['model']=_['keys'](db['AnalyticDefaultReport'][_0xdfc9('0x33')]);_0x5a382c[_0xdfc9('0x37')]=_['keys'](_0x1894d6[_0xdfc9('0x37')]);_0x5a382c[_0xdfc9('0x39')]=_['intersection'](_0x5a382c['model'],_0x5a382c['query']);_0x4d6571[_0xdfc9('0x3c')]=_[_0xdfc9('0x3a')](_0x5a382c['model'],qs[_0xdfc9('0x3b')](_0x1894d6[_0xdfc9('0x37')][_0xdfc9('0x3b')]));_0x4d6571['attributes']=_0x4d6571['attributes']['length']?_0x4d6571[_0xdfc9('0x3c')]:_0x5a382c[_0xdfc9('0x36')];if(_0x1894d6[_0xdfc9('0x37')][_0xdfc9('0x46')]){_0x4d6571[_0xdfc9('0x47')]=[{'all':!![]}];}_0x4d6571=_['merge']({},_0x4d6571,_0x1894d6[_0xdfc9('0x4d')]);return db[_0xdfc9('0x32')]['find'](_0x4d6571)[_0xdfc9('0x27')](handleEntityNotFound(_0x420aea,null))[_0xdfc9('0x27')](respondWithResult(_0x420aea,null))['catch'](handleError(_0x420aea,null));};exports[_0xdfc9('0x4e')]=function(_0x172e7c,_0x4ec204){return db[_0xdfc9('0x32')][_0xdfc9('0x4e')](_0x172e7c[_0xdfc9('0x4f')],{})[_0xdfc9('0x27')](function(_0x484643){var _0x373001=_0x172e7c['user'][_0xdfc9('0x28')]({'plain':!![]});if(!_0x373001)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x373001['role']===_0xdfc9('0x50')){var _0x3f2624=_0x484643[_0xdfc9('0x28')]({'plain':!![]});var _0x169620=_0xdfc9('0x51');return db['UserProfileSection'][_0xdfc9('0x52')]({'where':{'name':_0x169620,'userProfileId':_0x373001['userProfileId']},'raw':!![]})[_0xdfc9('0x27')](function(_0x5f295f){if(_0x5f295f&&_0x5f295f[_0xdfc9('0x53')]===0x0){return db[_0xdfc9('0x29')][_0xdfc9('0x4e')]({'name':_0x3f2624[_0xdfc9('0x2e')],'resourceId':_0x3f2624['id'],'type':'DefaultReports','sectionId':_0x5f295f['id']},{})[_0xdfc9('0x27')](function(){return _0x484643;});}else{return _0x484643;}})[_0xdfc9('0x4a')](function(_0x5cad0c){logger[_0xdfc9('0x2c')](_0xdfc9('0x54'),_0x5cad0c);throw _0x5cad0c;});}return _0x484643;})[_0xdfc9('0x27')](respondWithResult(_0x4ec204,0xc9))[_0xdfc9('0x4a')](handleError(_0x4ec204,null));};exports[_0xdfc9('0x26')]=function(_0xf142fe,_0xa8958){if(_0xf142fe['body']['id']){delete _0xf142fe[_0xdfc9('0x4f')]['id'];}return db[_0xdfc9('0x32')][_0xdfc9('0x52')]({'where':{'id':_0xf142fe[_0xdfc9('0x4c')]['id']}})['then'](handleEntityNotFound(_0xa8958,null))[_0xdfc9('0x27')](saveUpdates(_0xf142fe['body'],null))['then'](respondWithResult(_0xa8958,null))[_0xdfc9('0x4a')](handleError(_0xa8958,null));};exports[_0xdfc9('0x55')]=function(_0x5afecd,_0x46d23b){return db[_0xdfc9('0x32')][_0xdfc9('0x52')]({'where':{'id':_0x5afecd[_0xdfc9('0x4c')]['id']}})[_0xdfc9('0x27')](handleEntityNotFound(_0x46d23b,null))[_0xdfc9('0x27')](removeEntity(_0x46d23b,null))[_0xdfc9('0x4a')](handleError(_0x46d23b,null));};exports[_0xdfc9('0x56')]=function(_0x35b8f3,_0x94d67c){var _0x106c60=0xa;var _0xb33d41=[_0xdfc9('0x57'),_0xdfc9('0x58'),_0xdfc9('0x59'),_0xdfc9('0x5a')];var _0x259fdf={'SUM':'SUM(%s)','COUNT':_0xdfc9('0x5b'),'COUNT DISTINCT':_0xdfc9('0x5c'),'MAX':_0xdfc9('0x5d'),'MIN':_0xdfc9('0x5e'),'AVG':_0xdfc9('0x5f'),'GROUP_CONCAT':'GROUP_CONCAT(%s)','GROUP_CONCAT ASC':_0xdfc9('0x60'),'GROUP_CONCAT DESC':_0xdfc9('0x61')};var _0x3aba0b={'SEC_TO_TIME':_0xdfc9('0x62'),'DATE':'DATE(%s)','HOUR':_0xdfc9('0x63'),'ROUND':_0xdfc9('0x64'),'UNIX_TIMESTAMP':_0xdfc9('0x65')};var _0x2c1feb=function(_0x1d302e){return!_['includes']([_0xdfc9('0x66'),_0xdfc9('0x67'),_0xdfc9('0x68'),_0xdfc9('0x69')],_0x1d302e);};var _0x370a48=function(_0x3e0510){if(!_0x3e0510||!_0x3e0510['rules'][_0xdfc9('0x3d')]){return'';}for(var _0x336299='(',_0x130591=0x0;_0x130591<_0x3e0510[_0xdfc9('0x6a')][_0xdfc9('0x3d')];_0x130591+=0x1){_0x130591>0x0&&(_0x336299+='\x20'+_0x3e0510[_0xdfc9('0x6b')]+'\x20');_0x336299+=_0x3e0510[_0xdfc9('0x6a')][_0x130591][_0xdfc9('0x6c')]?_0x370a48(_0x3e0510['rules'][_0x130591][_0xdfc9('0x6c')]):_0x3e0510[_0xdfc9('0x6a')][_0x130591]['field']+'\x20'+_0x3e0510['rules'][_0x130591]['condition']+(_0x2c1feb(_0x3e0510['rules'][_0x130591][_0xdfc9('0x6d')])?'\x20'+_0x3e0510[_0xdfc9('0x6a')][_0x130591]['value']:'');}return _0x336299+')';};var _0x2a3b53={'where':{'id':_0x35b8f3['params']['id']}},_0x502c78,_0x20aa9b,_0x46e1cb,_0xec6628,_0x6ec380;_0x2a3b53=_[_0xdfc9('0x6e')]({},_0x2a3b53,_0x35b8f3['options']);return db['AnalyticDefaultReport'][_0xdfc9('0x52')](_0x2a3b53)[_0xdfc9('0x27')](function(_0x28da75){if(_0x28da75){_0x502c78=_0x28da75;return _0x28da75[_0xdfc9('0x6f')]();}return null;})['then'](function(_0x466023){if(_0x466023){if(!_0x466023[_0xdfc9('0x3d')]){throw new db[(_0xdfc9('0x70'))][(_0xdfc9('0x71'))](_0xdfc9('0x72'),0x193);}_0x20aa9b=_0x466023;return db['AnalyticMetric'][_0xdfc9('0x48')]({'raw':!![]});}return null;})['then'](function(_0x273acb){if(_0x273acb){_0x46e1cb=_[_0xdfc9('0x73')](_0x273acb,'id');var _0x5b4f01;var _0x2ef248=squel[_0xdfc9('0x74')]();_0x2ef248['from'](_0x502c78[_0xdfc9('0x75')]);for(var _0x3d0c7e=0x0;_0x3d0c7e<_0x20aa9b[_0xdfc9('0x3d')];_0x3d0c7e+=0x1){_0x5b4f01=_0x20aa9b[_0x3d0c7e][_0xdfc9('0x76')]?_0x46e1cb[_0x20aa9b[_0x3d0c7e][_0xdfc9('0x76')]]['metric']:_0x20aa9b[_0x3d0c7e][_0xdfc9('0x77')];_0x5b4f01=_0x20aa9b[_0x3d0c7e][_0xdfc9('0x78')]?_['replace'](_0x259fdf[_0x20aa9b[_0x3d0c7e]['function']],'%s',_0x5b4f01):_0x5b4f01;_0x5b4f01=_0x20aa9b[_0x3d0c7e][_0xdfc9('0x79')]?_[_0xdfc9('0x7a')](_0x3aba0b[_0x20aa9b[_0x3d0c7e][_0xdfc9('0x79')]],'%s',_0x5b4f01):_0x5b4f01;if(_0x20aa9b[_0x3d0c7e][_0xdfc9('0x7b')]){_0x2ef248[_0xdfc9('0x6c')](_0x5b4f01);}_0x20aa9b[_0x3d0c7e][_0xdfc9('0x7c')]&&_0x2ef248[_0xdfc9('0x40')](_0x5b4f01,_0x20aa9b[_0x3d0c7e][_0xdfc9('0x7c')]==='DESC'?![]:!![]);_0x2ef248[_0xdfc9('0x77')](_0x5b4f01,_0x20aa9b[_0x3d0c7e][_0xdfc9('0x7d')]||_0x5b4f01);}if(_0x502c78['joins']){_0x502c78['joins']=JSON['parse'](_0x502c78[_0xdfc9('0x7e')]);for(var _0x5e4ea9=0x0;_0x5e4ea9<_0x502c78[_0xdfc9('0x7e')]['length'];_0x5e4ea9+=0x1){if(_0x502c78['joins'][_0x5e4ea9][_0xdfc9('0x45')]&&_['includes'](_0xb33d41,_0x502c78['joins'][_0x5e4ea9][_0xdfc9('0x45')])&&_0x502c78['joins'][_0x5e4ea9][_0xdfc9('0x7f')]&&_0x502c78[_0xdfc9('0x7e')][_0x5e4ea9][_0xdfc9('0x80')]&&_0x502c78['joins'][_0x5e4ea9][_0xdfc9('0x81')]){_0x2ef248[_0x502c78['joins'][_0x5e4ea9][_0xdfc9('0x45')]](_0x502c78[_0xdfc9('0x7e')][_0x5e4ea9][_0xdfc9('0x80')],null,util[_0xdfc9('0x79')]('%s.%s\x20=\x20%s.%s',_0x502c78[_0xdfc9('0x75')],_0x502c78[_0xdfc9('0x7e')][_0x5e4ea9][_0xdfc9('0x7f')],_0x502c78['joins'][_0x5e4ea9]['foreignTable'],_0x502c78[_0xdfc9('0x7e')][_0x5e4ea9]['foreignKey']));}}}if(_0x502c78['conditions']){_0x502c78[_0xdfc9('0x82')]=JSON[_0xdfc9('0x83')](_0x502c78[_0xdfc9('0x82')]);_0x2ef248[_0xdfc9('0x42')](_0x370a48(_0x502c78['conditions'][_0xdfc9('0x6c')]));}_0x6ec380=_0x2ef248[_0xdfc9('0x84')]();_0x2ef248[_0xdfc9('0x21')](_0x106c60);_0x2ef248[_0xdfc9('0x20')](0x0);logger[_0xdfc9('0x85')]('Limited\x20Query:',_0x2ef248[_0xdfc9('0x86')]());return db[_0xdfc9('0x87')][_0xdfc9('0x37')](_0x2ef248[_0xdfc9('0x86')](),{'type':db[_0xdfc9('0x87')][_0xdfc9('0x88')][_0xdfc9('0x89')]});}})['then'](respondWithResult(_0x94d67c,null))[_0xdfc9('0x4a')](handleError(_0x94d67c,null));};function runReport(_0x226736,_0x3ac729,_0x43483e){var _0x3c1235=_0x3ac729[_0xdfc9('0x2e')];var _0x39558e=0xa;var _0x2d591=[_0xdfc9('0x57'),_0xdfc9('0x58'),_0xdfc9('0x59'),'cross_join'];var _0xf29d39={'SUM':_0xdfc9('0x8a'),'COUNT':_0xdfc9('0x5b'),'COUNT DISTINCT':_0xdfc9('0x5c'),'MAX':_0xdfc9('0x5d'),'MIN':_0xdfc9('0x5e'),'AVG':_0xdfc9('0x5f'),'GROUP_CONCAT':_0xdfc9('0x8b'),'GROUP_CONCAT ASC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','GROUP_CONCAT DESC':_0xdfc9('0x61')};var _0x4b30d0={'SEC_TO_TIME':_0xdfc9('0x62'),'DATE':_0xdfc9('0x8c'),'HOUR':'HOUR(%s)','ROUND':_0xdfc9('0x64'),'UNIX_TIMESTAMP':_0xdfc9('0x65')};var _0x3d9d9b=function(_0x11d88b){return!_[_0xdfc9('0x8d')]([_0xdfc9('0x66'),_0xdfc9('0x67'),_0xdfc9('0x68'),'IS\x20NOT\x20EMPTY'],_0x11d88b);};var _0x480796=function(_0x25b617){if(!_0x25b617||!_0x25b617['rules'][_0xdfc9('0x3d')]){return'';}for(var _0x2b2ed4='(',_0x40b5ea=0x0;_0x40b5ea<_0x25b617[_0xdfc9('0x6a')][_0xdfc9('0x3d')];_0x40b5ea+=0x1){_0x40b5ea>0x0&&(_0x2b2ed4+='\x20'+_0x25b617[_0xdfc9('0x6b')]+'\x20');_0x2b2ed4+=_0x25b617[_0xdfc9('0x6a')][_0x40b5ea][_0xdfc9('0x6c')]?_0x480796(_0x25b617[_0xdfc9('0x6a')][_0x40b5ea][_0xdfc9('0x6c')]):_0x25b617[_0xdfc9('0x6a')][_0x40b5ea][_0xdfc9('0x77')]+'\x20'+_0x25b617[_0xdfc9('0x6a')][_0x40b5ea][_0xdfc9('0x6d')]+(_0x3d9d9b(_0x25b617['rules'][_0x40b5ea]['condition'])?'\x20'+_0x25b617[_0xdfc9('0x6a')][_0x40b5ea][_0xdfc9('0x8e')]:'');}return _0x2b2ed4+')';};var _0x282a49={'where':{'id':_0x226736['id']}},_0x445624,_0x4a5cba,_0x46adc9,_0x4f987c,_0x18e9f2;_0x282a49=_[_0xdfc9('0x6e')]({},_0x282a49,_0x43483e);return db[_0xdfc9('0x32')][_0xdfc9('0x52')](_0x282a49)['then'](function(_0x4ab7e5){if(_0x4ab7e5){_0x445624=_0x4ab7e5;return _0x4ab7e5['getFields']();}return null;})['then'](function(_0x38941a){if(_0x38941a){if(!_0x38941a[_0xdfc9('0x3d')]){throw new db[(_0xdfc9('0x70'))][(_0xdfc9('0x71'))](_0xdfc9('0x72'),0x193);}_0x4a5cba=_0x38941a;return db[_0xdfc9('0x8f')][_0xdfc9('0x48')]({'raw':!![]});}return null;})[_0xdfc9('0x27')](function(_0x33e30e){if(_0x33e30e){_0x46adc9=_['keyBy'](_0x33e30e,'id');var _0xab2d6d;var _0x4c0f65=squel[_0xdfc9('0x74')]();_0x4c0f65[_0xdfc9('0x90')](_0x445624[_0xdfc9('0x75')]);for(var _0x5045f2=0x0;_0x5045f2<_0x4a5cba[_0xdfc9('0x3d')];_0x5045f2+=0x1){_0xab2d6d=_0x4a5cba[_0x5045f2][_0xdfc9('0x76')]?_0x46adc9[_0x4a5cba[_0x5045f2][_0xdfc9('0x76')]][_0xdfc9('0x91')]:_0x4a5cba[_0x5045f2]['field'];_0xab2d6d=_0x4a5cba[_0x5045f2]['function']?_['replace'](_0xf29d39[_0x4a5cba[_0x5045f2]['function']],'%s',_0xab2d6d):_0xab2d6d;_0xab2d6d=_0x4a5cba[_0x5045f2]['format']?_['replace'](_0x4b30d0[_0x4a5cba[_0x5045f2][_0xdfc9('0x79')]],'%s',_0xab2d6d):_0xab2d6d;if(_0x4a5cba[_0x5045f2][_0xdfc9('0x7b')]){_0x4c0f65['group'](_0xab2d6d);}_0x4a5cba[_0x5045f2][_0xdfc9('0x7c')]&&_0x4c0f65[_0xdfc9('0x40')](_0xab2d6d,_0x4a5cba[_0x5045f2]['orderBy']==='DESC'?![]:!![]);_0x4c0f65['field'](_0xab2d6d,_0x4a5cba[_0x5045f2][_0xdfc9('0x7d')]||_0xab2d6d);}if(_0x445624[_0xdfc9('0x7e')]){_0x445624[_0xdfc9('0x7e')]=JSON[_0xdfc9('0x83')](_0x445624['joins']);for(var _0x2a4bcb=0x0;_0x2a4bcb<_0x445624[_0xdfc9('0x7e')]['length'];_0x2a4bcb+=0x1){if(_0x445624[_0xdfc9('0x7e')][_0x2a4bcb][_0xdfc9('0x45')]&&_['includes'](_0x2d591,_0x445624[_0xdfc9('0x7e')][_0x2a4bcb][_0xdfc9('0x45')])&&_0x445624[_0xdfc9('0x7e')][_0x2a4bcb][_0xdfc9('0x7f')]&&_0x445624[_0xdfc9('0x7e')][_0x2a4bcb]['foreignTable']&&_0x445624[_0xdfc9('0x7e')][_0x2a4bcb][_0xdfc9('0x81')]){_0x4c0f65[_0x445624['joins'][_0x2a4bcb][_0xdfc9('0x45')]](_0x445624[_0xdfc9('0x7e')][_0x2a4bcb][_0xdfc9('0x80')],null,util[_0xdfc9('0x79')](_0xdfc9('0x92'),_0x445624[_0xdfc9('0x75')],_0x445624[_0xdfc9('0x7e')][_0x2a4bcb][_0xdfc9('0x7f')],_0x445624[_0xdfc9('0x7e')][_0x2a4bcb][_0xdfc9('0x80')],_0x445624['joins'][_0x2a4bcb][_0xdfc9('0x81')]));}}}if(_0x445624[_0xdfc9('0x82')]){_0x445624[_0xdfc9('0x82')]=JSON[_0xdfc9('0x83')](_0x445624[_0xdfc9('0x82')]);_0x4c0f65[_0xdfc9('0x42')](_0x480796(_0x445624[_0xdfc9('0x82')]['group']));}_0x18e9f2=_0x4c0f65['clone']();_0x4c0f65[_0xdfc9('0x21')](_0x39558e);_0x4c0f65[_0xdfc9('0x20')](0x0);logger[_0xdfc9('0x85')](_0xdfc9('0x93'),_0x4c0f65[_0xdfc9('0x86')]());return db[_0xdfc9('0x87')]['query'](_0x4c0f65['toString'](),{'type':db[_0xdfc9('0x87')][_0xdfc9('0x88')][_0xdfc9('0x89')]});}})[_0xdfc9('0x27')](function(_0x3758da){if(!_0x3758da['length']){throw new db['Sequelize'][(_0xdfc9('0x71'))](_0xdfc9('0x94'),0xcc);}if(_0x3ac729['output']===_0xdfc9('0x95')){return null;}var _0x34b25e=_['merge'](_0x3ac729,{'name':_0x3ac729[_0xdfc9('0x96')]||_0x3ac729[_0xdfc9('0x2e')]||_0x445624[_0xdfc9('0x2e')],'basename':_0x3c1235,'savename':util[_0xdfc9('0x79')](_0xdfc9('0x97'),_0x3ac729['name']||_0x445624[_0xdfc9('0x2e')],require(_0xdfc9('0x98'))[_0xdfc9('0x99')](0x4),_0x3ac729[_0xdfc9('0x9a')]||_0xdfc9('0x9b')),'reportId':_0x445624['id'],'reportType':'default'});return db[_0xdfc9('0x9c')]['create'](_0x34b25e,{'raw':!![]});})[_0xdfc9('0x27')](function(_0x240931){if(_0x445624['table']===_0xdfc9('0x9d')){_0x18e9f2[_0xdfc9('0x42')](_0x445624[_0xdfc9('0x75')]+'.calldate\x20BETWEEN\x20?\x20AND\x20?',_0x3ac729[_0xdfc9('0x9e')],_0x3ac729[_0xdfc9('0x9f')]);}else{_0x18e9f2[_0xdfc9('0x42')](_0x445624[_0xdfc9('0x75')]+_0xdfc9('0xa0'),_0x3ac729['startDate'],_0x3ac729[_0xdfc9('0x9f')]);}if(_0x240931){logger['info'](_0xdfc9('0xa1'),_0x18e9f2[_0xdfc9('0x86')]());require(_0xdfc9('0xa2'))[_0xdfc9('0xa3')](path[_0xdfc9('0x57')](__dirname,_0xdfc9('0xa4'),_0x240931[_0xdfc9('0x9a')]),[_0x240931['id'],_0x18e9f2[_0xdfc9('0x86')](),path[_0xdfc9('0x57')](__dirname,'../../files/reports',_0x240931[_0xdfc9('0xa5')]),_0x3c1235]);return _0x240931;}else{var _0xbffa8f=squel['select']();_0xbffa8f[_0xdfc9('0x90')]('('+_0x18e9f2[_0xdfc9('0x86')]()+')',_0xdfc9('0xa6'));_0xbffa8f['field'](_0xdfc9('0xa7'),'count');_0x18e9f2[_0xdfc9('0x21')](_0x3ac729[_0xdfc9('0x21')]||_0x39558e);_0x18e9f2[_0xdfc9('0x20')](_0x3ac729[_0xdfc9('0x20')]||0x0);return dbH[_0xdfc9('0x87')][_0xdfc9('0x37')](_0xbffa8f[_0xdfc9('0x86')](),{'type':dbH[_0xdfc9('0x87')][_0xdfc9('0x88')][_0xdfc9('0x89')]})['then'](function(_0x80ff){if(!_0x80ff[_0xdfc9('0x3d')]){_0x4f987c=0x0;}else{_0x4f987c=_0x80ff[0x0][_0xdfc9('0x1f')]||0x0;}return dbH['sequelize'][_0xdfc9('0x37')](_0x18e9f2[_0xdfc9('0x86')](),{'type':dbH[_0xdfc9('0x87')][_0xdfc9('0x88')][_0xdfc9('0x89')]});})[_0xdfc9('0x27')](function(_0x4c6bd5){return{'rows':_0x4c6bd5||[],'count':_0x4f987c};});}});}exports[_0xdfc9('0xa8')]=function(_0x31fec5,_0x6c0b7d){return runReport(_0x31fec5[_0xdfc9('0x4c')],_0x31fec5['query'],_0x31fec5[_0xdfc9('0x4d')])[_0xdfc9('0x27')](respondWithResult(_0x6c0b7d,null))[_0xdfc9('0x4a')](handleError(_0x6c0b7d,null));};exports['runReport']=runReport;exports[_0xdfc9('0x37')]=function(_0x42e3f0,_0x1dc0e3){var _0xd872c=0xa;var _0x2ff671=[_0xdfc9('0x57'),_0xdfc9('0x58'),_0xdfc9('0x59'),_0xdfc9('0x5a')];var _0x27c76a={'SUM':_0xdfc9('0x8a'),'COUNT':'COUNT(%s)','COUNT DISTINCT':_0xdfc9('0x5c'),'MAX':_0xdfc9('0x5d'),'MIN':_0xdfc9('0x5e'),'AVG':'AVG(%s)','GROUP_CONCAT':'GROUP_CONCAT(%s)','GROUP_CONCAT ASC':_0xdfc9('0x60'),'GROUP_CONCAT DESC':_0xdfc9('0x61')};var _0x5a8675={'SEC_TO_TIME':_0xdfc9('0x62'),'DATE':_0xdfc9('0x8c'),'HOUR':_0xdfc9('0x63'),'ROUND':_0xdfc9('0x64'),'UNIX_TIMESTAMP':_0xdfc9('0x65')};var _0x5df478=function(_0x4e7eef){return!_['includes']([_0xdfc9('0x66'),_0xdfc9('0x67'),_0xdfc9('0x68'),_0xdfc9('0x69')],_0x4e7eef);};var _0x4a2a3c=function(_0x874da2){if(!_0x874da2||!_0x874da2[_0xdfc9('0x6a')][_0xdfc9('0x3d')]){return'';}for(var _0x4e88d2='(',_0x276edd=0x0;_0x276edd<_0x874da2['rules'][_0xdfc9('0x3d')];_0x276edd+=0x1){_0x276edd>0x0&&(_0x4e88d2+='\x20'+_0x874da2[_0xdfc9('0x6b')]+'\x20');_0x4e88d2+=_0x874da2[_0xdfc9('0x6a')][_0x276edd]['group']?_0x4a2a3c(_0x874da2[_0xdfc9('0x6a')][_0x276edd][_0xdfc9('0x6c')]):_0x874da2[_0xdfc9('0x6a')][_0x276edd][_0xdfc9('0x77')]+'\x20'+_0x874da2[_0xdfc9('0x6a')][_0x276edd][_0xdfc9('0x6d')]+(_0x5df478(_0x874da2[_0xdfc9('0x6a')][_0x276edd][_0xdfc9('0x6d')])?'\x20'+_0x874da2[_0xdfc9('0x6a')][_0x276edd][_0xdfc9('0x8e')]:'');}return _0x4e88d2+')';};var _0x6db7f2={'where':{'id':_0x42e3f0[_0xdfc9('0x4c')]['id']}},_0x307e0c,_0x33858d,_0x1c327c,_0x571ec4,_0x33b7d8;_0x6db7f2=_['merge']({},_0x6db7f2,_0x42e3f0[_0xdfc9('0x4d')]);return db[_0xdfc9('0x32')][_0xdfc9('0x52')](_0x6db7f2)[_0xdfc9('0x27')](function(_0x41d8e4){if(_0x41d8e4){_0x307e0c=_0x41d8e4;return _0x41d8e4[_0xdfc9('0x6f')]();}return null;})[_0xdfc9('0x27')](function(_0x3917a8){if(_0x3917a8){if(!_0x3917a8[_0xdfc9('0x3d')]){throw new db[(_0xdfc9('0x70'))][(_0xdfc9('0x71'))]('Please\x20insert\x20at\x20least\x20one\x20field',0x193);}_0x33858d=_0x3917a8;return db['AnalyticMetric'][_0xdfc9('0x48')]({'raw':!![]});}return null;})[_0xdfc9('0x27')](function(_0x47a8fb){if(_0x47a8fb){_0x1c327c=_[_0xdfc9('0x73')](_0x47a8fb,'id');var _0x1bfced;var _0x92b913=squel[_0xdfc9('0x74')]();_0x92b913[_0xdfc9('0x90')](_0x307e0c[_0xdfc9('0x75')]);for(var _0x4122e4=0x0;_0x4122e4<_0x33858d[_0xdfc9('0x3d')];_0x4122e4+=0x1){_0x1bfced=_0x33858d[_0x4122e4][_0xdfc9('0x76')]?_0x1c327c[_0x33858d[_0x4122e4][_0xdfc9('0x76')]][_0xdfc9('0x91')]:_0x33858d[_0x4122e4][_0xdfc9('0x77')];_0x1bfced=_0x33858d[_0x4122e4][_0xdfc9('0x78')]?_[_0xdfc9('0x7a')](_0x27c76a[_0x33858d[_0x4122e4][_0xdfc9('0x78')]],'%s',_0x1bfced):_0x1bfced;_0x1bfced=_0x33858d[_0x4122e4][_0xdfc9('0x79')]?_['replace'](_0x5a8675[_0x33858d[_0x4122e4][_0xdfc9('0x79')]],'%s',_0x1bfced):_0x1bfced;if(_0x33858d[_0x4122e4][_0xdfc9('0x7b')]){_0x92b913['group'](_0x1bfced);}_0x33858d[_0x4122e4]['orderBy']&&_0x92b913[_0xdfc9('0x40')](_0x1bfced,_0x33858d[_0x4122e4][_0xdfc9('0x7c')]===_0xdfc9('0xa9')?![]:!![]);_0x92b913['field'](_0x1bfced,_0x33858d[_0x4122e4][_0xdfc9('0x7d')]||_0x1bfced);}if(_0x307e0c[_0xdfc9('0x7e')]){_0x307e0c[_0xdfc9('0x7e')]=JSON[_0xdfc9('0x83')](_0x307e0c[_0xdfc9('0x7e')]);for(var _0x37750c=0x0;_0x37750c<_0x307e0c['joins'][_0xdfc9('0x3d')];_0x37750c+=0x1){if(_0x307e0c[_0xdfc9('0x7e')][_0x37750c][_0xdfc9('0x45')]&&_[_0xdfc9('0x8d')](_0x2ff671,_0x307e0c[_0xdfc9('0x7e')][_0x37750c][_0xdfc9('0x45')])&&_0x307e0c['joins'][_0x37750c]['parentKey']&&_0x307e0c['joins'][_0x37750c][_0xdfc9('0x80')]&&_0x307e0c[_0xdfc9('0x7e')][_0x37750c][_0xdfc9('0x81')]){_0x92b913[_0x307e0c['joins'][_0x37750c][_0xdfc9('0x45')]](_0x307e0c[_0xdfc9('0x7e')][_0x37750c]['foreignTable'],null,util[_0xdfc9('0x79')]('%s.%s\x20=\x20%s.%s',_0x307e0c['table'],_0x307e0c['joins'][_0x37750c][_0xdfc9('0x7f')],_0x307e0c[_0xdfc9('0x7e')][_0x37750c][_0xdfc9('0x80')],_0x307e0c['joins'][_0x37750c]['foreignKey']));}}}if(_0x307e0c[_0xdfc9('0x82')]){_0x307e0c[_0xdfc9('0x82')]=JSON[_0xdfc9('0x83')](_0x307e0c[_0xdfc9('0x82')]);_0x92b913[_0xdfc9('0x42')](_0x4a2a3c(_0x307e0c[_0xdfc9('0x82')][_0xdfc9('0x6c')]));}_0x33b7d8=_0x92b913[_0xdfc9('0x84')]();_0x92b913[_0xdfc9('0x21')](_0xd872c);_0x92b913[_0xdfc9('0x20')](0x0);logger[_0xdfc9('0x85')](_0xdfc9('0x93'),_0x92b913[_0xdfc9('0x86')]());return db[_0xdfc9('0x87')][_0xdfc9('0x37')](_0x92b913['toString'](),{'type':db['sequelize'][_0xdfc9('0x88')][_0xdfc9('0x89')]});}})[_0xdfc9('0x27')](function(){return{'sql':_0x33b7d8[_0xdfc9('0x86')]()};})[_0xdfc9('0x27')](respondWithResult(_0x1dc0e3,null))[_0xdfc9('0x4a')](handleError(_0x1dc0e3,null));};