Built motion from commit (unavailable).|2.5.14
[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 _0x4202=['count','offset','limit','set','Content-Range','apply','reject','save','update','then','destroy','get','error','stack','name','send','index','map','fieldName','key','keys','query','filters','attributes','intersection','model','fields','length','nolimit','order','sort','where','pick','filter','type','merge','options','AnalyticDefaultReport','includeAll','include','catch','show','params','rawAttributes','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','Reports','UserProfileSection','userProfileId','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','preview','right_join','SUM(%s)','COUNT(DISTINCT\x20%s)','MIN(%s)','GROUP_CONCAT(%s)','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)','SEC_TO_TIME(%s)','DATE(%s)','HOUR(%s)','includes','IS\x20NOT\x20NULL','IS\x20EMPTY','IS\x20NOT\x20EMPTY','rules','operator','group','field','condition','getFields','Sequelize','ValidationErrorItem','Please\x20insert\x20at\x20least\x20one\x20field','AnalyticMetric','findAll','keyBy','select','from','table','MetricId','metric','function','replace','format','groupBy','orderBy','DESC','alias','joins','parentKey','foreignTable','foreignKey','%s.%s\x20=\x20%s.%s','conditions','parse','clone','debug','Limited\x20Query:','toString','sequelize','QueryTypes','join','left_join','cross_join','COUNT(%s)','MAX(%s)','AVG(%s)','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','ROUND(%s)','UNIX_TIMESTAMP(%s)','SELECT','No\x20available\x20data','output','web','fullPath','%s-%s.%s','randomstring','generate','csv','default','AnalyticExtractedReport','cdr','startDate','endDate','.createdAt\x20BETWEEN\x20?\x20AND\x20?','Run\x20Query:','child_process','fork','../../components/export/','countTable','COUNT(*)','run','runReport','IS\x20NULL','value','html-pdf','eml-format','zip-dir','request-promise','moment','mustache','util','sox','to-csv','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/environment','../../config/license/util','../../mysqldb','dbH','sendStatus','status','end','json'];(function(_0x3202a1,_0x109353){var _0x232d64=function(_0x3c19e3){while(--_0x3c19e3){_0x3202a1['push'](_0x3202a1['shift']());}};_0x232d64(++_0x109353);}(_0x4202,0x8c));var _0x2420=function(_0x4cc21a,_0x3677fe){_0x4cc21a=_0x4cc21a-0x0;var _0x426d76=_0x4202[_0x4cc21a];return _0x426d76;};'use strict';var pdf=require(_0x2420('0x0'));var emlformat=require(_0x2420('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x2420('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x2420('0x3'));var moment=require(_0x2420('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x2420('0x5'));var util=require(_0x2420('0x6'));var path=require('path');var sox=require(_0x2420('0x7'));var csv=require(_0x2420('0x8'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x2420('0x9'));var squel=require(_0x2420('0xa'));var crypto=require(_0x2420('0xb'));var jsforce=require(_0x2420('0xc'));var deskjs=require(_0x2420('0xd'));var toCsv=require('to-csv');var querystring=require(_0x2420('0xe'));var Papa=require(_0x2420('0xf'));var Redis=require(_0x2420('0x10'));var authService=require(_0x2420('0x11'));var qs=require(_0x2420('0x12'));var as=require(_0x2420('0x13'));var hardwareService=require(_0x2420('0x14'));var logger=require(_0x2420('0x15'))(_0x2420('0x16'));var utils=require('../../config/utils');var config=require(_0x2420('0x17'));var licenseUtil=require(_0x2420('0x18'));var db=require(_0x2420('0x19'))['db'];var dbH=require(_0x2420('0x19'))[_0x2420('0x1a')];function respondWithStatusCode(_0x38de02,_0x5d1938){_0x5d1938=_0x5d1938||0xcc;return function(_0x4e2924){if(_0x4e2924){return _0x38de02[_0x2420('0x1b')](_0x5d1938);}return _0x38de02[_0x2420('0x1c')](_0x5d1938)[_0x2420('0x1d')]();};}function respondWithResult(_0x5520f4,_0xeb2b8b){_0xeb2b8b=_0xeb2b8b||0xc8;return function(_0x202ce1){if(_0x202ce1){return _0x5520f4[_0x2420('0x1c')](_0xeb2b8b)[_0x2420('0x1e')](_0x202ce1);}};}function respondWithFilteredResult(_0x5b1e6a,_0x8c8939){return function(_0x4ed11d){if(_0x4ed11d){var _0x38f11c=_0x4ed11d[_0x2420('0x1f')],_0x27d8c9=_0x8c8939[_0x2420('0x20')],_0x4458c9=_0x8c8939[_0x2420('0x20')]+_0x8c8939[_0x2420('0x21')],_0x29db2e;if(_0x4458c9>=_0x38f11c){_0x4458c9=_0x38f11c;_0x29db2e=0xc8;}else{_0x29db2e=0xce;}_0x5b1e6a[_0x2420('0x1c')](_0x29db2e);return _0x5b1e6a[_0x2420('0x22')](_0x2420('0x23'),_0x27d8c9+'-'+_0x4458c9+'/'+_0x38f11c)[_0x2420('0x1e')](_0x4ed11d);}return null;};}function patchUpdates(_0x24f9ec){return function(_0x4dabbf){try{jsonpatch[_0x2420('0x24')](_0x4dabbf,_0x24f9ec,!![]);}catch(_0x18755a){return BPromise[_0x2420('0x25')](_0x18755a);}return _0x4dabbf[_0x2420('0x26')]();};}function saveUpdates(_0x400a42,_0x4741cc){return function(_0x40ea01){if(_0x40ea01){return _0x40ea01[_0x2420('0x27')](_0x400a42)[_0x2420('0x28')](function(_0x566b7f){return _0x566b7f;});}return null;};}function removeEntity(_0x3b2d39,_0x201809){return function(_0x4bd93a){if(_0x4bd93a){return _0x4bd93a[_0x2420('0x29')]()[_0x2420('0x28')](function(){var _0x389d01=_0x4bd93a[_0x2420('0x2a')]({'plain':!![]});var _0xab2167='DefaultReports';return db['UserProfileResource']['destroy']({'where':{'type':_0xab2167,'resourceId':_0x389d01['id']}})[_0x2420('0x28')](function(){return _0x4bd93a;});})['then'](function(){_0x3b2d39[_0x2420('0x1c')](0xcc)[_0x2420('0x1d')]();});}};}function handleEntityNotFound(_0x5eeace,_0x49f845){return function(_0x43c335){if(!_0x43c335){_0x5eeace['sendStatus'](0x194);}return _0x43c335;};}function handleError(_0x5232dd,_0x5d0a5f){_0x5d0a5f=_0x5d0a5f||0x1f4;return function(_0x9f6548){logger[_0x2420('0x2b')](_0x9f6548[_0x2420('0x2c')]);if(_0x9f6548[_0x2420('0x2d')]){delete _0x9f6548[_0x2420('0x2d')];}_0x5232dd[_0x2420('0x1c')](_0x5d0a5f)[_0x2420('0x2e')](_0x9f6548);};}exports[_0x2420('0x2f')]=function(_0x594e1a,_0x2773e1){var _0x4cc105={},_0x532f9c={},_0xfd5289={'count':0x0,'rows':[]};var _0x952e5c=_[_0x2420('0x30')](db['AnalyticDefaultReport']['rawAttributes'],function(_0x2b1a35){return{'name':_0x2b1a35[_0x2420('0x31')],'type':_0x2b1a35['type'][_0x2420('0x32')]};});_0x532f9c['model']=_[_0x2420('0x30')](_0x952e5c,'name');_0x532f9c['query']=_[_0x2420('0x33')](_0x594e1a[_0x2420('0x34')]);_0x532f9c[_0x2420('0x35')]=_['intersection'](_0x532f9c['model'],_0x532f9c[_0x2420('0x34')]);_0x4cc105[_0x2420('0x36')]=_[_0x2420('0x37')](_0x532f9c[_0x2420('0x38')],qs[_0x2420('0x39')](_0x594e1a['query'][_0x2420('0x39')]));_0x4cc105[_0x2420('0x36')]=_0x4cc105[_0x2420('0x36')][_0x2420('0x3a')]?_0x4cc105[_0x2420('0x36')]:_0x532f9c[_0x2420('0x38')];if(!_0x594e1a[_0x2420('0x34')]['hasOwnProperty'](_0x2420('0x3b'))){_0x4cc105[_0x2420('0x21')]=qs['limit'](_0x594e1a[_0x2420('0x34')][_0x2420('0x21')]);_0x4cc105[_0x2420('0x20')]=qs[_0x2420('0x20')](_0x594e1a[_0x2420('0x34')][_0x2420('0x20')]);}_0x4cc105[_0x2420('0x3c')]=qs[_0x2420('0x3d')](_0x594e1a[_0x2420('0x34')][_0x2420('0x3d')]);_0x4cc105[_0x2420('0x3e')]=qs['filters'](_[_0x2420('0x3f')](_0x594e1a[_0x2420('0x34')],_0x532f9c[_0x2420('0x35')]),_0x952e5c);if(_0x594e1a[_0x2420('0x34')][_0x2420('0x40')]){_0x4cc105[_0x2420('0x3e')]=_['merge'](_0x4cc105[_0x2420('0x3e')],{'$or':_[_0x2420('0x30')](_0x952e5c,function(_0x3d73c7){if(_0x3d73c7[_0x2420('0x41')]!=='VIRTUAL'){var _0x5d8911={};_0x5d8911[_0x3d73c7[_0x2420('0x2d')]]={'$like':'%'+_0x594e1a['query']['filter']+'%'};return _0x5d8911;}})});}_0x4cc105=_[_0x2420('0x42')]({},_0x4cc105,_0x594e1a[_0x2420('0x43')]);var _0x33c7cf={'where':_0x4cc105[_0x2420('0x3e')]};return db[_0x2420('0x44')]['count'](_0x33c7cf)[_0x2420('0x28')](function(_0x2b5da6){_0xfd5289[_0x2420('0x1f')]=_0x2b5da6;if(_0x594e1a[_0x2420('0x34')][_0x2420('0x45')]){_0x4cc105[_0x2420('0x46')]=[{'all':!![]}];}return db['AnalyticDefaultReport']['findAll'](_0x4cc105);})['then'](function(_0x4747c2){_0xfd5289['rows']=_0x4747c2;return _0xfd5289;})[_0x2420('0x28')](respondWithFilteredResult(_0x2773e1,_0x4cc105))[_0x2420('0x47')](handleError(_0x2773e1,null));};exports[_0x2420('0x48')]=function(_0x14065d,_0x4fad55){var _0xf49d1b={'raw':!![],'where':{'id':_0x14065d[_0x2420('0x49')]['id']}},_0x21641a={};_0x21641a[_0x2420('0x38')]=_[_0x2420('0x33')](db[_0x2420('0x44')][_0x2420('0x4a')]);_0x21641a[_0x2420('0x34')]=_['keys'](_0x14065d['query']);_0x21641a[_0x2420('0x35')]=_['intersection'](_0x21641a[_0x2420('0x38')],_0x21641a[_0x2420('0x34')]);_0xf49d1b[_0x2420('0x36')]=_[_0x2420('0x37')](_0x21641a[_0x2420('0x38')],qs[_0x2420('0x39')](_0x14065d[_0x2420('0x34')][_0x2420('0x39')]));_0xf49d1b['attributes']=_0xf49d1b[_0x2420('0x36')]['length']?_0xf49d1b[_0x2420('0x36')]:_0x21641a[_0x2420('0x38')];if(_0x14065d['query'][_0x2420('0x45')]){_0xf49d1b[_0x2420('0x46')]=[{'all':!![]}];}_0xf49d1b=_[_0x2420('0x42')]({},_0xf49d1b,_0x14065d[_0x2420('0x43')]);return db[_0x2420('0x44')][_0x2420('0x4b')](_0xf49d1b)[_0x2420('0x28')](handleEntityNotFound(_0x4fad55,null))['then'](respondWithResult(_0x4fad55,null))[_0x2420('0x47')](handleError(_0x4fad55,null));};exports[_0x2420('0x4c')]=function(_0x430776,_0x46d3ce){return db['AnalyticDefaultReport']['create'](_0x430776['body'],{})['then'](function(_0x1c9a13){var _0xebbd18=_0x430776[_0x2420('0x4d')][_0x2420('0x2a')]({'plain':!![]});if(!_0xebbd18)throw new Error(_0x2420('0x4e'));if(_0xebbd18[_0x2420('0x4f')]==='user'){var _0x1591e0=_0x1c9a13[_0x2420('0x2a')]({'plain':!![]});var _0x1bc4cd=_0x2420('0x50');return db[_0x2420('0x51')]['find']({'where':{'name':_0x1bc4cd,'userProfileId':_0xebbd18[_0x2420('0x52')]},'raw':!![]})[_0x2420('0x28')](function(_0x15bf5a){if(_0x15bf5a&&_0x15bf5a['autoAssociation']===0x0){return db[_0x2420('0x53')][_0x2420('0x4c')]({'name':_0x1591e0[_0x2420('0x2d')],'resourceId':_0x1591e0['id'],'type':'DefaultReports','sectionId':_0x15bf5a['id']},{})[_0x2420('0x28')](function(){return _0x1c9a13;});}else{return _0x1c9a13;}})['catch'](function(_0x207c82){logger['error'](_0x2420('0x54'),_0x207c82);throw _0x207c82;});}return _0x1c9a13;})[_0x2420('0x28')](respondWithResult(_0x46d3ce,0xc9))[_0x2420('0x47')](handleError(_0x46d3ce,null));};exports[_0x2420('0x27')]=function(_0x1946db,_0x4e9ecc){if(_0x1946db['body']['id']){delete _0x1946db[_0x2420('0x55')]['id'];}return db['AnalyticDefaultReport'][_0x2420('0x4b')]({'where':{'id':_0x1946db['params']['id']}})[_0x2420('0x28')](handleEntityNotFound(_0x4e9ecc,null))[_0x2420('0x28')](saveUpdates(_0x1946db[_0x2420('0x55')],null))[_0x2420('0x28')](respondWithResult(_0x4e9ecc,null))['catch'](handleError(_0x4e9ecc,null));};exports['destroy']=function(_0x6a8e79,_0x230e78){return db['AnalyticDefaultReport'][_0x2420('0x4b')]({'where':{'id':_0x6a8e79[_0x2420('0x49')]['id']}})[_0x2420('0x28')](handleEntityNotFound(_0x230e78,null))['then'](removeEntity(_0x230e78,null))[_0x2420('0x47')](handleError(_0x230e78,null));};exports[_0x2420('0x56')]=function(_0x506fef,_0x12fad7){var _0x3daabb=0xa;var _0xa34c0=['join','left_join',_0x2420('0x57'),'cross_join'];var _0x1701fe={'SUM':_0x2420('0x58'),'COUNT':'COUNT(%s)','COUNT DISTINCT':_0x2420('0x59'),'MAX':'MAX(%s)','MIN':_0x2420('0x5a'),'AVG':'AVG(%s)','GROUP_CONCAT':_0x2420('0x5b'),'GROUP_CONCAT ASC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','GROUP_CONCAT DESC':_0x2420('0x5c')};var _0x4bbb39={'SEC_TO_TIME':_0x2420('0x5d'),'DATE':_0x2420('0x5e'),'HOUR':_0x2420('0x5f'),'ROUND':'ROUND(%s)','UNIX_TIMESTAMP':'UNIX_TIMESTAMP(%s)'};var _0x355795=function(_0x1ed01f){return!_[_0x2420('0x60')](['IS\x20NULL',_0x2420('0x61'),_0x2420('0x62'),_0x2420('0x63')],_0x1ed01f);};var _0x4a25a0=function(_0x11a585){if(!_0x11a585||!_0x11a585[_0x2420('0x64')][_0x2420('0x3a')]){return'';}for(var _0x2290f3='(',_0x3318f2=0x0;_0x3318f2<_0x11a585[_0x2420('0x64')][_0x2420('0x3a')];_0x3318f2+=0x1){_0x3318f2>0x0&&(_0x2290f3+='\x20'+_0x11a585[_0x2420('0x65')]+'\x20');_0x2290f3+=_0x11a585[_0x2420('0x64')][_0x3318f2][_0x2420('0x66')]?_0x4a25a0(_0x11a585[_0x2420('0x64')][_0x3318f2][_0x2420('0x66')]):_0x11a585['rules'][_0x3318f2][_0x2420('0x67')]+'\x20'+_0x11a585[_0x2420('0x64')][_0x3318f2][_0x2420('0x68')]+(_0x355795(_0x11a585[_0x2420('0x64')][_0x3318f2]['condition'])?'\x20'+_0x11a585[_0x2420('0x64')][_0x3318f2]['value']:'');}return _0x2290f3+')';};var _0x34fd15={'where':{'id':_0x506fef[_0x2420('0x49')]['id']}},_0x35e768,_0x3e8aad,_0x55177a,_0x56d6b9,_0xd28c58;_0x34fd15=_['merge']({},_0x34fd15,_0x506fef[_0x2420('0x43')]);return db[_0x2420('0x44')][_0x2420('0x4b')](_0x34fd15)[_0x2420('0x28')](function(_0x29779f){if(_0x29779f){_0x35e768=_0x29779f;return _0x29779f[_0x2420('0x69')]();}return null;})['then'](function(_0x35ecbb){if(_0x35ecbb){if(!_0x35ecbb['length']){throw new db[(_0x2420('0x6a'))][(_0x2420('0x6b'))](_0x2420('0x6c'),0x193);}_0x3e8aad=_0x35ecbb;return db[_0x2420('0x6d')][_0x2420('0x6e')]({'raw':!![]});}return null;})['then'](function(_0x5c1aff){if(_0x5c1aff){_0x55177a=_[_0x2420('0x6f')](_0x5c1aff,'id');var _0x7f90b0;var _0x31a5c7=squel[_0x2420('0x70')]();_0x31a5c7[_0x2420('0x71')](_0x35e768[_0x2420('0x72')]);for(var _0x1bf03a=0x0;_0x1bf03a<_0x3e8aad[_0x2420('0x3a')];_0x1bf03a+=0x1){_0x7f90b0=_0x3e8aad[_0x1bf03a][_0x2420('0x73')]?_0x55177a[_0x3e8aad[_0x1bf03a]['MetricId']][_0x2420('0x74')]:_0x3e8aad[_0x1bf03a][_0x2420('0x67')];_0x7f90b0=_0x3e8aad[_0x1bf03a][_0x2420('0x75')]?_[_0x2420('0x76')](_0x1701fe[_0x3e8aad[_0x1bf03a]['function']],'%s',_0x7f90b0):_0x7f90b0;_0x7f90b0=_0x3e8aad[_0x1bf03a][_0x2420('0x77')]?_['replace'](_0x4bbb39[_0x3e8aad[_0x1bf03a][_0x2420('0x77')]],'%s',_0x7f90b0):_0x7f90b0;if(_0x3e8aad[_0x1bf03a][_0x2420('0x78')]){_0x31a5c7[_0x2420('0x66')](_0x7f90b0);}_0x3e8aad[_0x1bf03a][_0x2420('0x79')]&&_0x31a5c7[_0x2420('0x3c')](_0x7f90b0,_0x3e8aad[_0x1bf03a][_0x2420('0x79')]===_0x2420('0x7a')?![]:!![]);_0x31a5c7[_0x2420('0x67')](_0x7f90b0,_0x3e8aad[_0x1bf03a][_0x2420('0x7b')]||_0x7f90b0);}if(_0x35e768[_0x2420('0x7c')]){_0x35e768[_0x2420('0x7c')]=JSON['parse'](_0x35e768['joins']);for(var _0x212361=0x0;_0x212361<_0x35e768[_0x2420('0x7c')][_0x2420('0x3a')];_0x212361+=0x1){if(_0x35e768[_0x2420('0x7c')][_0x212361][_0x2420('0x41')]&&_[_0x2420('0x60')](_0xa34c0,_0x35e768[_0x2420('0x7c')][_0x212361]['type'])&&_0x35e768[_0x2420('0x7c')][_0x212361][_0x2420('0x7d')]&&_0x35e768[_0x2420('0x7c')][_0x212361][_0x2420('0x7e')]&&_0x35e768[_0x2420('0x7c')][_0x212361][_0x2420('0x7f')]){_0x31a5c7[_0x35e768[_0x2420('0x7c')][_0x212361][_0x2420('0x41')]](_0x35e768[_0x2420('0x7c')][_0x212361][_0x2420('0x7e')],null,util['format'](_0x2420('0x80'),_0x35e768[_0x2420('0x72')],_0x35e768['joins'][_0x212361][_0x2420('0x7d')],_0x35e768[_0x2420('0x7c')][_0x212361][_0x2420('0x7e')],_0x35e768['joins'][_0x212361][_0x2420('0x7f')]));}}}if(_0x35e768[_0x2420('0x81')]){_0x35e768[_0x2420('0x81')]=JSON[_0x2420('0x82')](_0x35e768[_0x2420('0x81')]);_0x31a5c7[_0x2420('0x3e')](_0x4a25a0(_0x35e768[_0x2420('0x81')][_0x2420('0x66')]));}_0xd28c58=_0x31a5c7[_0x2420('0x83')]();_0x31a5c7['limit'](_0x3daabb);_0x31a5c7[_0x2420('0x20')](0x0);logger[_0x2420('0x84')](_0x2420('0x85'),_0x31a5c7[_0x2420('0x86')]());return db[_0x2420('0x87')][_0x2420('0x34')](_0x31a5c7[_0x2420('0x86')](),{'type':db[_0x2420('0x87')][_0x2420('0x88')]['SELECT']});}})[_0x2420('0x28')](respondWithResult(_0x12fad7,null))[_0x2420('0x47')](handleError(_0x12fad7,null));};function runReport(_0x348fe1,_0x163cb4,_0x465445){var _0x255677=_0x163cb4[_0x2420('0x2d')];var _0x59f7ca=0xa;var _0x5b74e4=[_0x2420('0x89'),_0x2420('0x8a'),_0x2420('0x57'),_0x2420('0x8b')];var _0x1c1ec2={'SUM':'SUM(%s)','COUNT':_0x2420('0x8c'),'COUNT DISTINCT':'COUNT(DISTINCT\x20%s)','MAX':_0x2420('0x8d'),'MIN':'MIN(%s)','AVG':_0x2420('0x8e'),'GROUP_CONCAT':_0x2420('0x5b'),'GROUP_CONCAT ASC':_0x2420('0x8f'),'GROUP_CONCAT DESC':_0x2420('0x5c')};var _0x2444d1={'SEC_TO_TIME':_0x2420('0x5d'),'DATE':_0x2420('0x5e'),'HOUR':_0x2420('0x5f'),'ROUND':_0x2420('0x90'),'UNIX_TIMESTAMP':_0x2420('0x91')};var _0x564a25=function(_0x4a3909){return!_['includes'](['IS\x20NULL',_0x2420('0x61'),_0x2420('0x62'),_0x2420('0x63')],_0x4a3909);};var _0x45ba4c=function(_0x8ce15d){if(!_0x8ce15d||!_0x8ce15d[_0x2420('0x64')][_0x2420('0x3a')]){return'';}for(var _0x7afba9='(',_0x51ff25=0x0;_0x51ff25<_0x8ce15d[_0x2420('0x64')]['length'];_0x51ff25+=0x1){_0x51ff25>0x0&&(_0x7afba9+='\x20'+_0x8ce15d[_0x2420('0x65')]+'\x20');_0x7afba9+=_0x8ce15d['rules'][_0x51ff25]['group']?_0x45ba4c(_0x8ce15d[_0x2420('0x64')][_0x51ff25][_0x2420('0x66')]):_0x8ce15d[_0x2420('0x64')][_0x51ff25]['field']+'\x20'+_0x8ce15d[_0x2420('0x64')][_0x51ff25][_0x2420('0x68')]+(_0x564a25(_0x8ce15d[_0x2420('0x64')][_0x51ff25][_0x2420('0x68')])?'\x20'+_0x8ce15d[_0x2420('0x64')][_0x51ff25]['value']:'');}return _0x7afba9+')';};var _0x35f6aa={'where':{'id':_0x348fe1['id']}},_0xbf08e8,_0x3a970b,_0x4dfc2b,_0x295f66,_0x441ed3;_0x35f6aa=_[_0x2420('0x42')]({},_0x35f6aa,_0x465445);return db[_0x2420('0x44')][_0x2420('0x4b')](_0x35f6aa)['then'](function(_0x59f4b9){if(_0x59f4b9){_0xbf08e8=_0x59f4b9;return _0x59f4b9['getFields']();}return null;})[_0x2420('0x28')](function(_0x1a05c6){if(_0x1a05c6){if(!_0x1a05c6['length']){throw new db[(_0x2420('0x6a'))][(_0x2420('0x6b'))](_0x2420('0x6c'),0x193);}_0x3a970b=_0x1a05c6;return db[_0x2420('0x6d')][_0x2420('0x6e')]({'raw':!![]});}return null;})[_0x2420('0x28')](function(_0x2d58bc){if(_0x2d58bc){_0x4dfc2b=_['keyBy'](_0x2d58bc,'id');var _0x1304d2;var _0x1631d3=squel['select']();_0x1631d3[_0x2420('0x71')](_0xbf08e8[_0x2420('0x72')]);for(var _0x11f762=0x0;_0x11f762<_0x3a970b[_0x2420('0x3a')];_0x11f762+=0x1){_0x1304d2=_0x3a970b[_0x11f762][_0x2420('0x73')]?_0x4dfc2b[_0x3a970b[_0x11f762][_0x2420('0x73')]][_0x2420('0x74')]:_0x3a970b[_0x11f762][_0x2420('0x67')];_0x1304d2=_0x3a970b[_0x11f762][_0x2420('0x75')]?_['replace'](_0x1c1ec2[_0x3a970b[_0x11f762][_0x2420('0x75')]],'%s',_0x1304d2):_0x1304d2;_0x1304d2=_0x3a970b[_0x11f762]['format']?_[_0x2420('0x76')](_0x2444d1[_0x3a970b[_0x11f762][_0x2420('0x77')]],'%s',_0x1304d2):_0x1304d2;if(_0x3a970b[_0x11f762][_0x2420('0x78')]){_0x1631d3[_0x2420('0x66')](_0x1304d2);}_0x3a970b[_0x11f762][_0x2420('0x79')]&&_0x1631d3[_0x2420('0x3c')](_0x1304d2,_0x3a970b[_0x11f762][_0x2420('0x79')]===_0x2420('0x7a')?![]:!![]);_0x1631d3[_0x2420('0x67')](_0x1304d2,_0x3a970b[_0x11f762][_0x2420('0x7b')]||_0x1304d2);}if(_0xbf08e8[_0x2420('0x7c')]){_0xbf08e8[_0x2420('0x7c')]=JSON[_0x2420('0x82')](_0xbf08e8[_0x2420('0x7c')]);for(var _0xb0db2f=0x0;_0xb0db2f<_0xbf08e8[_0x2420('0x7c')][_0x2420('0x3a')];_0xb0db2f+=0x1){if(_0xbf08e8[_0x2420('0x7c')][_0xb0db2f][_0x2420('0x41')]&&_[_0x2420('0x60')](_0x5b74e4,_0xbf08e8[_0x2420('0x7c')][_0xb0db2f]['type'])&&_0xbf08e8[_0x2420('0x7c')][_0xb0db2f][_0x2420('0x7d')]&&_0xbf08e8[_0x2420('0x7c')][_0xb0db2f][_0x2420('0x7e')]&&_0xbf08e8['joins'][_0xb0db2f]['foreignKey']){_0x1631d3[_0xbf08e8[_0x2420('0x7c')][_0xb0db2f][_0x2420('0x41')]](_0xbf08e8[_0x2420('0x7c')][_0xb0db2f]['foreignTable'],null,util['format']('%s.%s\x20=\x20%s.%s',_0xbf08e8[_0x2420('0x72')],_0xbf08e8['joins'][_0xb0db2f][_0x2420('0x7d')],_0xbf08e8[_0x2420('0x7c')][_0xb0db2f][_0x2420('0x7e')],_0xbf08e8[_0x2420('0x7c')][_0xb0db2f][_0x2420('0x7f')]));}}}if(_0xbf08e8[_0x2420('0x81')]){_0xbf08e8[_0x2420('0x81')]=JSON[_0x2420('0x82')](_0xbf08e8[_0x2420('0x81')]);_0x1631d3[_0x2420('0x3e')](_0x45ba4c(_0xbf08e8[_0x2420('0x81')][_0x2420('0x66')]));}_0x441ed3=_0x1631d3[_0x2420('0x83')]();_0x1631d3[_0x2420('0x21')](_0x59f7ca);_0x1631d3[_0x2420('0x20')](0x0);logger['debug'](_0x2420('0x85'),_0x1631d3[_0x2420('0x86')]());return db[_0x2420('0x87')][_0x2420('0x34')](_0x1631d3['toString'](),{'type':db['sequelize']['QueryTypes'][_0x2420('0x92')]});}})['then'](function(_0x407beb){if(!_0x407beb[_0x2420('0x3a')]){throw new db['Sequelize']['ValidationErrorItem'](_0x2420('0x93'),0xcc);}if(_0x163cb4[_0x2420('0x94')]===_0x2420('0x95')){return null;}var _0x393487=_[_0x2420('0x42')](_0x163cb4,{'name':_0x163cb4[_0x2420('0x96')]||_0x163cb4[_0x2420('0x2d')]||_0xbf08e8[_0x2420('0x2d')],'basename':_0x255677,'savename':util[_0x2420('0x77')](_0x2420('0x97'),_0x163cb4['name']||_0xbf08e8[_0x2420('0x2d')],require(_0x2420('0x98'))[_0x2420('0x99')](0x4),_0x163cb4['output']||_0x2420('0x9a')),'reportId':_0xbf08e8['id'],'reportType':_0x2420('0x9b')});return db[_0x2420('0x9c')][_0x2420('0x4c')](_0x393487,{'raw':!![]});})[_0x2420('0x28')](function(_0xbecbb9){if(_0xbf08e8[_0x2420('0x72')]===_0x2420('0x9d')){_0x441ed3[_0x2420('0x3e')](_0xbf08e8['table']+'.calldate\x20BETWEEN\x20?\x20AND\x20?',_0x163cb4[_0x2420('0x9e')],_0x163cb4[_0x2420('0x9f')]);}else{_0x441ed3['where'](_0xbf08e8[_0x2420('0x72')]+_0x2420('0xa0'),_0x163cb4[_0x2420('0x9e')],_0x163cb4['endDate']);}if(_0xbecbb9){logger['info'](_0x2420('0xa1'),_0x441ed3[_0x2420('0x86')]());require(_0x2420('0xa2'))[_0x2420('0xa3')](path['join'](__dirname,_0x2420('0xa4'),_0xbecbb9['output']),[_0xbecbb9['id'],_0x441ed3[_0x2420('0x86')](),path['join'](__dirname,'../../files/reports',_0xbecbb9['savename']),_0x255677]);return _0xbecbb9;}else{var _0x2598cf=squel[_0x2420('0x70')]();_0x2598cf['from']('('+_0x441ed3[_0x2420('0x86')]()+')',_0x2420('0xa5'));_0x2598cf[_0x2420('0x67')](_0x2420('0xa6'),_0x2420('0x1f'));_0x441ed3[_0x2420('0x21')](_0x163cb4[_0x2420('0x21')]||_0x59f7ca);_0x441ed3['offset'](_0x163cb4[_0x2420('0x20')]||0x0);return dbH[_0x2420('0x87')]['query'](_0x2598cf[_0x2420('0x86')](),{'type':dbH[_0x2420('0x87')][_0x2420('0x88')]['SELECT']})['then'](function(_0x16ee63){if(!_0x16ee63[_0x2420('0x3a')]){_0x295f66=0x0;}else{_0x295f66=_0x16ee63[0x0][_0x2420('0x1f')]||0x0;}return dbH[_0x2420('0x87')][_0x2420('0x34')](_0x441ed3['toString'](),{'type':dbH['sequelize'][_0x2420('0x88')][_0x2420('0x92')]});})[_0x2420('0x28')](function(_0x3b8636){return{'rows':_0x3b8636||[],'count':_0x295f66};});}});}exports[_0x2420('0xa7')]=function(_0x25b23f,_0x24a28a){return runReport(_0x25b23f[_0x2420('0x49')],_0x25b23f[_0x2420('0x34')],_0x25b23f[_0x2420('0x43')])['then'](respondWithResult(_0x24a28a,null))[_0x2420('0x47')](handleError(_0x24a28a,null));};exports[_0x2420('0xa8')]=runReport;exports[_0x2420('0x34')]=function(_0x20de25,_0x50d44b){var _0x1f3cf3=0xa;var _0x2b97bf=[_0x2420('0x89'),'left_join',_0x2420('0x57'),_0x2420('0x8b')];var _0x31765f={'SUM':_0x2420('0x58'),'COUNT':_0x2420('0x8c'),'COUNT DISTINCT':_0x2420('0x59'),'MAX':_0x2420('0x8d'),'MIN':_0x2420('0x5a'),'AVG':_0x2420('0x8e'),'GROUP_CONCAT':_0x2420('0x5b'),'GROUP_CONCAT ASC':_0x2420('0x8f'),'GROUP_CONCAT DESC':_0x2420('0x5c')};var _0x25c94b={'SEC_TO_TIME':_0x2420('0x5d'),'DATE':_0x2420('0x5e'),'HOUR':_0x2420('0x5f'),'ROUND':_0x2420('0x90'),'UNIX_TIMESTAMP':_0x2420('0x91')};var _0x32fe3b=function(_0x5d1611){return!_[_0x2420('0x60')]([_0x2420('0xa9'),_0x2420('0x61'),_0x2420('0x62'),_0x2420('0x63')],_0x5d1611);};var _0x3477f0=function(_0x1550f6){if(!_0x1550f6||!_0x1550f6[_0x2420('0x64')][_0x2420('0x3a')]){return'';}for(var _0x125206='(',_0x37fc69=0x0;_0x37fc69<_0x1550f6[_0x2420('0x64')][_0x2420('0x3a')];_0x37fc69+=0x1){_0x37fc69>0x0&&(_0x125206+='\x20'+_0x1550f6[_0x2420('0x65')]+'\x20');_0x125206+=_0x1550f6[_0x2420('0x64')][_0x37fc69]['group']?_0x3477f0(_0x1550f6[_0x2420('0x64')][_0x37fc69][_0x2420('0x66')]):_0x1550f6[_0x2420('0x64')][_0x37fc69][_0x2420('0x67')]+'\x20'+_0x1550f6[_0x2420('0x64')][_0x37fc69][_0x2420('0x68')]+(_0x32fe3b(_0x1550f6[_0x2420('0x64')][_0x37fc69][_0x2420('0x68')])?'\x20'+_0x1550f6[_0x2420('0x64')][_0x37fc69][_0x2420('0xaa')]:'');}return _0x125206+')';};var _0xbb9642={'where':{'id':_0x20de25[_0x2420('0x49')]['id']}},_0x4ae840,_0x2ccf40,_0x54a9b2,_0x5215b4,_0x361f24;_0xbb9642=_[_0x2420('0x42')]({},_0xbb9642,_0x20de25[_0x2420('0x43')]);return db[_0x2420('0x44')][_0x2420('0x4b')](_0xbb9642)[_0x2420('0x28')](function(_0x53eb42){if(_0x53eb42){_0x4ae840=_0x53eb42;return _0x53eb42['getFields']();}return null;})[_0x2420('0x28')](function(_0x27efb0){if(_0x27efb0){if(!_0x27efb0['length']){throw new db[(_0x2420('0x6a'))]['ValidationErrorItem'](_0x2420('0x6c'),0x193);}_0x2ccf40=_0x27efb0;return db[_0x2420('0x6d')]['findAll']({'raw':!![]});}return null;})[_0x2420('0x28')](function(_0x3971c5){if(_0x3971c5){_0x54a9b2=_[_0x2420('0x6f')](_0x3971c5,'id');var _0x1110cc;var _0x26489c=squel[_0x2420('0x70')]();_0x26489c[_0x2420('0x71')](_0x4ae840[_0x2420('0x72')]);for(var _0x518584=0x0;_0x518584<_0x2ccf40[_0x2420('0x3a')];_0x518584+=0x1){_0x1110cc=_0x2ccf40[_0x518584][_0x2420('0x73')]?_0x54a9b2[_0x2ccf40[_0x518584][_0x2420('0x73')]]['metric']:_0x2ccf40[_0x518584][_0x2420('0x67')];_0x1110cc=_0x2ccf40[_0x518584][_0x2420('0x75')]?_[_0x2420('0x76')](_0x31765f[_0x2ccf40[_0x518584][_0x2420('0x75')]],'%s',_0x1110cc):_0x1110cc;_0x1110cc=_0x2ccf40[_0x518584]['format']?_[_0x2420('0x76')](_0x25c94b[_0x2ccf40[_0x518584][_0x2420('0x77')]],'%s',_0x1110cc):_0x1110cc;if(_0x2ccf40[_0x518584][_0x2420('0x78')]){_0x26489c[_0x2420('0x66')](_0x1110cc);}_0x2ccf40[_0x518584][_0x2420('0x79')]&&_0x26489c['order'](_0x1110cc,_0x2ccf40[_0x518584][_0x2420('0x79')]===_0x2420('0x7a')?![]:!![]);_0x26489c[_0x2420('0x67')](_0x1110cc,_0x2ccf40[_0x518584][_0x2420('0x7b')]||_0x1110cc);}if(_0x4ae840[_0x2420('0x7c')]){_0x4ae840[_0x2420('0x7c')]=JSON['parse'](_0x4ae840[_0x2420('0x7c')]);for(var _0x530b80=0x0;_0x530b80<_0x4ae840[_0x2420('0x7c')][_0x2420('0x3a')];_0x530b80+=0x1){if(_0x4ae840['joins'][_0x530b80][_0x2420('0x41')]&&_[_0x2420('0x60')](_0x2b97bf,_0x4ae840['joins'][_0x530b80][_0x2420('0x41')])&&_0x4ae840[_0x2420('0x7c')][_0x530b80][_0x2420('0x7d')]&&_0x4ae840[_0x2420('0x7c')][_0x530b80]['foreignTable']&&_0x4ae840[_0x2420('0x7c')][_0x530b80][_0x2420('0x7f')]){_0x26489c[_0x4ae840[_0x2420('0x7c')][_0x530b80][_0x2420('0x41')]](_0x4ae840[_0x2420('0x7c')][_0x530b80][_0x2420('0x7e')],null,util[_0x2420('0x77')](_0x2420('0x80'),_0x4ae840[_0x2420('0x72')],_0x4ae840[_0x2420('0x7c')][_0x530b80][_0x2420('0x7d')],_0x4ae840[_0x2420('0x7c')][_0x530b80][_0x2420('0x7e')],_0x4ae840[_0x2420('0x7c')][_0x530b80][_0x2420('0x7f')]));}}}if(_0x4ae840[_0x2420('0x81')]){_0x4ae840[_0x2420('0x81')]=JSON[_0x2420('0x82')](_0x4ae840[_0x2420('0x81')]);_0x26489c[_0x2420('0x3e')](_0x3477f0(_0x4ae840[_0x2420('0x81')][_0x2420('0x66')]));}_0x361f24=_0x26489c[_0x2420('0x83')]();_0x26489c[_0x2420('0x21')](_0x1f3cf3);_0x26489c[_0x2420('0x20')](0x0);logger[_0x2420('0x84')](_0x2420('0x85'),_0x26489c[_0x2420('0x86')]());return db[_0x2420('0x87')][_0x2420('0x34')](_0x26489c[_0x2420('0x86')](),{'type':db['sequelize'][_0x2420('0x88')]['SELECT']});}})[_0x2420('0x28')](function(){return{'sql':_0x361f24['toString']()};})['then'](respondWithResult(_0x50d44b,null))[_0x2420('0x47')](handleError(_0x50d44b,null));};