Built motion from commit b0a9a629.|2.6.33
[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 _0x52ad=['select','from','MetricId','metric','function','replace','format','groupBy','orderBy','order','alias','parse','joins','type','parentKey','foreignTable','table','conditions','clone','debug','Limited\x20Query:','toString','sequelize','QueryTypes','SELECT','left_join','getFields','%s.%s\x20=\x20%s.%s','foreignKey','output','web','%s-%s.%s','randomstring','csv','custom','AnalyticExtractedReport','cdr','startDate','.createdAt\x20BETWEEN\x20?\x20AND\x20?','info','Run\x20Query:','child_process','../../components/export/','../../files/reports','savename','countTable','COUNT(*)','DESC','zip-dir','request-promise','moment','bluebird','util','sox','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/license/util','../../mysqldb','sendStatus','status','end','json','undefined','count','offset','set','apply','save','update','then','destroy','CustomReports','UserProfileResource','error','stack','name','send','index','map','rawAttributes','fieldName','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','sort','where','filters','pick','merge','filter','options','AnalyticCustomReport','includeAll','include','findAll','rows','catch','show','params','find','create','body','user','get','role','UserProfileSection','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','preview','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\x20ASC)','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','value','Sequelize','ValidationErrorItem','Please\x20insert\x20at\x20least\x20one\x20field','AnalyticMetric','keyBy'];(function(_0x2a7c64,_0x426002){var _0x282583=function(_0x2e7326){while(--_0x2e7326){_0x2a7c64['push'](_0x2a7c64['shift']());}};_0x282583(++_0x426002);}(_0x52ad,0xd4));var _0xd52a=function(_0x377007,_0x4d6289){_0x377007=_0x377007-0x0;var _0x32458b=_0x52ad[_0x377007];return _0x32458b;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xd52a('0x0'));var jsonpatch=require('fast-json-patch');var rp=require(_0xd52a('0x1'));var moment=require(_0xd52a('0x2'));var BPromise=require(_0xd52a('0x3'));var Mustache=require('mustache');var util=require(_0xd52a('0x4'));var path=require('path');var sox=require(_0xd52a('0x5'));var csv=require(_0xd52a('0x6'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xd52a('0x7'));var _=require(_0xd52a('0x8'));var squel=require(_0xd52a('0x9'));var crypto=require(_0xd52a('0xa'));var jsforce=require(_0xd52a('0xb'));var deskjs=require(_0xd52a('0xc'));var toCsv=require(_0xd52a('0x6'));var querystring=require(_0xd52a('0xd'));var Papa=require(_0xd52a('0xe'));var Redis=require(_0xd52a('0xf'));var authService=require(_0xd52a('0x10'));var qs=require(_0xd52a('0x11'));var as=require(_0xd52a('0x12'));var hardwareService=require(_0xd52a('0x13'));var logger=require(_0xd52a('0x14'))(_0xd52a('0x15'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0xd52a('0x16'));var db=require(_0xd52a('0x17'))['db'];var dbH=require(_0xd52a('0x17'))['dbH'];function respondWithStatusCode(_0x27cf1c,_0x4e5687){_0x4e5687=_0x4e5687||0xcc;return function(_0x2ed2e0){if(_0x2ed2e0){return _0x27cf1c[_0xd52a('0x18')](_0x4e5687);}return _0x27cf1c[_0xd52a('0x19')](_0x4e5687)[_0xd52a('0x1a')]();};}function respondWithResult(_0x21ace8,_0x586408){_0x586408=_0x586408||0xc8;return function(_0x522436){if(_0x522436){return _0x21ace8[_0xd52a('0x19')](_0x586408)[_0xd52a('0x1b')](_0x522436);}};}function respondWithFilteredResult(_0x35119b,_0x44b0c5){return function(_0x197f2b){if(_0x197f2b){var _0x47075d=typeof _0x44b0c5['offset']===_0xd52a('0x1c')&&typeof _0x44b0c5['limit']===_0xd52a('0x1c');var _0x50e946=_0x197f2b[_0xd52a('0x1d')];var _0x2f5283=_0x47075d?0x0:_0x44b0c5[_0xd52a('0x1e')];var _0x3f8ce3=_0x47075d?_0x197f2b[_0xd52a('0x1d')]:_0x44b0c5['offset']+_0x44b0c5['limit'];var _0x2124ff;if(_0x3f8ce3>=_0x50e946){_0x3f8ce3=_0x50e946;_0x2124ff=0xc8;}else{_0x2124ff=0xce;}_0x35119b['status'](_0x2124ff);return _0x35119b[_0xd52a('0x1f')]('Content-Range',_0x2f5283+'-'+_0x3f8ce3+'/'+_0x50e946)[_0xd52a('0x1b')](_0x197f2b);}return null;};}function patchUpdates(_0x5642cf){return function(_0x30a144){try{jsonpatch[_0xd52a('0x20')](_0x30a144,_0x5642cf,!![]);}catch(_0x43a578){return BPromise['reject'](_0x43a578);}return _0x30a144[_0xd52a('0x21')]();};}function saveUpdates(_0x2ffed9,_0x55e9ae){return function(_0x3fcf1e){if(_0x3fcf1e){return _0x3fcf1e[_0xd52a('0x22')](_0x2ffed9)[_0xd52a('0x23')](function(_0x2a781d){return _0x2a781d;});}return null;};}function removeEntity(_0x3d4e37,_0x26d258){return function(_0x2530ed){if(_0x2530ed){return _0x2530ed[_0xd52a('0x24')]()[_0xd52a('0x23')](function(){var _0x42e901=_0x2530ed['get']({'plain':!![]});var _0x1e41e3=_0xd52a('0x25');return db[_0xd52a('0x26')][_0xd52a('0x24')]({'where':{'type':_0x1e41e3,'resourceId':_0x42e901['id']}})[_0xd52a('0x23')](function(){return _0x2530ed;});})[_0xd52a('0x23')](function(){_0x3d4e37[_0xd52a('0x19')](0xcc)[_0xd52a('0x1a')]();});}};}function handleEntityNotFound(_0x1ac9c9,_0xf2e52d){return function(_0x5dacea){if(!_0x5dacea){_0x1ac9c9[_0xd52a('0x18')](0x194);}return _0x5dacea;};}function handleError(_0x51f5ad,_0x46c444){_0x46c444=_0x46c444||0x1f4;return function(_0x41b714){logger[_0xd52a('0x27')](_0x41b714[_0xd52a('0x28')]);if(_0x41b714['name']){delete _0x41b714[_0xd52a('0x29')];}_0x51f5ad[_0xd52a('0x19')](_0x46c444)[_0xd52a('0x2a')](_0x41b714);};}exports[_0xd52a('0x2b')]=function(_0x328bef,_0x21aec8){var _0x1654af={},_0x2200a2={},_0x3aee6d={'count':0x0,'rows':[]};var _0x4b5607=_[_0xd52a('0x2c')](db['AnalyticCustomReport'][_0xd52a('0x2d')],function(_0x228ca1){return{'name':_0x228ca1[_0xd52a('0x2e')],'type':_0x228ca1['type'][_0xd52a('0x2f')]};});_0x2200a2[_0xd52a('0x30')]=_[_0xd52a('0x2c')](_0x4b5607,'name');_0x2200a2[_0xd52a('0x31')]=_[_0xd52a('0x32')](_0x328bef[_0xd52a('0x31')]);_0x2200a2['filters']=_[_0xd52a('0x33')](_0x2200a2[_0xd52a('0x30')],_0x2200a2[_0xd52a('0x31')]);_0x1654af[_0xd52a('0x34')]=_[_0xd52a('0x33')](_0x2200a2[_0xd52a('0x30')],qs[_0xd52a('0x35')](_0x328bef[_0xd52a('0x31')][_0xd52a('0x35')]));_0x1654af[_0xd52a('0x34')]=_0x1654af[_0xd52a('0x34')][_0xd52a('0x36')]?_0x1654af[_0xd52a('0x34')]:_0x2200a2[_0xd52a('0x30')];if(!_0x328bef['query'][_0xd52a('0x37')](_0xd52a('0x38'))){_0x1654af['limit']=qs['limit'](_0x328bef['query'][_0xd52a('0x39')]);_0x1654af[_0xd52a('0x1e')]=qs[_0xd52a('0x1e')](_0x328bef[_0xd52a('0x31')][_0xd52a('0x1e')]);}_0x1654af['order']=qs[_0xd52a('0x3a')](_0x328bef[_0xd52a('0x31')][_0xd52a('0x3a')]);_0x1654af[_0xd52a('0x3b')]=qs[_0xd52a('0x3c')](_[_0xd52a('0x3d')](_0x328bef[_0xd52a('0x31')],_0x2200a2[_0xd52a('0x3c')]),_0x4b5607);if(_0x328bef[_0xd52a('0x31')]['filter']){_0x1654af[_0xd52a('0x3b')]=_[_0xd52a('0x3e')](_0x1654af[_0xd52a('0x3b')],{'$or':_[_0xd52a('0x2c')](_0x4b5607,function(_0x3a62e8){if(_0x3a62e8['type']!=='VIRTUAL'){var _0x1bc0cd={};_0x1bc0cd[_0x3a62e8[_0xd52a('0x29')]]={'$like':'%'+_0x328bef[_0xd52a('0x31')][_0xd52a('0x3f')]+'%'};return _0x1bc0cd;}})});}_0x1654af=_[_0xd52a('0x3e')]({},_0x1654af,_0x328bef[_0xd52a('0x40')]);var _0x51823f={'where':_0x1654af[_0xd52a('0x3b')]};return db[_0xd52a('0x41')][_0xd52a('0x1d')](_0x51823f)[_0xd52a('0x23')](function(_0x549a2f){_0x3aee6d['count']=_0x549a2f;if(_0x328bef[_0xd52a('0x31')][_0xd52a('0x42')]){_0x1654af[_0xd52a('0x43')]=[{'all':!![]}];}return db[_0xd52a('0x41')][_0xd52a('0x44')](_0x1654af);})[_0xd52a('0x23')](function(_0xdd2a62){_0x3aee6d[_0xd52a('0x45')]=_0xdd2a62;return _0x3aee6d;})['then'](respondWithFilteredResult(_0x21aec8,_0x1654af))[_0xd52a('0x46')](handleError(_0x21aec8,null));};exports[_0xd52a('0x47')]=function(_0x309fe7,_0x95f27a){var _0xe6db02={'raw':![],'where':{'id':_0x309fe7[_0xd52a('0x48')]['id']}},_0x1b7880={};_0x1b7880[_0xd52a('0x30')]=_[_0xd52a('0x32')](db[_0xd52a('0x41')][_0xd52a('0x2d')]);_0x1b7880[_0xd52a('0x31')]=_['keys'](_0x309fe7[_0xd52a('0x31')]);_0x1b7880[_0xd52a('0x3c')]=_[_0xd52a('0x33')](_0x1b7880[_0xd52a('0x30')],_0x1b7880[_0xd52a('0x31')]);_0xe6db02['attributes']=_[_0xd52a('0x33')](_0x1b7880[_0xd52a('0x30')],qs['fields'](_0x309fe7[_0xd52a('0x31')][_0xd52a('0x35')]));_0xe6db02['attributes']=_0xe6db02[_0xd52a('0x34')][_0xd52a('0x36')]?_0xe6db02['attributes']:_0x1b7880[_0xd52a('0x30')];if(_0x309fe7[_0xd52a('0x31')][_0xd52a('0x42')]){_0xe6db02[_0xd52a('0x43')]=[{'all':!![]}];}_0xe6db02=_[_0xd52a('0x3e')]({},_0xe6db02,_0x309fe7[_0xd52a('0x40')]);return db[_0xd52a('0x41')][_0xd52a('0x49')](_0xe6db02)[_0xd52a('0x23')](handleEntityNotFound(_0x95f27a,null))['then'](respondWithResult(_0x95f27a,null))[_0xd52a('0x46')](handleError(_0x95f27a,null));};exports[_0xd52a('0x4a')]=function(_0x3dad89,_0x103f51){return db[_0xd52a('0x41')]['create'](_0x3dad89[_0xd52a('0x4b')],{})[_0xd52a('0x23')](function(_0x1e4a7f){var _0x29119c=_0x3dad89[_0xd52a('0x4c')][_0xd52a('0x4d')]({'plain':!![]});if(!_0x29119c)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x29119c[_0xd52a('0x4e')]==='user'){var _0x43ca7e=_0x1e4a7f[_0xd52a('0x4d')]({'plain':!![]});var _0x1033c0='Reports';return db[_0xd52a('0x4f')][_0xd52a('0x49')]({'where':{'name':_0x1033c0,'userProfileId':_0x29119c['userProfileId']},'raw':!![]})[_0xd52a('0x23')](function(_0x498530){if(_0x498530&&_0x498530[_0xd52a('0x50')]===0x0){return db[_0xd52a('0x26')]['create']({'name':_0x43ca7e[_0xd52a('0x29')],'resourceId':_0x43ca7e['id'],'type':_0xd52a('0x25'),'sectionId':_0x498530['id']},{})[_0xd52a('0x23')](function(){return _0x1e4a7f;});}else{return _0x1e4a7f;}})['catch'](function(_0x42d5ff){logger[_0xd52a('0x27')](_0xd52a('0x51'),_0x42d5ff);throw _0x42d5ff;});}return _0x1e4a7f;})[_0xd52a('0x23')](respondWithResult(_0x103f51,0xc9))['catch'](handleError(_0x103f51,null));};exports['update']=function(_0x17b2a8,_0x30433e){if(_0x17b2a8[_0xd52a('0x4b')]['id']){delete _0x17b2a8[_0xd52a('0x4b')]['id'];}return db[_0xd52a('0x41')][_0xd52a('0x49')]({'where':{'id':_0x17b2a8['params']['id']}})['then'](handleEntityNotFound(_0x30433e,null))[_0xd52a('0x23')](saveUpdates(_0x17b2a8['body'],null))[_0xd52a('0x23')](respondWithResult(_0x30433e,null))[_0xd52a('0x46')](handleError(_0x30433e,null));};exports[_0xd52a('0x24')]=function(_0x2a4b15,_0x46661e){return db[_0xd52a('0x41')][_0xd52a('0x49')]({'where':{'id':_0x2a4b15[_0xd52a('0x48')]['id']}})['then'](handleEntityNotFound(_0x46661e,null))[_0xd52a('0x23')](removeEntity(_0x46661e,null))[_0xd52a('0x46')](handleError(_0x46661e,null));};exports[_0xd52a('0x52')]=function(_0x3e1be1,_0x1cfff8){var _0x1aa465=0xa;var _0x40a385=[_0xd52a('0x53'),'left_join',_0xd52a('0x54'),_0xd52a('0x55')];var _0x48f836={'SUM':_0xd52a('0x56'),'COUNT':_0xd52a('0x57'),'COUNT DISTINCT':_0xd52a('0x58'),'MAX':_0xd52a('0x59'),'MIN':_0xd52a('0x5a'),'AVG':_0xd52a('0x5b'),'GROUP_CONCAT':_0xd52a('0x5c'),'GROUP_CONCAT ASC':_0xd52a('0x5d'),'GROUP_CONCAT DESC':_0xd52a('0x5e')};var _0xa43632={'SEC_TO_TIME':_0xd52a('0x5f'),'DATE':_0xd52a('0x60'),'HOUR':_0xd52a('0x61'),'ROUND':_0xd52a('0x62'),'UNIX_TIMESTAMP':_0xd52a('0x63')};var _0xdb2a08=function(_0x5a7f1c){return!_[_0xd52a('0x64')]([_0xd52a('0x65'),_0xd52a('0x66'),_0xd52a('0x67'),_0xd52a('0x68')],_0x5a7f1c);};var _0x18cb63=function(_0x29bfe6){if(!_0x29bfe6||!_0x29bfe6[_0xd52a('0x69')][_0xd52a('0x36')]){return'';}for(var _0x3bf19f='(',_0x3ca657=0x0;_0x3ca657<_0x29bfe6[_0xd52a('0x69')][_0xd52a('0x36')];_0x3ca657+=0x1){_0x3ca657>0x0&&(_0x3bf19f+='\x20'+_0x29bfe6[_0xd52a('0x6a')]+'\x20');_0x3bf19f+=_0x29bfe6[_0xd52a('0x69')][_0x3ca657][_0xd52a('0x6b')]?_0x18cb63(_0x29bfe6[_0xd52a('0x69')][_0x3ca657][_0xd52a('0x6b')]):_0x29bfe6[_0xd52a('0x69')][_0x3ca657][_0xd52a('0x6c')]+'\x20'+_0x29bfe6[_0xd52a('0x69')][_0x3ca657][_0xd52a('0x6d')]+(_0xdb2a08(_0x29bfe6[_0xd52a('0x69')][_0x3ca657]['condition'])?'\x20'+_0x29bfe6['rules'][_0x3ca657][_0xd52a('0x6e')]:'');}return _0x3bf19f+')';};var _0xec14e7={'where':{'id':_0x3e1be1[_0xd52a('0x48')]['id']}},_0x5d5c84,_0x54bb18,_0x30167f,_0x3a086f,_0x584af1;_0xec14e7=_['merge']({},_0xec14e7,_0x3e1be1[_0xd52a('0x40')]);return db[_0xd52a('0x41')]['find'](_0xec14e7)[_0xd52a('0x23')](function(_0x3998cf){if(_0x3998cf){_0x5d5c84=_0x3998cf;return _0x3998cf['getFields']();}return null;})[_0xd52a('0x23')](function(_0x42c99a){if(_0x42c99a){if(!_0x42c99a[_0xd52a('0x36')]){throw new db[(_0xd52a('0x6f'))][(_0xd52a('0x70'))](_0xd52a('0x71'),0x193);}_0x54bb18=_0x42c99a;return db[_0xd52a('0x72')][_0xd52a('0x44')]({'raw':!![]});}return null;})[_0xd52a('0x23')](function(_0x544c63){if(_0x544c63){_0x30167f=_[_0xd52a('0x73')](_0x544c63,'id');var _0x733b69;var _0x4d7194=squel[_0xd52a('0x74')]();_0x4d7194[_0xd52a('0x75')](_0x5d5c84['table']);for(var _0x3d447a=0x0;_0x3d447a<_0x54bb18[_0xd52a('0x36')];_0x3d447a+=0x1){_0x733b69=_0x54bb18[_0x3d447a][_0xd52a('0x76')]?_0x30167f[_0x54bb18[_0x3d447a][_0xd52a('0x76')]][_0xd52a('0x77')]:_0x54bb18[_0x3d447a][_0xd52a('0x6c')];_0x733b69=_0x54bb18[_0x3d447a][_0xd52a('0x78')]?_[_0xd52a('0x79')](_0x48f836[_0x54bb18[_0x3d447a][_0xd52a('0x78')]],'%s',_0x733b69):_0x733b69;_0x733b69=_0x54bb18[_0x3d447a][_0xd52a('0x7a')]?_[_0xd52a('0x79')](_0xa43632[_0x54bb18[_0x3d447a][_0xd52a('0x7a')]],'%s',_0x733b69):_0x733b69;if(_0x54bb18[_0x3d447a][_0xd52a('0x7b')]){_0x4d7194[_0xd52a('0x6b')](_0x733b69);}_0x54bb18[_0x3d447a][_0xd52a('0x7c')]&&_0x4d7194[_0xd52a('0x7d')](_0x733b69,_0x54bb18[_0x3d447a][_0xd52a('0x7c')]==='DESC'?![]:!![]);_0x4d7194[_0xd52a('0x6c')](_0x733b69,_0x54bb18[_0x3d447a][_0xd52a('0x7e')]||_0x733b69);}if(_0x5d5c84['joins']){_0x5d5c84['joins']=JSON[_0xd52a('0x7f')](_0x5d5c84['joins']);for(var _0x374f61=0x0;_0x374f61<_0x5d5c84[_0xd52a('0x80')][_0xd52a('0x36')];_0x374f61+=0x1){if(_0x5d5c84[_0xd52a('0x80')][_0x374f61][_0xd52a('0x81')]&&_[_0xd52a('0x64')](_0x40a385,_0x5d5c84['joins'][_0x374f61][_0xd52a('0x81')])&&_0x5d5c84[_0xd52a('0x80')][_0x374f61][_0xd52a('0x82')]&&_0x5d5c84[_0xd52a('0x80')][_0x374f61][_0xd52a('0x83')]&&_0x5d5c84[_0xd52a('0x80')][_0x374f61]['foreignKey']){_0x4d7194[_0x5d5c84[_0xd52a('0x80')][_0x374f61][_0xd52a('0x81')]](_0x5d5c84['joins'][_0x374f61][_0xd52a('0x83')],null,util[_0xd52a('0x7a')]('%s.%s\x20=\x20%s.%s',_0x5d5c84[_0xd52a('0x84')],_0x5d5c84[_0xd52a('0x80')][_0x374f61][_0xd52a('0x82')],_0x5d5c84[_0xd52a('0x80')][_0x374f61]['foreignTable'],_0x5d5c84[_0xd52a('0x80')][_0x374f61]['foreignKey']));}}}if(_0x5d5c84[_0xd52a('0x85')]){_0x5d5c84[_0xd52a('0x85')]=JSON[_0xd52a('0x7f')](_0x5d5c84['conditions']);_0x4d7194['where'](_0x18cb63(_0x5d5c84['conditions']['group']));}_0x584af1=_0x4d7194[_0xd52a('0x86')]();_0x4d7194[_0xd52a('0x39')](_0x1aa465);_0x4d7194['offset'](0x0);logger[_0xd52a('0x87')](_0xd52a('0x88'),_0x4d7194[_0xd52a('0x89')]());return dbH[_0xd52a('0x8a')][_0xd52a('0x31')](_0x4d7194['toString'](),{'type':dbH['sequelize'][_0xd52a('0x8b')][_0xd52a('0x8c')]});}})[_0xd52a('0x23')](respondWithResult(_0x1cfff8,null))[_0xd52a('0x46')](handleError(_0x1cfff8,null));};function runReport(_0x35d522,_0xe62409,_0x23265f){var _0xe7dc7b=_0xe62409[_0xd52a('0x29')];var _0x59604a=0xa;var _0x4f48ca=[_0xd52a('0x53'),_0xd52a('0x8d'),_0xd52a('0x54'),_0xd52a('0x55')];var _0x55dd84={'SUM':_0xd52a('0x56'),'COUNT':_0xd52a('0x57'),'COUNT DISTINCT':_0xd52a('0x58'),'MAX':'MAX(%s)','MIN':_0xd52a('0x5a'),'AVG':'AVG(%s)','GROUP_CONCAT':'GROUP_CONCAT(%s)','GROUP_CONCAT ASC':_0xd52a('0x5d'),'GROUP_CONCAT DESC':_0xd52a('0x5e')};var _0x3ffff4={'SEC_TO_TIME':_0xd52a('0x5f'),'DATE':_0xd52a('0x60'),'HOUR':_0xd52a('0x61'),'ROUND':_0xd52a('0x62'),'UNIX_TIMESTAMP':_0xd52a('0x63')};var _0x3b65d4=function(_0x511629){return!_[_0xd52a('0x64')]([_0xd52a('0x65'),_0xd52a('0x66'),'IS\x20EMPTY',_0xd52a('0x68')],_0x511629);};var _0x5c490f=function(_0x4b90c6){if(!_0x4b90c6||!_0x4b90c6[_0xd52a('0x69')][_0xd52a('0x36')]){return'';}for(var _0x59379b='(',_0x326602=0x0;_0x326602<_0x4b90c6[_0xd52a('0x69')][_0xd52a('0x36')];_0x326602+=0x1){_0x326602>0x0&&(_0x59379b+='\x20'+_0x4b90c6['operator']+'\x20');_0x59379b+=_0x4b90c6[_0xd52a('0x69')][_0x326602]['group']?_0x5c490f(_0x4b90c6[_0xd52a('0x69')][_0x326602][_0xd52a('0x6b')]):_0x4b90c6[_0xd52a('0x69')][_0x326602][_0xd52a('0x6c')]+'\x20'+_0x4b90c6['rules'][_0x326602][_0xd52a('0x6d')]+(_0x3b65d4(_0x4b90c6[_0xd52a('0x69')][_0x326602][_0xd52a('0x6d')])?'\x20'+_0x4b90c6[_0xd52a('0x69')][_0x326602]['value']:'');}return _0x59379b+')';};var _0x1c80e7={'where':{'id':_0x35d522['id']}},_0x2fad80,_0x502185,_0x72b725,_0x437171,_0x206bda;_0x1c80e7=_[_0xd52a('0x3e')]({},_0x1c80e7,_0x23265f);return db[_0xd52a('0x41')][_0xd52a('0x49')](_0x1c80e7)[_0xd52a('0x23')](function(_0x2d1508){if(_0x2d1508){_0x2fad80=_0x2d1508;return _0x2d1508[_0xd52a('0x8e')]();}return null;})[_0xd52a('0x23')](function(_0x37df04){if(_0x37df04){if(!_0x37df04[_0xd52a('0x36')]){throw new db[(_0xd52a('0x6f'))][(_0xd52a('0x70'))](_0xd52a('0x71'),0x193);}_0x502185=_0x37df04;return db[_0xd52a('0x72')][_0xd52a('0x44')]({'raw':!![]});}return null;})[_0xd52a('0x23')](function(_0x2d6b10){if(_0x2d6b10){_0x72b725=_[_0xd52a('0x73')](_0x2d6b10,'id');var _0xb1d32c;var _0x379518=squel[_0xd52a('0x74')]();_0x379518[_0xd52a('0x75')](_0x2fad80[_0xd52a('0x84')]);for(var _0x2e7809=0x0;_0x2e7809<_0x502185['length'];_0x2e7809+=0x1){_0xb1d32c=_0x502185[_0x2e7809][_0xd52a('0x76')]?_0x72b725[_0x502185[_0x2e7809]['MetricId']][_0xd52a('0x77')]:_0x502185[_0x2e7809]['field'];_0xb1d32c=_0x502185[_0x2e7809][_0xd52a('0x78')]?_['replace'](_0x55dd84[_0x502185[_0x2e7809]['function']],'%s',_0xb1d32c):_0xb1d32c;_0xb1d32c=_0x502185[_0x2e7809][_0xd52a('0x7a')]?_[_0xd52a('0x79')](_0x3ffff4[_0x502185[_0x2e7809][_0xd52a('0x7a')]],'%s',_0xb1d32c):_0xb1d32c;if(_0x502185[_0x2e7809][_0xd52a('0x7b')]){_0x379518[_0xd52a('0x6b')](_0xb1d32c);}_0x502185[_0x2e7809][_0xd52a('0x7c')]&&_0x379518['order'](_0xb1d32c,_0x502185[_0x2e7809][_0xd52a('0x7c')]==='DESC'?![]:!![]);_0x379518[_0xd52a('0x6c')](_0xb1d32c,_0x502185[_0x2e7809][_0xd52a('0x7e')]||_0xb1d32c);}if(_0x2fad80[_0xd52a('0x80')]){_0x2fad80[_0xd52a('0x80')]=JSON[_0xd52a('0x7f')](_0x2fad80[_0xd52a('0x80')]);for(var _0x33cf0b=0x0;_0x33cf0b<_0x2fad80[_0xd52a('0x80')][_0xd52a('0x36')];_0x33cf0b+=0x1){if(_0x2fad80['joins'][_0x33cf0b]['type']&&_['includes'](_0x4f48ca,_0x2fad80['joins'][_0x33cf0b][_0xd52a('0x81')])&&_0x2fad80[_0xd52a('0x80')][_0x33cf0b]['parentKey']&&_0x2fad80[_0xd52a('0x80')][_0x33cf0b][_0xd52a('0x83')]&&_0x2fad80[_0xd52a('0x80')][_0x33cf0b]['foreignKey']){_0x379518[_0x2fad80[_0xd52a('0x80')][_0x33cf0b]['type']](_0x2fad80['joins'][_0x33cf0b][_0xd52a('0x83')],null,util[_0xd52a('0x7a')](_0xd52a('0x8f'),_0x2fad80[_0xd52a('0x84')],_0x2fad80[_0xd52a('0x80')][_0x33cf0b][_0xd52a('0x82')],_0x2fad80[_0xd52a('0x80')][_0x33cf0b][_0xd52a('0x83')],_0x2fad80[_0xd52a('0x80')][_0x33cf0b][_0xd52a('0x90')]));}}}if(_0x2fad80['conditions']){_0x2fad80['conditions']=JSON['parse'](_0x2fad80[_0xd52a('0x85')]);_0x379518[_0xd52a('0x3b')](_0x5c490f(_0x2fad80[_0xd52a('0x85')][_0xd52a('0x6b')]));}_0x206bda=_0x379518[_0xd52a('0x86')]();_0x379518[_0xd52a('0x39')](_0x59604a);_0x379518[_0xd52a('0x1e')](0x0);return;}})[_0xd52a('0x23')](function(){if(_0xe62409[_0xd52a('0x91')]===_0xd52a('0x92')){return null;}var _0x94f620=_[_0xd52a('0x3e')](_0xe62409,{'name':_0xe62409['fullPath']||_0xe62409['name']||_0x2fad80['name'],'basename':_0xe7dc7b,'savename':util[_0xd52a('0x7a')](_0xd52a('0x93'),_0xe62409[_0xd52a('0x29')]||_0x2fad80['name'],require(_0xd52a('0x94'))['generate'](0x4),_0xe62409[_0xd52a('0x91')]||_0xd52a('0x95')),'reportId':_0x2fad80['id'],'reportType':_0xd52a('0x96')});return db[_0xd52a('0x97')]['create'](_0x94f620,{'raw':!![]});})[_0xd52a('0x23')](function(_0x4d3b03){if(_0x2fad80[_0xd52a('0x84')]===_0xd52a('0x98')){_0x206bda[_0xd52a('0x3b')](_0x2fad80[_0xd52a('0x84')]+'.calldate\x20BETWEEN\x20?\x20AND\x20?',_0xe62409[_0xd52a('0x99')],_0xe62409['endDate']);}else{_0x206bda['where'](_0x2fad80[_0xd52a('0x84')]+_0xd52a('0x9a'),_0xe62409[_0xd52a('0x99')],_0xe62409['endDate']);}if(_0x4d3b03){logger[_0xd52a('0x9b')](_0xd52a('0x9c'),_0x206bda['toString']());require(_0xd52a('0x9d'))['fork'](path[_0xd52a('0x53')](__dirname,_0xd52a('0x9e'),_0x4d3b03[_0xd52a('0x91')]),[_0x4d3b03['id'],_0x206bda['toString'](),path[_0xd52a('0x53')](__dirname,_0xd52a('0x9f'),_0x4d3b03[_0xd52a('0xa0')]),_0xe7dc7b]);return _0x4d3b03;}else{var _0x530190=squel[_0xd52a('0x74')]();_0x530190[_0xd52a('0x75')]('('+_0x206bda[_0xd52a('0x89')]()+')',_0xd52a('0xa1'));_0x530190[_0xd52a('0x6c')](_0xd52a('0xa2'),_0xd52a('0x1d'));_0x206bda[_0xd52a('0x39')](_0xe62409[_0xd52a('0x39')]||_0x59604a);_0x206bda['offset'](_0xe62409[_0xd52a('0x1e')]||0x0);return dbH['sequelize'][_0xd52a('0x31')](_0x530190[_0xd52a('0x89')](),{'type':dbH['sequelize']['QueryTypes']['SELECT']})[_0xd52a('0x23')](function(_0x31429c){if(!_0x31429c['length']){_0x437171=0x0;}else{_0x437171=_0x31429c[0x0][_0xd52a('0x1d')]||0x0;}return dbH[_0xd52a('0x8a')][_0xd52a('0x31')](_0x206bda[_0xd52a('0x89')](),{'type':dbH[_0xd52a('0x8a')][_0xd52a('0x8b')]['SELECT']});})['then'](function(_0x51402d){return{'rows':_0x51402d||[],'count':_0x437171};});}});}exports['run']=function(_0x2765f3,_0x36270a){return runReport(_0x2765f3[_0xd52a('0x48')],_0x2765f3['query'],_0x2765f3['options'])[_0xd52a('0x23')](respondWithResult(_0x36270a,null))[_0xd52a('0x46')](handleError(_0x36270a,null));};exports['runReport']=runReport;exports['query']=function(_0x1890cd,_0x47abe8){var _0x221bb0=0xa;var _0x1bcc53=[_0xd52a('0x53'),_0xd52a('0x8d'),_0xd52a('0x54'),'cross_join'];var _0x48cc30={'SUM':'SUM(%s)','COUNT':'COUNT(%s)','COUNT DISTINCT':_0xd52a('0x58'),'MAX':_0xd52a('0x59'),'MIN':_0xd52a('0x5a'),'AVG':_0xd52a('0x5b'),'GROUP_CONCAT':_0xd52a('0x5c'),'GROUP_CONCAT ASC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','GROUP_CONCAT DESC':_0xd52a('0x5e')};var _0x444804={'SEC_TO_TIME':_0xd52a('0x5f'),'DATE':'DATE(%s)','HOUR':_0xd52a('0x61'),'ROUND':_0xd52a('0x62'),'UNIX_TIMESTAMP':_0xd52a('0x63')};var _0x19a84a=function(_0x575144){return!_[_0xd52a('0x64')](['IS\x20NULL',_0xd52a('0x66'),_0xd52a('0x67'),'IS\x20NOT\x20EMPTY'],_0x575144);};var _0x49f5da=function(_0x33bba7){if(!_0x33bba7||!_0x33bba7[_0xd52a('0x69')][_0xd52a('0x36')]){return'';}for(var _0x3d27be='(',_0x282272=0x0;_0x282272<_0x33bba7[_0xd52a('0x69')][_0xd52a('0x36')];_0x282272+=0x1){_0x282272>0x0&&(_0x3d27be+='\x20'+_0x33bba7[_0xd52a('0x6a')]+'\x20');_0x3d27be+=_0x33bba7[_0xd52a('0x69')][_0x282272][_0xd52a('0x6b')]?_0x49f5da(_0x33bba7[_0xd52a('0x69')][_0x282272][_0xd52a('0x6b')]):_0x33bba7[_0xd52a('0x69')][_0x282272][_0xd52a('0x6c')]+'\x20'+_0x33bba7[_0xd52a('0x69')][_0x282272][_0xd52a('0x6d')]+(_0x19a84a(_0x33bba7[_0xd52a('0x69')][_0x282272][_0xd52a('0x6d')])?'\x20'+_0x33bba7[_0xd52a('0x69')][_0x282272]['value']:'');}return _0x3d27be+')';};var _0x3e47bb={'where':{'id':_0x1890cd[_0xd52a('0x48')]['id']}},_0x426031,_0x86bcaa,_0x42ab96,_0x25e010,_0x4ae9f3;_0x3e47bb=_[_0xd52a('0x3e')]({},_0x3e47bb,_0x1890cd[_0xd52a('0x40')]);return db[_0xd52a('0x41')][_0xd52a('0x49')](_0x3e47bb)[_0xd52a('0x23')](function(_0x3e1fb4){if(_0x3e1fb4){_0x426031=_0x3e1fb4;return _0x3e1fb4[_0xd52a('0x8e')]();}return null;})[_0xd52a('0x23')](function(_0x19587c){if(_0x19587c){if(!_0x19587c['length']){throw new db[(_0xd52a('0x6f'))]['ValidationErrorItem']('Please\x20insert\x20at\x20least\x20one\x20field',0x193);}_0x86bcaa=_0x19587c;return db[_0xd52a('0x72')][_0xd52a('0x44')]({'raw':!![]});}return null;})[_0xd52a('0x23')](function(_0x9e831){if(_0x9e831){_0x42ab96=_['keyBy'](_0x9e831,'id');var _0x3c7c61;var _0x4e07b5=squel['select']();_0x4e07b5['from'](_0x426031[_0xd52a('0x84')]);for(var _0x43d56c=0x0;_0x43d56c<_0x86bcaa[_0xd52a('0x36')];_0x43d56c+=0x1){_0x3c7c61=_0x86bcaa[_0x43d56c][_0xd52a('0x76')]?_0x42ab96[_0x86bcaa[_0x43d56c]['MetricId']][_0xd52a('0x77')]:_0x86bcaa[_0x43d56c]['field'];_0x3c7c61=_0x86bcaa[_0x43d56c][_0xd52a('0x78')]?_[_0xd52a('0x79')](_0x48cc30[_0x86bcaa[_0x43d56c][_0xd52a('0x78')]],'%s',_0x3c7c61):_0x3c7c61;_0x3c7c61=_0x86bcaa[_0x43d56c][_0xd52a('0x7a')]?_[_0xd52a('0x79')](_0x444804[_0x86bcaa[_0x43d56c][_0xd52a('0x7a')]],'%s',_0x3c7c61):_0x3c7c61;if(_0x86bcaa[_0x43d56c]['groupBy']){_0x4e07b5[_0xd52a('0x6b')](_0x3c7c61);}_0x86bcaa[_0x43d56c]['orderBy']&&_0x4e07b5[_0xd52a('0x7d')](_0x3c7c61,_0x86bcaa[_0x43d56c][_0xd52a('0x7c')]===_0xd52a('0xa3')?![]:!![]);_0x4e07b5[_0xd52a('0x6c')](_0x3c7c61,_0x86bcaa[_0x43d56c][_0xd52a('0x7e')]||_0x3c7c61);}if(_0x426031[_0xd52a('0x80')]){_0x426031[_0xd52a('0x80')]=JSON[_0xd52a('0x7f')](_0x426031[_0xd52a('0x80')]);for(var _0x1f94fd=0x0;_0x1f94fd<_0x426031['joins'][_0xd52a('0x36')];_0x1f94fd+=0x1){if(_0x426031[_0xd52a('0x80')][_0x1f94fd][_0xd52a('0x81')]&&_[_0xd52a('0x64')](_0x1bcc53,_0x426031[_0xd52a('0x80')][_0x1f94fd][_0xd52a('0x81')])&&_0x426031['joins'][_0x1f94fd][_0xd52a('0x82')]&&_0x426031[_0xd52a('0x80')][_0x1f94fd][_0xd52a('0x83')]&&_0x426031[_0xd52a('0x80')][_0x1f94fd][_0xd52a('0x90')]){_0x4e07b5[_0x426031['joins'][_0x1f94fd][_0xd52a('0x81')]](_0x426031['joins'][_0x1f94fd][_0xd52a('0x83')],null,util[_0xd52a('0x7a')](_0xd52a('0x8f'),_0x426031[_0xd52a('0x84')],_0x426031[_0xd52a('0x80')][_0x1f94fd][_0xd52a('0x82')],_0x426031[_0xd52a('0x80')][_0x1f94fd][_0xd52a('0x83')],_0x426031[_0xd52a('0x80')][_0x1f94fd]['foreignKey']));}}}if(_0x426031['conditions']){_0x426031[_0xd52a('0x85')]=JSON[_0xd52a('0x7f')](_0x426031[_0xd52a('0x85')]);_0x4e07b5[_0xd52a('0x3b')](_0x49f5da(_0x426031[_0xd52a('0x85')][_0xd52a('0x6b')]));}_0x4ae9f3=_0x4e07b5[_0xd52a('0x86')]();_0x4e07b5[_0xd52a('0x39')](_0x221bb0);_0x4e07b5[_0xd52a('0x1e')](0x0);logger[_0xd52a('0x87')]('Limited\x20Query:',_0x4e07b5[_0xd52a('0x89')]());return dbH[_0xd52a('0x8a')][_0xd52a('0x31')](_0x4e07b5[_0xd52a('0x89')](),{'type':dbH[_0xd52a('0x8a')][_0xd52a('0x8b')]['SELECT']});}})[_0xd52a('0x23')](function(){return{'sql':_0x4ae9f3['toString']()};})[_0xd52a('0x23')](respondWithResult(_0x47abe8,null))[_0xd52a('0x46')](handleError(_0x47abe8,null));};