72b51a126b5ddb44ccdb219bf925043cf402705c
[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 _0xdab3=['UNIX_TIMESTAMP(%s)','includes','IS\x20NULL','IS\x20NOT\x20NULL','IS\x20EMPTY','IS\x20NOT\x20EMPTY','rules','operator','group','field','condition','value','ValidationErrorItem','Please\x20insert\x20at\x20least\x20one\x20field','keyBy','table','MetricId','metric','function','replace','orderBy','order','DESC','alias','joins','parentKey','foreignTable','format','foreignKey','conditions','toString','sequelize','QueryTypes','SELECT','join','cross_join','SUM(%s)','getFields','Sequelize','AnalyticMetric','select','from','groupBy','parse','%s.%s\x20=\x20%s.%s','clone','output','web','%s-%s.%s','randomstring','generate','csv','custom','AnalyticExtractedReport','cdr','startDate','.createdAt\x20BETWEEN\x20?\x20AND\x20?','info','Run\x20Query:','../../components/export/','../../files/reports','savename','countTable','COUNT(*)','right_join','debug','Limited\x20Query:','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','sox','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','dbH','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','update','then','destroy','get','error','stack','map','AnalyticCustomReport','rawAttributes','fieldName','type','key','model','name','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','sort','where','filter','merge','VIRTUAL','options','includeAll','findAll','rows','show','params','include','find','catch','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','Reports','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','CustomReports','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','preview','left_join','COUNT(%s)','COUNT(DISTINCT\x20%s)','MAX(%s)','MIN(%s)','AVG(%s)','GROUP_CONCAT(%s)','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)','SEC_TO_TIME(%s)','DATE(%s)','HOUR(%s)','ROUND(%s)'];(function(_0x51c1ba,_0x5baf5d){var _0x179dc3=function(_0x7d1051){while(--_0x7d1051){_0x51c1ba['push'](_0x51c1ba['shift']());}};_0x179dc3(++_0x5baf5d);}(_0xdab3,0xeb));var _0x3dab=function(_0x55ed9d,_0x3c6363){_0x55ed9d=_0x55ed9d-0x0;var _0x403b64=_0xdab3[_0x55ed9d];return _0x403b64;};'use strict';var pdf=require(_0x3dab('0x0'));var emlformat=require(_0x3dab('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x3dab('0x2'));var jsonpatch=require(_0x3dab('0x3'));var rp=require(_0x3dab('0x4'));var moment=require(_0x3dab('0x5'));var BPromise=require(_0x3dab('0x6'));var Mustache=require(_0x3dab('0x7'));var util=require('util');var path=require('path');var sox=require(_0x3dab('0x8'));var csv=require(_0x3dab('0x9'));var ejs=require(_0x3dab('0xa'));var fs=require('fs');var _=require(_0x3dab('0xb'));var squel=require(_0x3dab('0xc'));var crypto=require(_0x3dab('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x3dab('0xe'));var toCsv=require(_0x3dab('0x9'));var querystring=require(_0x3dab('0xf'));var Papa=require(_0x3dab('0x10'));var Redis=require(_0x3dab('0x11'));var authService=require(_0x3dab('0x12'));var qs=require(_0x3dab('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x3dab('0x14'));var logger=require(_0x3dab('0x15'))(_0x3dab('0x16'));var utils=require(_0x3dab('0x17'));var config=require(_0x3dab('0x18'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];var dbH=require(_0x3dab('0x19'))[_0x3dab('0x1a')];function respondWithStatusCode(_0x302eec,_0xfd33af){_0xfd33af=_0xfd33af||0xcc;return function(_0x28fdaa){if(_0x28fdaa){return _0x302eec[_0x3dab('0x1b')](_0xfd33af);}return _0x302eec[_0x3dab('0x1c')](_0xfd33af)[_0x3dab('0x1d')]();};}function respondWithResult(_0x54bf6e,_0x2b5aa8){_0x2b5aa8=_0x2b5aa8||0xc8;return function(_0x1cd8d1){if(_0x1cd8d1){return _0x54bf6e[_0x3dab('0x1c')](_0x2b5aa8)[_0x3dab('0x1e')](_0x1cd8d1);}};}function respondWithFilteredResult(_0x60120a,_0x55cb0a){return function(_0x4bd3f1){if(_0x4bd3f1){var _0xbeeee2=_0x4bd3f1[_0x3dab('0x1f')],_0x2e9933=_0x55cb0a['offset'],_0x173cdc=_0x55cb0a[_0x3dab('0x20')]+_0x55cb0a[_0x3dab('0x21')],_0x367942;if(_0x173cdc>=_0xbeeee2){_0x173cdc=_0xbeeee2;_0x367942=0xc8;}else{_0x367942=0xce;}_0x60120a['status'](_0x367942);return _0x60120a[_0x3dab('0x22')](_0x3dab('0x23'),_0x2e9933+'-'+_0x173cdc+'/'+_0xbeeee2)[_0x3dab('0x1e')](_0x4bd3f1);}return null;};}function patchUpdates(_0xbbcc06){return function(_0x59d00d){try{jsonpatch[_0x3dab('0x24')](_0x59d00d,_0xbbcc06,!![]);}catch(_0x4111e8){return BPromise[_0x3dab('0x25')](_0x4111e8);}return _0x59d00d[_0x3dab('0x26')]();};}function saveUpdates(_0x2e4b09,_0x220247){return function(_0x88dd2c){if(_0x88dd2c){return _0x88dd2c[_0x3dab('0x27')](_0x2e4b09)[_0x3dab('0x28')](function(_0x4ae9ee){return _0x4ae9ee;});}return null;};}function removeEntity(_0x29d21a,_0x558467){return function(_0x1ea5a0){if(_0x1ea5a0){return _0x1ea5a0[_0x3dab('0x29')]()[_0x3dab('0x28')](function(){var _0x227c86=_0x1ea5a0[_0x3dab('0x2a')]({'plain':!![]});var _0x1cf209='CustomReports';return db['UserProfileResource'][_0x3dab('0x29')]({'where':{'type':_0x1cf209,'resourceId':_0x227c86['id']}})[_0x3dab('0x28')](function(){return _0x1ea5a0;});})['then'](function(){_0x29d21a[_0x3dab('0x1c')](0xcc)[_0x3dab('0x1d')]();});}};}function handleEntityNotFound(_0x240c59,_0x151806){return function(_0x5acc7b){if(!_0x5acc7b){_0x240c59[_0x3dab('0x1b')](0x194);}return _0x5acc7b;};}function handleError(_0x4999c4,_0x803cc1){_0x803cc1=_0x803cc1||0x1f4;return function(_0x1ed38d){logger[_0x3dab('0x2b')](_0x1ed38d[_0x3dab('0x2c')]);if(_0x1ed38d['name']){delete _0x1ed38d['name'];}_0x4999c4[_0x3dab('0x1c')](_0x803cc1)['send'](_0x1ed38d);};}exports['index']=function(_0x5b6026,_0x56b1d6){var _0x28634a={},_0x299de6={},_0x5363ad={'count':0x0,'rows':[]};var _0x42c7e3=_[_0x3dab('0x2d')](db[_0x3dab('0x2e')][_0x3dab('0x2f')],function(_0x9d2420){return{'name':_0x9d2420[_0x3dab('0x30')],'type':_0x9d2420[_0x3dab('0x31')][_0x3dab('0x32')]};});_0x299de6[_0x3dab('0x33')]=_[_0x3dab('0x2d')](_0x42c7e3,_0x3dab('0x34'));_0x299de6[_0x3dab('0x35')]=_[_0x3dab('0x36')](_0x5b6026[_0x3dab('0x35')]);_0x299de6[_0x3dab('0x37')]=_[_0x3dab('0x38')](_0x299de6[_0x3dab('0x33')],_0x299de6['query']);_0x28634a['attributes']=_[_0x3dab('0x38')](_0x299de6['model'],qs[_0x3dab('0x39')](_0x5b6026[_0x3dab('0x35')]['fields']));_0x28634a[_0x3dab('0x3a')]=_0x28634a[_0x3dab('0x3a')][_0x3dab('0x3b')]?_0x28634a[_0x3dab('0x3a')]:_0x299de6['model'];if(!_0x5b6026['query'][_0x3dab('0x3c')]('nolimit')){_0x28634a[_0x3dab('0x21')]=qs[_0x3dab('0x21')](_0x5b6026[_0x3dab('0x35')]['limit']);_0x28634a['offset']=qs[_0x3dab('0x20')](_0x5b6026[_0x3dab('0x35')][_0x3dab('0x20')]);}_0x28634a['order']=qs[_0x3dab('0x3d')](_0x5b6026[_0x3dab('0x35')][_0x3dab('0x3d')]);_0x28634a[_0x3dab('0x3e')]=qs[_0x3dab('0x37')](_['pick'](_0x5b6026[_0x3dab('0x35')],_0x299de6[_0x3dab('0x37')]),_0x42c7e3);if(_0x5b6026[_0x3dab('0x35')][_0x3dab('0x3f')]){_0x28634a[_0x3dab('0x3e')]=_[_0x3dab('0x40')](_0x28634a[_0x3dab('0x3e')],{'$or':_['map'](_0x42c7e3,function(_0xe1424a){if(_0xe1424a[_0x3dab('0x31')]!==_0x3dab('0x41')){var _0x54441b={};_0x54441b[_0xe1424a['name']]={'$like':'%'+_0x5b6026[_0x3dab('0x35')][_0x3dab('0x3f')]+'%'};return _0x54441b;}})});}_0x28634a=_[_0x3dab('0x40')]({},_0x28634a,_0x5b6026[_0x3dab('0x42')]);var _0x5a201a={'where':_0x28634a[_0x3dab('0x3e')]};return db[_0x3dab('0x2e')][_0x3dab('0x1f')](_0x5a201a)[_0x3dab('0x28')](function(_0x23b4fe){_0x5363ad[_0x3dab('0x1f')]=_0x23b4fe;if(_0x5b6026['query'][_0x3dab('0x43')]){_0x28634a['include']=[{'all':!![]}];}return db['AnalyticCustomReport'][_0x3dab('0x44')](_0x28634a);})['then'](function(_0x16222e){_0x5363ad[_0x3dab('0x45')]=_0x16222e;return _0x5363ad;})[_0x3dab('0x28')](respondWithFilteredResult(_0x56b1d6,_0x28634a))['catch'](handleError(_0x56b1d6,null));};exports[_0x3dab('0x46')]=function(_0x1974db,_0x407998){var _0x2dba1d={'raw':![],'where':{'id':_0x1974db[_0x3dab('0x47')]['id']}},_0xedf80f={};_0xedf80f[_0x3dab('0x33')]=_['keys'](db[_0x3dab('0x2e')]['rawAttributes']);_0xedf80f[_0x3dab('0x35')]=_[_0x3dab('0x36')](_0x1974db[_0x3dab('0x35')]);_0xedf80f['filters']=_[_0x3dab('0x38')](_0xedf80f[_0x3dab('0x33')],_0xedf80f['query']);_0x2dba1d['attributes']=_[_0x3dab('0x38')](_0xedf80f[_0x3dab('0x33')],qs[_0x3dab('0x39')](_0x1974db[_0x3dab('0x35')][_0x3dab('0x39')]));_0x2dba1d[_0x3dab('0x3a')]=_0x2dba1d[_0x3dab('0x3a')][_0x3dab('0x3b')]?_0x2dba1d[_0x3dab('0x3a')]:_0xedf80f['model'];if(_0x1974db['query']['includeAll']){_0x2dba1d[_0x3dab('0x48')]=[{'all':!![]}];}_0x2dba1d=_[_0x3dab('0x40')]({},_0x2dba1d,_0x1974db['options']);return db[_0x3dab('0x2e')][_0x3dab('0x49')](_0x2dba1d)[_0x3dab('0x28')](handleEntityNotFound(_0x407998,null))[_0x3dab('0x28')](respondWithResult(_0x407998,null))[_0x3dab('0x4a')](handleError(_0x407998,null));};exports[_0x3dab('0x4b')]=function(_0x4c2b07,_0x36fe74){return db['AnalyticCustomReport'][_0x3dab('0x4b')](_0x4c2b07[_0x3dab('0x4c')],{})[_0x3dab('0x28')](function(_0x3d6844){var _0x5afba8=_0x4c2b07[_0x3dab('0x4d')][_0x3dab('0x2a')]({'plain':!![]});if(!_0x5afba8)throw new Error(_0x3dab('0x4e'));if(_0x5afba8[_0x3dab('0x4f')]==='user'){var _0x3f2cf1=_0x3d6844[_0x3dab('0x2a')]({'plain':!![]});var _0x94d3de=_0x3dab('0x50');return db[_0x3dab('0x51')]['find']({'where':{'name':_0x94d3de,'userProfileId':_0x5afba8[_0x3dab('0x52')]},'raw':!![]})['then'](function(_0xb0657d){if(_0xb0657d&&_0xb0657d[_0x3dab('0x53')]===0x0){return db[_0x3dab('0x54')]['create']({'name':_0x3f2cf1['name'],'resourceId':_0x3f2cf1['id'],'type':_0x3dab('0x55'),'sectionId':_0xb0657d['id']},{})[_0x3dab('0x28')](function(){return _0x3d6844;});}else{return _0x3d6844;}})[_0x3dab('0x4a')](function(_0x20f7c7){logger['error'](_0x3dab('0x56'),_0x20f7c7);throw _0x20f7c7;});}return _0x3d6844;})[_0x3dab('0x28')](respondWithResult(_0x36fe74,0xc9))[_0x3dab('0x4a')](handleError(_0x36fe74,null));};exports[_0x3dab('0x27')]=function(_0x5a14cf,_0x543080){if(_0x5a14cf['body']['id']){delete _0x5a14cf[_0x3dab('0x4c')]['id'];}return db[_0x3dab('0x2e')][_0x3dab('0x49')]({'where':{'id':_0x5a14cf[_0x3dab('0x47')]['id']}})[_0x3dab('0x28')](handleEntityNotFound(_0x543080,null))['then'](saveUpdates(_0x5a14cf[_0x3dab('0x4c')],null))[_0x3dab('0x28')](respondWithResult(_0x543080,null))[_0x3dab('0x4a')](handleError(_0x543080,null));};exports[_0x3dab('0x29')]=function(_0xc7dad3,_0x5a9bdd){return db['AnalyticCustomReport']['find']({'where':{'id':_0xc7dad3[_0x3dab('0x47')]['id']}})[_0x3dab('0x28')](handleEntityNotFound(_0x5a9bdd,null))[_0x3dab('0x28')](removeEntity(_0x5a9bdd,null))['catch'](handleError(_0x5a9bdd,null));};exports[_0x3dab('0x57')]=function(_0x1c168d,_0x54a31c){var _0x297d5b=0xa;var _0x9aca1b=['join',_0x3dab('0x58'),'right_join','cross_join'];var _0x2e468b={'SUM':'SUM(%s)','COUNT':_0x3dab('0x59'),'COUNT DISTINCT':_0x3dab('0x5a'),'MAX':_0x3dab('0x5b'),'MIN':_0x3dab('0x5c'),'AVG':_0x3dab('0x5d'),'GROUP_CONCAT':_0x3dab('0x5e'),'GROUP_CONCAT ASC':_0x3dab('0x5f'),'GROUP_CONCAT DESC':_0x3dab('0x60')};var _0x54d1b6={'SEC_TO_TIME':_0x3dab('0x61'),'DATE':_0x3dab('0x62'),'HOUR':_0x3dab('0x63'),'ROUND':_0x3dab('0x64'),'UNIX_TIMESTAMP':_0x3dab('0x65')};var _0x155af1=function(_0x23b5a){return!_[_0x3dab('0x66')]([_0x3dab('0x67'),_0x3dab('0x68'),_0x3dab('0x69'),_0x3dab('0x6a')],_0x23b5a);};var _0x219d51=function(_0x14fbf0){if(!_0x14fbf0||!_0x14fbf0[_0x3dab('0x6b')][_0x3dab('0x3b')]){return'';}for(var _0x3650fd='(',_0x5df44b=0x0;_0x5df44b<_0x14fbf0[_0x3dab('0x6b')][_0x3dab('0x3b')];_0x5df44b+=0x1){_0x5df44b>0x0&&(_0x3650fd+='\x20'+_0x14fbf0[_0x3dab('0x6c')]+'\x20');_0x3650fd+=_0x14fbf0['rules'][_0x5df44b]['group']?_0x219d51(_0x14fbf0[_0x3dab('0x6b')][_0x5df44b][_0x3dab('0x6d')]):_0x14fbf0[_0x3dab('0x6b')][_0x5df44b][_0x3dab('0x6e')]+'\x20'+_0x14fbf0[_0x3dab('0x6b')][_0x5df44b][_0x3dab('0x6f')]+(_0x155af1(_0x14fbf0[_0x3dab('0x6b')][_0x5df44b][_0x3dab('0x6f')])?'\x20'+_0x14fbf0[_0x3dab('0x6b')][_0x5df44b][_0x3dab('0x70')]:'');}return _0x3650fd+')';};var _0x345edb={'where':{'id':_0x1c168d[_0x3dab('0x47')]['id']}},_0x272d20,_0x1b02e5,_0x4701aa,_0x234b84,_0x42d400;_0x345edb=_['merge']({},_0x345edb,_0x1c168d['options']);return db[_0x3dab('0x2e')]['find'](_0x345edb)[_0x3dab('0x28')](function(_0x7dedb3){if(_0x7dedb3){_0x272d20=_0x7dedb3;return _0x7dedb3['getFields']();}return null;})[_0x3dab('0x28')](function(_0x3d28ab){if(_0x3d28ab){if(!_0x3d28ab[_0x3dab('0x3b')]){throw new db['Sequelize'][(_0x3dab('0x71'))](_0x3dab('0x72'),0x193);}_0x1b02e5=_0x3d28ab;return db['AnalyticMetric'][_0x3dab('0x44')]({'raw':!![]});}return null;})[_0x3dab('0x28')](function(_0x5d34e1){if(_0x5d34e1){_0x4701aa=_[_0x3dab('0x73')](_0x5d34e1,'id');var _0x184cce;var _0x3524c8=squel['select']();_0x3524c8['from'](_0x272d20[_0x3dab('0x74')]);for(var _0xe5ee0=0x0;_0xe5ee0<_0x1b02e5[_0x3dab('0x3b')];_0xe5ee0+=0x1){_0x184cce=_0x1b02e5[_0xe5ee0][_0x3dab('0x75')]?_0x4701aa[_0x1b02e5[_0xe5ee0][_0x3dab('0x75')]][_0x3dab('0x76')]:_0x1b02e5[_0xe5ee0][_0x3dab('0x6e')];_0x184cce=_0x1b02e5[_0xe5ee0][_0x3dab('0x77')]?_['replace'](_0x2e468b[_0x1b02e5[_0xe5ee0]['function']],'%s',_0x184cce):_0x184cce;_0x184cce=_0x1b02e5[_0xe5ee0]['format']?_[_0x3dab('0x78')](_0x54d1b6[_0x1b02e5[_0xe5ee0]['format']],'%s',_0x184cce):_0x184cce;if(_0x1b02e5[_0xe5ee0]['groupBy']){_0x3524c8[_0x3dab('0x6d')](_0x184cce);}_0x1b02e5[_0xe5ee0][_0x3dab('0x79')]&&_0x3524c8[_0x3dab('0x7a')](_0x184cce,_0x1b02e5[_0xe5ee0][_0x3dab('0x79')]===_0x3dab('0x7b')?![]:!![]);_0x3524c8[_0x3dab('0x6e')](_0x184cce,_0x1b02e5[_0xe5ee0][_0x3dab('0x7c')]||_0x184cce);}if(_0x272d20[_0x3dab('0x7d')]){_0x272d20[_0x3dab('0x7d')]=JSON['parse'](_0x272d20['joins']);for(var _0x41c705=0x0;_0x41c705<_0x272d20[_0x3dab('0x7d')][_0x3dab('0x3b')];_0x41c705+=0x1){if(_0x272d20[_0x3dab('0x7d')][_0x41c705][_0x3dab('0x31')]&&_[_0x3dab('0x66')](_0x9aca1b,_0x272d20[_0x3dab('0x7d')][_0x41c705][_0x3dab('0x31')])&&_0x272d20[_0x3dab('0x7d')][_0x41c705][_0x3dab('0x7e')]&&_0x272d20[_0x3dab('0x7d')][_0x41c705][_0x3dab('0x7f')]&&_0x272d20[_0x3dab('0x7d')][_0x41c705]['foreignKey']){_0x3524c8[_0x272d20[_0x3dab('0x7d')][_0x41c705][_0x3dab('0x31')]](_0x272d20['joins'][_0x41c705][_0x3dab('0x7f')],null,util[_0x3dab('0x80')]('%s.%s\x20=\x20%s.%s',_0x272d20['table'],_0x272d20[_0x3dab('0x7d')][_0x41c705]['parentKey'],_0x272d20[_0x3dab('0x7d')][_0x41c705][_0x3dab('0x7f')],_0x272d20['joins'][_0x41c705][_0x3dab('0x81')]));}}}if(_0x272d20[_0x3dab('0x82')]){_0x272d20['conditions']=JSON['parse'](_0x272d20[_0x3dab('0x82')]);_0x3524c8[_0x3dab('0x3e')](_0x219d51(_0x272d20[_0x3dab('0x82')][_0x3dab('0x6d')]));}_0x42d400=_0x3524c8['clone']();_0x3524c8[_0x3dab('0x21')](_0x297d5b);_0x3524c8[_0x3dab('0x20')](0x0);logger['debug']('Limited\x20Query:',_0x3524c8[_0x3dab('0x83')]());return dbH[_0x3dab('0x84')][_0x3dab('0x35')](_0x3524c8[_0x3dab('0x83')](),{'type':dbH[_0x3dab('0x84')][_0x3dab('0x85')][_0x3dab('0x86')]});}})[_0x3dab('0x28')](respondWithResult(_0x54a31c,null))[_0x3dab('0x4a')](handleError(_0x54a31c,null));};function runReport(_0x9e50d1,_0x1b380b,_0x59d35d){var _0x46e0da=_0x1b380b['name'];var _0x12359a=0xa;var _0x2b6d86=[_0x3dab('0x87'),'left_join','right_join',_0x3dab('0x88')];var _0xfabfd0={'SUM':_0x3dab('0x89'),'COUNT':'COUNT(%s)','COUNT DISTINCT':_0x3dab('0x5a'),'MAX':_0x3dab('0x5b'),'MIN':_0x3dab('0x5c'),'AVG':_0x3dab('0x5d'),'GROUP_CONCAT':_0x3dab('0x5e'),'GROUP_CONCAT ASC':_0x3dab('0x5f'),'GROUP_CONCAT DESC':_0x3dab('0x60')};var _0x64f908={'SEC_TO_TIME':'SEC_TO_TIME(%s)','DATE':'DATE(%s)','HOUR':_0x3dab('0x63'),'ROUND':'ROUND(%s)','UNIX_TIMESTAMP':_0x3dab('0x65')};var _0x59e076=function(_0x46b853){return!_['includes']([_0x3dab('0x67'),_0x3dab('0x68'),_0x3dab('0x69'),_0x3dab('0x6a')],_0x46b853);};var _0x20bdff=function(_0x561e45){if(!_0x561e45||!_0x561e45[_0x3dab('0x6b')][_0x3dab('0x3b')]){return'';}for(var _0x515894='(',_0x5360ba=0x0;_0x5360ba<_0x561e45[_0x3dab('0x6b')]['length'];_0x5360ba+=0x1){_0x5360ba>0x0&&(_0x515894+='\x20'+_0x561e45[_0x3dab('0x6c')]+'\x20');_0x515894+=_0x561e45[_0x3dab('0x6b')][_0x5360ba][_0x3dab('0x6d')]?_0x20bdff(_0x561e45[_0x3dab('0x6b')][_0x5360ba][_0x3dab('0x6d')]):_0x561e45[_0x3dab('0x6b')][_0x5360ba][_0x3dab('0x6e')]+'\x20'+_0x561e45[_0x3dab('0x6b')][_0x5360ba][_0x3dab('0x6f')]+(_0x59e076(_0x561e45['rules'][_0x5360ba]['condition'])?'\x20'+_0x561e45[_0x3dab('0x6b')][_0x5360ba][_0x3dab('0x70')]:'');}return _0x515894+')';};var _0x233e6a={'where':{'id':_0x9e50d1['id']}},_0x2b9ec7,_0x43efa2,_0x56646a,_0x56871f,_0x14a78a;_0x233e6a=_['merge']({},_0x233e6a,_0x59d35d);return db[_0x3dab('0x2e')]['find'](_0x233e6a)[_0x3dab('0x28')](function(_0x2a5c4c){if(_0x2a5c4c){_0x2b9ec7=_0x2a5c4c;return _0x2a5c4c[_0x3dab('0x8a')]();}return null;})['then'](function(_0x322946){if(_0x322946){if(!_0x322946[_0x3dab('0x3b')]){throw new db[(_0x3dab('0x8b'))][(_0x3dab('0x71'))]('Please\x20insert\x20at\x20least\x20one\x20field',0x193);}_0x43efa2=_0x322946;return db[_0x3dab('0x8c')][_0x3dab('0x44')]({'raw':!![]});}return null;})['then'](function(_0x3f379b){if(_0x3f379b){_0x56646a=_[_0x3dab('0x73')](_0x3f379b,'id');var _0x4191fc;var _0x3422dc=squel[_0x3dab('0x8d')]();_0x3422dc[_0x3dab('0x8e')](_0x2b9ec7['table']);for(var _0x5ccef5=0x0;_0x5ccef5<_0x43efa2[_0x3dab('0x3b')];_0x5ccef5+=0x1){_0x4191fc=_0x43efa2[_0x5ccef5][_0x3dab('0x75')]?_0x56646a[_0x43efa2[_0x5ccef5][_0x3dab('0x75')]][_0x3dab('0x76')]:_0x43efa2[_0x5ccef5]['field'];_0x4191fc=_0x43efa2[_0x5ccef5][_0x3dab('0x77')]?_[_0x3dab('0x78')](_0xfabfd0[_0x43efa2[_0x5ccef5][_0x3dab('0x77')]],'%s',_0x4191fc):_0x4191fc;_0x4191fc=_0x43efa2[_0x5ccef5][_0x3dab('0x80')]?_[_0x3dab('0x78')](_0x64f908[_0x43efa2[_0x5ccef5]['format']],'%s',_0x4191fc):_0x4191fc;if(_0x43efa2[_0x5ccef5][_0x3dab('0x8f')]){_0x3422dc['group'](_0x4191fc);}_0x43efa2[_0x5ccef5][_0x3dab('0x79')]&&_0x3422dc['order'](_0x4191fc,_0x43efa2[_0x5ccef5][_0x3dab('0x79')]==='DESC'?![]:!![]);_0x3422dc[_0x3dab('0x6e')](_0x4191fc,_0x43efa2[_0x5ccef5]['alias']||_0x4191fc);}if(_0x2b9ec7['joins']){_0x2b9ec7[_0x3dab('0x7d')]=JSON[_0x3dab('0x90')](_0x2b9ec7[_0x3dab('0x7d')]);for(var _0x101eb3=0x0;_0x101eb3<_0x2b9ec7[_0x3dab('0x7d')]['length'];_0x101eb3+=0x1){if(_0x2b9ec7['joins'][_0x101eb3][_0x3dab('0x31')]&&_[_0x3dab('0x66')](_0x2b6d86,_0x2b9ec7[_0x3dab('0x7d')][_0x101eb3][_0x3dab('0x31')])&&_0x2b9ec7[_0x3dab('0x7d')][_0x101eb3][_0x3dab('0x7e')]&&_0x2b9ec7[_0x3dab('0x7d')][_0x101eb3][_0x3dab('0x7f')]&&_0x2b9ec7[_0x3dab('0x7d')][_0x101eb3][_0x3dab('0x81')]){_0x3422dc[_0x2b9ec7[_0x3dab('0x7d')][_0x101eb3][_0x3dab('0x31')]](_0x2b9ec7[_0x3dab('0x7d')][_0x101eb3]['foreignTable'],null,util[_0x3dab('0x80')](_0x3dab('0x91'),_0x2b9ec7[_0x3dab('0x74')],_0x2b9ec7['joins'][_0x101eb3][_0x3dab('0x7e')],_0x2b9ec7['joins'][_0x101eb3][_0x3dab('0x7f')],_0x2b9ec7[_0x3dab('0x7d')][_0x101eb3]['foreignKey']));}}}if(_0x2b9ec7[_0x3dab('0x82')]){_0x2b9ec7[_0x3dab('0x82')]=JSON[_0x3dab('0x90')](_0x2b9ec7[_0x3dab('0x82')]);_0x3422dc[_0x3dab('0x3e')](_0x20bdff(_0x2b9ec7[_0x3dab('0x82')]['group']));}_0x14a78a=_0x3422dc[_0x3dab('0x92')]();_0x3422dc['limit'](_0x12359a);_0x3422dc[_0x3dab('0x20')](0x0);return;}})[_0x3dab('0x28')](function(){if(_0x1b380b[_0x3dab('0x93')]===_0x3dab('0x94')){return null;}var _0x1f2d8b=_[_0x3dab('0x40')](_0x1b380b,{'name':_0x1b380b['fullPath']||_0x1b380b[_0x3dab('0x34')]||_0x2b9ec7[_0x3dab('0x34')],'basename':_0x46e0da,'savename':util[_0x3dab('0x80')](_0x3dab('0x95'),_0x1b380b[_0x3dab('0x34')]||_0x2b9ec7[_0x3dab('0x34')],require(_0x3dab('0x96'))[_0x3dab('0x97')](0x4),_0x1b380b[_0x3dab('0x93')]||_0x3dab('0x98')),'reportId':_0x2b9ec7['id'],'reportType':_0x3dab('0x99')});return db[_0x3dab('0x9a')][_0x3dab('0x4b')](_0x1f2d8b,{'raw':!![]});})[_0x3dab('0x28')](function(_0x12d728){if(_0x2b9ec7[_0x3dab('0x74')]===_0x3dab('0x9b')){_0x14a78a['where'](_0x2b9ec7[_0x3dab('0x74')]+'.calldate\x20BETWEEN\x20?\x20AND\x20?',_0x1b380b[_0x3dab('0x9c')],_0x1b380b['endDate']);}else{_0x14a78a['where'](_0x2b9ec7[_0x3dab('0x74')]+_0x3dab('0x9d'),_0x1b380b[_0x3dab('0x9c')],_0x1b380b['endDate']);}if(_0x12d728){logger[_0x3dab('0x9e')](_0x3dab('0x9f'),_0x14a78a[_0x3dab('0x83')]());require('child_process')['fork'](path['join'](__dirname,_0x3dab('0xa0'),_0x12d728[_0x3dab('0x93')]),[_0x12d728['id'],_0x14a78a[_0x3dab('0x83')](),path[_0x3dab('0x87')](__dirname,_0x3dab('0xa1'),_0x12d728[_0x3dab('0xa2')]),_0x46e0da]);return _0x12d728;}else{var _0x5c0b55=squel['select']();_0x5c0b55[_0x3dab('0x8e')]('('+_0x14a78a['toString']()+')',_0x3dab('0xa3'));_0x5c0b55[_0x3dab('0x6e')](_0x3dab('0xa4'),_0x3dab('0x1f'));_0x14a78a[_0x3dab('0x21')](_0x1b380b['limit']||_0x12359a);_0x14a78a[_0x3dab('0x20')](_0x1b380b['offset']||0x0);return dbH[_0x3dab('0x84')]['query'](_0x5c0b55['toString'](),{'type':dbH[_0x3dab('0x84')]['QueryTypes'][_0x3dab('0x86')]})[_0x3dab('0x28')](function(_0x2018a1){if(!_0x2018a1[_0x3dab('0x3b')]){_0x56871f=0x0;}else{_0x56871f=_0x2018a1[0x0]['count']||0x0;}return dbH['sequelize'][_0x3dab('0x35')](_0x14a78a[_0x3dab('0x83')](),{'type':dbH['sequelize']['QueryTypes'][_0x3dab('0x86')]});})[_0x3dab('0x28')](function(_0x18e6f6){return{'rows':_0x18e6f6||[],'count':_0x56871f};});}});}exports['run']=function(_0x6af80a,_0x4f969b){return runReport(_0x6af80a[_0x3dab('0x47')],_0x6af80a[_0x3dab('0x35')],_0x6af80a[_0x3dab('0x42')])[_0x3dab('0x28')](respondWithResult(_0x4f969b,null))[_0x3dab('0x4a')](handleError(_0x4f969b,null));};exports['runReport']=runReport;exports['query']=function(_0xe7e3cb,_0x3d7436){var _0x52d194=0xa;var _0x561928=[_0x3dab('0x87'),_0x3dab('0x58'),_0x3dab('0xa5'),_0x3dab('0x88')];var _0x162005={'SUM':_0x3dab('0x89'),'COUNT':_0x3dab('0x59'),'COUNT DISTINCT':_0x3dab('0x5a'),'MAX':_0x3dab('0x5b'),'MIN':_0x3dab('0x5c'),'AVG':_0x3dab('0x5d'),'GROUP_CONCAT':_0x3dab('0x5e'),'GROUP_CONCAT ASC':_0x3dab('0x5f'),'GROUP_CONCAT DESC':_0x3dab('0x60')};var _0x10b1f2={'SEC_TO_TIME':_0x3dab('0x61'),'DATE':'DATE(%s)','HOUR':_0x3dab('0x63'),'ROUND':_0x3dab('0x64'),'UNIX_TIMESTAMP':_0x3dab('0x65')};var _0xc8b4fd=function(_0x130fa5){return!_[_0x3dab('0x66')]([_0x3dab('0x67'),_0x3dab('0x68'),_0x3dab('0x69'),_0x3dab('0x6a')],_0x130fa5);};var _0x4d7925=function(_0x5d0cbb){if(!_0x5d0cbb||!_0x5d0cbb[_0x3dab('0x6b')]['length']){return'';}for(var _0x4ba3fc='(',_0x52ece8=0x0;_0x52ece8<_0x5d0cbb[_0x3dab('0x6b')][_0x3dab('0x3b')];_0x52ece8+=0x1){_0x52ece8>0x0&&(_0x4ba3fc+='\x20'+_0x5d0cbb[_0x3dab('0x6c')]+'\x20');_0x4ba3fc+=_0x5d0cbb[_0x3dab('0x6b')][_0x52ece8][_0x3dab('0x6d')]?_0x4d7925(_0x5d0cbb[_0x3dab('0x6b')][_0x52ece8][_0x3dab('0x6d')]):_0x5d0cbb['rules'][_0x52ece8][_0x3dab('0x6e')]+'\x20'+_0x5d0cbb[_0x3dab('0x6b')][_0x52ece8][_0x3dab('0x6f')]+(_0xc8b4fd(_0x5d0cbb[_0x3dab('0x6b')][_0x52ece8][_0x3dab('0x6f')])?'\x20'+_0x5d0cbb['rules'][_0x52ece8][_0x3dab('0x70')]:'');}return _0x4ba3fc+')';};var _0x3bf241={'where':{'id':_0xe7e3cb[_0x3dab('0x47')]['id']}},_0x17a25a,_0x5b6607,_0x2f7eb4,_0x1a047d,_0x1d59f6;_0x3bf241=_[_0x3dab('0x40')]({},_0x3bf241,_0xe7e3cb[_0x3dab('0x42')]);return db[_0x3dab('0x2e')][_0x3dab('0x49')](_0x3bf241)[_0x3dab('0x28')](function(_0x1c7df6){if(_0x1c7df6){_0x17a25a=_0x1c7df6;return _0x1c7df6[_0x3dab('0x8a')]();}return null;})[_0x3dab('0x28')](function(_0xa6d9e8){if(_0xa6d9e8){if(!_0xa6d9e8['length']){throw new db[(_0x3dab('0x8b'))]['ValidationErrorItem'](_0x3dab('0x72'),0x193);}_0x5b6607=_0xa6d9e8;return db[_0x3dab('0x8c')][_0x3dab('0x44')]({'raw':!![]});}return null;})[_0x3dab('0x28')](function(_0x433ae9){if(_0x433ae9){_0x2f7eb4=_[_0x3dab('0x73')](_0x433ae9,'id');var _0x4d2b5e;var _0x37000d=squel[_0x3dab('0x8d')]();_0x37000d[_0x3dab('0x8e')](_0x17a25a['table']);for(var _0x46e175=0x0;_0x46e175<_0x5b6607['length'];_0x46e175+=0x1){_0x4d2b5e=_0x5b6607[_0x46e175][_0x3dab('0x75')]?_0x2f7eb4[_0x5b6607[_0x46e175]['MetricId']]['metric']:_0x5b6607[_0x46e175]['field'];_0x4d2b5e=_0x5b6607[_0x46e175][_0x3dab('0x77')]?_['replace'](_0x162005[_0x5b6607[_0x46e175][_0x3dab('0x77')]],'%s',_0x4d2b5e):_0x4d2b5e;_0x4d2b5e=_0x5b6607[_0x46e175][_0x3dab('0x80')]?_['replace'](_0x10b1f2[_0x5b6607[_0x46e175]['format']],'%s',_0x4d2b5e):_0x4d2b5e;if(_0x5b6607[_0x46e175][_0x3dab('0x8f')]){_0x37000d[_0x3dab('0x6d')](_0x4d2b5e);}_0x5b6607[_0x46e175][_0x3dab('0x79')]&&_0x37000d[_0x3dab('0x7a')](_0x4d2b5e,_0x5b6607[_0x46e175][_0x3dab('0x79')]===_0x3dab('0x7b')?![]:!![]);_0x37000d[_0x3dab('0x6e')](_0x4d2b5e,_0x5b6607[_0x46e175][_0x3dab('0x7c')]||_0x4d2b5e);}if(_0x17a25a[_0x3dab('0x7d')]){_0x17a25a[_0x3dab('0x7d')]=JSON['parse'](_0x17a25a[_0x3dab('0x7d')]);for(var _0x1a7975=0x0;_0x1a7975<_0x17a25a[_0x3dab('0x7d')][_0x3dab('0x3b')];_0x1a7975+=0x1){if(_0x17a25a['joins'][_0x1a7975][_0x3dab('0x31')]&&_['includes'](_0x561928,_0x17a25a[_0x3dab('0x7d')][_0x1a7975][_0x3dab('0x31')])&&_0x17a25a[_0x3dab('0x7d')][_0x1a7975]['parentKey']&&_0x17a25a[_0x3dab('0x7d')][_0x1a7975][_0x3dab('0x7f')]&&_0x17a25a[_0x3dab('0x7d')][_0x1a7975][_0x3dab('0x81')]){_0x37000d[_0x17a25a['joins'][_0x1a7975][_0x3dab('0x31')]](_0x17a25a['joins'][_0x1a7975][_0x3dab('0x7f')],null,util[_0x3dab('0x80')](_0x3dab('0x91'),_0x17a25a[_0x3dab('0x74')],_0x17a25a[_0x3dab('0x7d')][_0x1a7975][_0x3dab('0x7e')],_0x17a25a[_0x3dab('0x7d')][_0x1a7975][_0x3dab('0x7f')],_0x17a25a[_0x3dab('0x7d')][_0x1a7975][_0x3dab('0x81')]));}}}if(_0x17a25a[_0x3dab('0x82')]){_0x17a25a['conditions']=JSON['parse'](_0x17a25a[_0x3dab('0x82')]);_0x37000d[_0x3dab('0x3e')](_0x4d7925(_0x17a25a[_0x3dab('0x82')][_0x3dab('0x6d')]));}_0x1d59f6=_0x37000d[_0x3dab('0x92')]();_0x37000d['limit'](_0x52d194);_0x37000d[_0x3dab('0x20')](0x0);logger[_0x3dab('0xa6')](_0x3dab('0xa7'),_0x37000d[_0x3dab('0x83')]());return dbH[_0x3dab('0x84')][_0x3dab('0x35')](_0x37000d[_0x3dab('0x83')](),{'type':dbH[_0x3dab('0x84')]['QueryTypes'][_0x3dab('0x86')]});}})[_0x3dab('0x28')](function(){return{'sql':_0x1d59f6['toString']()};})['then'](respondWithResult(_0x3d7436,null))[_0x3dab('0x4a')](handleError(_0x3d7436,null));};